intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Các hệ quản trị CSDL: Chương 4 - ĐH Sư phạm TP. HCM

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PDF | Số trang:66

72
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu của bài giảng Các hệ quản trị CSDL: Chương 4 - Tổ chức khai thác là nhằm giúp cho các bạn biết được quy trình thực hiện các câu truy vấn; cách xây dựng những câu truy vấn một cách hiệu quả. Mời các bạn tham khảo bài giảng để hiểu rõ hơn về nội dung này.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Các hệ quản trị CSDL: Chương 4 - ĐH Sư phạm TP. HCM

  1. Trường Đại học Sư phạm thành phố Hồ Chí Minh Khoa Công nghệ thông tin CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TỔ CHỨC KHAI THÁC
  2. Mục tiêu ● Hiểu quy trình thực hiện các câu truy vấn ● Xây dựng những câu truy vấn một cách hiệu quả Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 2
  3. Tài liệu tham khảo [1] Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems (ch. 19), 6th Edition. [2] Jeffrey D. Ullman, Jennifer Widom, Hector Garcia-Monlina, Database Systems: The complete Book (ch. 15, ch. 16), 2001. [3] Nguyễn An Tế, Nguyễn Tiến Dũng, Nguyễn Thúy Ngọc, Slide bài giảng Các hệ CSDL, 2011-2012 Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 3
  4. Nội dung 1. Quy trình thực hiện câu truy vấn của DBMS 2. Tiền xử lý câu truy vấn 3. Chuyển đổi câu truy vấn 4. Tối ưu hóa câu truy vấn Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 4
  5. 1. Quy trình thực hiện câu truy vấn Câu truy vấn biểu diễn bằng ngôn ngữ cấp cao Kết quả Runtime Database Preprocessor Processor Hình thức trung gian của truy vấn (tree, graph) Code Query Code Query Optimizer Generator Cách thực hiện Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 5
  6. 1. Quy trình thực hiện câu truy vấn (tt.) Preprocessor Scanning: xác định các từ khóa, tên thuộc tính, tên các quan hệ,… Parsing: kiểm tra cú pháp ngôn ngữ, biểu diễn Parse Tree Validating: kiểm tra ngữ nghĩa: quan hệ, thuộc tính, kiểu dữ liệu Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 6
  7. 1. Quy trình thực hiện câu truy vấn (tt.) Query Optimizer lựa chọn chiến thuật thực hiện phù hợp cho việc xử lý câu truy vấn Query Code Generator phát sinh code để thực hiện kế hoạch đã được lựa chọn Runtime Database Processor biên dịch code của câu truy vấn để trả về kết quả truy vấn Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 7
  8. 1. Quy trình thực hiện câu truy vấn (tt.) SQL query Parse Query Query expression tree Select logical query plan Query Logical query plan tree Optimizer Select physical plan Physical query plan tree Execute plan Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 8
  9. Nội dung 1. Quy trình thực hiện câu truy vấn của DBMS 2. Tiền xử lý câu truy vấn 3. Chuyển đổi câu truy vấn 4. Tối ưu hóa câu truy vấn Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 9
  10. 2. Tiền xử lý câu truy vấn SELECT FROM WHERE IN = LIKE = Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 10
  11. Quy trình thực hiện câu truy vấn (tt.) NHANVIEN (manv, tennv, ngaysinh, phai, luong) THAMGIA (mada, manv, ngaybatdau, ngayketthuc) Liệt kê mã đề án mà nhân viên tham gia có lương >2.000.000 SELECT mada FROM THAMGIA WHERE manv IN ( SELECT manv FROM NHANVIEN WHERE luong >‘2.000.000’ Vẽ cây phân tích cú pháp (query expression tree) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 11
  12. SELECT FROM WHERE mada THAMGIA IN luong SELECT FROM WHERE > mada NHANVIEN luong 2.000.000 Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 12
  13. Nội dung 1. Quy trình thực hiện câu truy vấn của DBMS 2. Tiền xử lý câu truy vấn 3. Chuyển đổi câu truy vấn 3.1 Chuyển đổi từ SQL sang ĐSQH 3.2 Các quy tắc biến đổi tương đương trong ĐSQH 4. Tối ưu hóa câu truy vấn Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 13
  14. 3.1 Chuyển đổi từ SQL sang ĐSQH ● Query block: khối truy vấn đơn vị SELECT-FROM-WHERE-GROUP BY-HAVING dùng để chuyển sang ĐSQH ● Truy vấn lồng: tách thành khối lệnh ghép thành các khối truy vấn đơn vị (query blocks) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 14
  15. 3.1 Chuyển đổi từ SQL sang ĐSQH (tt.) SELECT honv, tennv FROM NHANVIEN WHERE luong> (SELECT MAX (luong) FROM NHANVIEN WHERE maphong = 5); SELECT honv, tennv SELECT MAX (luong) FROM NHANVIEN FROM NHANVIEN WHERE luong > C WHERE maphong = 5 πhonv, tennv (σluong>C(NHANVIEN)) ℱMAX luong (σmaphong=5 (NHANVIEN)) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 15
  16. Nội dung 1. Quy trình thực hiện câu truy vấn của DBMS 2. Tiền xử lý câu truy vấn 3. Chuyển đổi câu truy vấn 3.1 Chuyển đổi từ SQL sang ĐSQH 3.2 Các quy tắc biến đổi tương đương trong ĐSQH 4. Tối ưu hóa câu truy vấn Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 16
  17. 3.2 Các quy tắc biến đổi – QT 1 QT1: Xử lý các toán tử AND trong điều kiện  c1 AND c 2...AND cn R   c1  c 2 ... cn R ... NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong)  maphong = ‘KT’ AND phai = ‘NAM’ (NHANVIEN)   maphong = ‘KT’(  phai = ‘NAM’ (NHANVIEN)) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 17
  18. 3.2 Các quy tắc biến đổi – QT 2 QT2: Thay đổi thứ tự của các phép chọn  c1  c 2 R    c 2  c1 R  NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong)  maphong = ‘KT’( phai = ‘NAM’ (NHANVIEN))   phai = ‘NAM’( maphong = ‘KT’ (NHANVIEN)) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 18
  19. 3.2 Các quy tắc biến đổi – QT 3 QT3: Xử lý các phép chiếu  DS1  DS 2 ... DSn R...   DS1 R NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong)  manv, honv, tennv ( manv, honv, tennv, ngaysinh (NHANVIEN))   manv, honv, tennv (NHANVIEN) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 19
  20. 3.2 Các quy tắc biến đổi – QT 4 QT4: Thay đổi thứ tự các phép chọn và phép chiếu  A1, A2,...,An  c R   c  A1, A2,...,An R Nếu như c  [A1…An] NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong)  manv, honv, tennv, phai ( phai = ‘NAM’ (NHANVIEN))   phai= ‘NAM’ ( manv, honv, tennv, phai (NHANVIEN)) Nguyễn Thúy Ngọc Các hệ CSDL- Tổ chức khai thác] 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0