![](images/graphics/blank.gif)
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Nguyễn Trường Sơn
lượt xem 4
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 Xử lý câu truy vấn cung cấp cho người học những kiến thức như: Phân tích cú pháp ngữ nghĩa; Biến đổi sang Đại số Quan hệ; Tối ưu hóa cây truy vấn; Ước lượng kích thước cây truy vấn; Phát sinh và thực thi mã lệnh. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Nguyễn Trường Sơn
- LOGO HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Chương 5: XỬ LÝ CÂU TRUY VẤN GVLT: Nguyễn Trường Sơn 1
- Nội dung chi tiết § Giới thiệu § Phân tích cú pháp -‐ ngữ nghĩa § Biến đổi sang Đại số Quan hệ § Tối ưu hóa cây truy vấn § Ước lượng kích thước cây truy vấn § Phát sinh và thực thi mã lệnh 2
- Giới thiệu § Xét hai quan hệ R và S nhu sau : – R(A, B, C) – S(C, D, E) § Xét câu truy vấn sau đây trên R va S SELECT R.B, S.D FROM R, S WHERE R.A=‘c’ And S.E=2 And R.C=S.C § Nhận xét – Một câu truy vấn có rất nhiều cách thực hiện – Tùy trường hợp mà các cách thực hiện được đánh giá là tốt hay dở 3
- Giới thiệu (tt) § Xử lý của DBMS – Cách 1: ΠB,D [ σR.A=‘c’ ∧ S.E=2 ∧ R.C = S.C (RxS)] – Cách 2: ΠB,D [ σR.A=‘c’ (R) σS.E=2 (S)] – Cách 3: Sử dụng chỉ mục trên R.A và S.C • Tìm các bộ trong R thỏa R.A=‘c’ • Với mỗi bộ tìm thấy, tìm tiếp các bộ trong S thỏa R.C=S.C • Bỏ đi những bộ S.E ≠ 2 • Chiếu trên thuộc tính B và D § DBMS chọn cách nào ? Mục tiêu chương: Tập trung vào xử lý truy vấn của RDBMS 4
- Giới thiệu (tt) § Quy trình xử lý câu truy vấn Câu truy vấn Kết quả truy vấn Phân tích cú pháp Thực thi mã Kiểm tra ngữ nghĩa Phát sinh mã Đưa về dạng Tối ưu hóa Biểu diễn trong 5
- Nội dung chi tiết § Giới thiệu § Phân tích cú pháp -‐ ngữ nghĩa § Biến đổi sang Đại số Quan hệ § Tối ưu hóa cây truy vấn § Ước lượng kích thước cây truy vấn § Phát sinh và thực thi mã lệnh 6
- Phân tích cú pháp và ngữ nghĩa Kiểm tra câu truy Câu truy vấn Kết quả truy vấn vấn có đúng cú pháp hay không Phân tích cú pháp Thực thi mã Kết quả cho ra là 1 Cây phân tích (parse tree) Kiểm tra ngữ nghĩa Phát sinh mã Đưa về dạng Tối ưu hóa Biểu diễn trong 7
- Phân tích cú pháp và ngữ nghĩa (tt) § Cây cú pháp: SELECT FROM WHERE = … … IN LIKE AND … 8
- Ví dụ 1 § Xét hai quan hệ sau : – Customer(cusID, cusNm, cusStreet, cusCity) – Account(accID, cusID, balance) § Và câu truy vấn SELECT cusNm FROM Customer WHERE cusID IN ( SELECT cusID FROM Account WHERE balance = 100) 9
- Ví dụ 1 (tt) SELECT FROM WHERE IN cusNm Customer cusID SELECT FROM WHERE = cusID Account balance 100 10
- Ví dụ 2 § Xét hai quan hệ sau đây : – Customer(cusID, cusNm, cusStreet, cusCity) – Account(accID, cusID, balance) § Và câu truy vấn sau: SELECT cusNm FROM Customer, Account WHERE Customer.cusID = Account.cusID AND balance = 100 11
- Ví dụ 2 (tt) SELECT FROM WHERE , cusNm Customer Account AND = = Customer.cusID Account.cusID balance 100 12
- Phân tích cú pháp và ngữ nghĩa Câu truy vấn Kết quả truy vấn Kiểm tra ngữ nghĩa giữa Quan hệ trong mệnh đề Phân tích cú pháp Thực thi mã From với Thuộc tính trong các mệnh đề khác Kiểm tra ngữ nghĩa Phát sinh mã Kiểm tra kiểu dữ liệu có phù hợp với thuộc tính hay không. Tên thuộc tính có nhập nhằng không Đưa về dạng Tối ưu hóa Biểu diễn trong 13
- Nội dung chi tiết § Giới thiệu § Phân tích cú pháp -‐ ngữ nghĩa § Biến đổi sang Đại số Quan hệ § Tối ưu hóa cây truy vấn § Ước lượng kích thước cây truy vấn § Phát sinh và thực thi mã lệnh 14
- Biến đổi sang ĐSQH Câu truy vấn Kết quả truy vấn Phân tích cú pháp Thực thi mã Dạng biểu diễn trong : Chính là Biểu thức Đại số Quan hệ Kiểm tra ngữ nghĩa Phát sinh mã Biểu diễn dưới dạng Cây : Đưa về dạng Cây Đại số Quan hệ Tối ưu hóa Biểu diễn trong (logical query plan) 15
- § Câu truy vấn được phân rã thành các query block (QB). – Query Block là đơn vị cơ bản để có thể chuyển sang các biểu thức ĐSQH và tối ưu hoá – Một QB chứa một biểu thức đơn SELECT-‐ FROM-‐WHERE-‐GROUP BY – HAVING – Các câu truy vấn lồng trong 1 câu truy vấn là các QB độc lập. – Các toán tử gom nhóm (max, min, sum, count) được thể hiện dùng ĐSQH mở rộng. – Mỗi câu truy vấn được biểu diễn sang dạng ĐSQH dạng biểu thức hoặc cây truy vấn (query tree) 16
- Biến đổi sang ĐSQH (tt) § Truy vấn đơn: – Xét câu trúc , sử dụng quy tắc • Thay thế thành các biến quan hệ – Sử dụng phép tích cartesian (X) cho các biến quan hệ • Thay thế thành phép chọn σC • Thay thế thành phép chiếu πL – Kết quả là một Cây truy vấn π L σ C x R S T … 17
- Xét ví dụ 2 πcusNm σCustomer.cusID=Account.cusID ∧ balance=100 x Customer Account 18
- Biến đổi sang ĐSQH (tt) § Truy vấn lồng: Tồn tại câu truy vấn con S trong – Áp dụng qui tắc cho truy vấn con S – Sử dụng phép chọn 2 biến (two-‐argument selection) • Nút là phép chọn không có tham số • Nhánh con trái là biến quan hệ R • Nhánh con phải là áp dụng cho mỗi bộ trong R σ Câu truy vấn con R Tuple Operator S 19
- Xét ví dụ 1 (Lồng phân cấp) πcusNm σ Customer S IN πcusID σbalance=100 cusID Account 20
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p |
188 |
26
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p |
118 |
14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p |
111 |
11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p |
162 |
9
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 0: Giới thiệu
2 p |
31 |
7
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p |
23 |
6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p |
100 |
6
-
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ
8 p |
53 |
5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p |
92 |
5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p |
54 |
5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p |
61 |
4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p |
55 |
4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p |
68 |
4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Lê Thị Minh Nguyện
11 p |
76 |
4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p |
78 |
4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p |
56 |
3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p |
68 |
2
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 8 - Lê Thị Minh Nguyện
5 p |
76 |
1
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)