Bài giảng Chương 4: Đại số quan hệ

59 25 0
Bài giảng Chương 4: Đại số quan hệ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung chương 4 trình bày đến người học những vấn đề liên quan đến Đại số quan hệ, cụ thể như: Ngôn ngữ truy vấn (Query Language), đại số quan hệ, các phép toán tập hợp, các phép toán quan hệ, các phép toán mở rộng. Mời các bạn cùng tham khảo!

1 Chương Nội dung Ngôn ngữ truy vấn (Query Language)  Đại số quan hệ  Các phép toán tập hợp  Các phép toán quan hệ  Các phép tốn mở rộng  Ngơn ngữ truy vấn (Query Language)  Là ngôn ngữ đặc biệt dùng để đặt câu hỏi (Query) có liên quan đến liệu database  Ngôn ngữ phi thủ tục (non-procedural language) cho phép người dùng (what) họ muốn mà không cần cách thực (how) để kết  SQL ngôn ngữ phi thủ tục Đại số quan hệ  Đại số quan hệ ngôn ngữ thủ tục mức cao (highlevel procedure language) cho phép DBMS tạo kết truy vấn quan hệ từ quan hệ đầu vào  Query đại số quan hệ (relational algebra) tạo cách kết hợp biểu thức thơng qua tốn tử (operators) Mỗi query mơ tả trình tự từng bước để tính tốn cho câu trả lời mong muốn SQL query Parser Relational algebra Expression Query Optimizer Query Execution Plan Code generator Executable Code Đại số quan hệ Relational Algebra  Các truy vấn đại số tạo thành tập hợp phép toán (operators)  Mỗi phép toán nhận quan hệ (relation instances) đối số trả quan hệ kết  Biểu thức đại số quan hệ định nghĩa đệ quy Các phép toán đại số quan hệ  Gồm nhóm:  Các phép toán tập hợp: union, intersection, difference Cartesian product  Các phép toán quan hệ: select, project, join and divide Phép toán union Hai quan hệ R1 R2 phải khả hợp (unioncompatible ) Phép toán intersection Hai quan hệ R1 R2 phải khả hợp (unioncompatible ) Phép difference 10 Hai quan hệ R1 R2 phải khả hợp (unioncompatible ) Phép chia (Division)  45 Xét query sau:  Tên môn học mà tất giáo sư khoa CS (computer Science) dạy?  Tìm tất sinh viên học tất môn học dạy giáo sư khoa CS?  Cần tìm quan hệ khớp (match) với tất quan hệ khác Phép chia (Division) 46 Cho quan hệ r R(A1,…, An,B1, , Bm) s S(B1,…,Bm)  Phép chia quan hệ r cho s, ký hiệu r/s với s   cho kết quan hệ q T (A1, …, An) bao gồm cho s , thuộc r  r/s if and only if {} x s  r  Ví dụ 47 Ví dụ phép chia PROFCS Id 101 555 PROFCOURSES Id 783 009 121 555 101 900 101 CrsCode CS305 CrsCode M123 M123 EE101 CS305 CS315 MA23 CS305 Kết PROFCOURSES/PROFCS Môn học mà tất giáo sư CS dạy Ví dụ  49 Sinh viên học tất môn học dạy giáo sư khoa CS (TEACHING1(Id,CrsCode),ProfId,CrsCode(TEACHING)) (CS_TEACHING, TEACHING1/ Id(DeptIdr=‘CS’(PROFESSOR) ) (STUDENT1(StudId, Name), Id,Name(STUDENT)) (STUDENT2, STUDENT1 STUDENT2 /CS_TEACHING (StudId,CrsCode(TRANSCRIPT)) Exercise  Cho lược đồ quan hệ sau: 50 Query   51 Find the names of sailors who have reserved boat 103 Lệnh tối ưu hơn? Query  52 Find the names of sailors who have reserved a red or a green boat Query  53 Find the name of sailors who have reserved at least two boats Query  54 Find the names of sailors who have reserved all boats Các phép toán đại số quan hệ mở rộng55   Phép chiếu tổng quát (generalized projection) Các hàm gộp nhóm liệu (aggregate functions and grouping) Phép chiếu tổng quát  56 Dạng tổng quát phép chiếu 𝜋𝐹1,𝐹2,…,𝐹𝑛 𝑅 Với F1, F2, ,Fn hàm thuộc tính R chứa phép tốn số học số Ví dụ 57 Khảo sát quan hệ sau: EMPLOYEE(Ssn,Salarym Deduction, Years_service) Cần tạo báo cáo số liệu sau: Net Salary = Salary – Eduction Bonus = 2000 * Years_service Tax = 0.25* Salary  𝑅𝐸𝑃𝑂𝑅𝑇 ← 𝜌(𝑆𝑠𝑛,𝑁𝑒𝑡𝑆𝑎𝑙𝑎𝑟𝑦,𝐵𝑜𝑛𝑢𝑠,𝑇𝑎𝑥) (𝜋𝑆𝑠𝑛,𝑆𝑎𝑙𝑎𝑟𝑦−𝐷𝑒𝑑𝑢𝑐𝑡𝑖𝑜𝑛,2000∗𝑌𝑒𝑎𝑟𝑠𝑒𝑟𝑣𝑖𝑐𝑒,0.25∗𝑆𝑎𝑙𝑎𝑟𝑦 (EMPLOY EE)) Các hàm gộp nhóm liệu  Hàm gộp dùng để thực thống kê đơn giản truy vấn, bao gồm:   58 SUM, AVERAGE, MAX, MIN, COUNT Dùng biểu tượng ℑ (script F) để xác định phép toán liên quan đến hàm gộp < 𝑔𝑟𝑜𝑢𝑝𝑖𝑛𝑔 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒 >ℑ < 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 𝑙𝑖𝑠𝑡 >(R)   danh sách thuộc tính R danh sách cặp ( ) Ví dụ  59 Để đếm số nhân viên lương bình qn phịng ban (Dno mã phòng ban) ... phi thủ tục Đại số quan hệ  Đại số quan hệ ngôn ngữ thủ tục mức cao (highlevel procedure language) cho phép DBMS tạo kết truy vấn quan hệ từ quan hệ đầu vào  Query đại số quan hệ (relational... Code Đại số quan hệ Relational Algebra  Các truy vấn đại số tạo thành tập hợp phép toán (operators)  Mỗi phép toán nhận quan hệ (relation instances) đối số trả quan hệ kết  Biểu thức đại số quan. .. (unioncompatible ) Phép nhân quan hệ (Cartesian product ) 11 Hai quan hệ R1 R2 không cần khả hợp (union-compatible ) Các phép toán quan hệ   12 Các phép toán quan hệ thực quan hệ R điều kiện F Điều

Ngày đăng: 21/05/2021, 13:33

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan