Bài giảng Cơ sở dữ liệu: Chương 4 Đại số quan hệ do TS. Nguyễn Quốc Tuấn biên soạn trình bày các nội dung như: Tổng quan, đại số quan hệ, phép toán một ngôi, phép toán hai ngôi, phép toán khác,...Mời các bạn cùng tham khảo để nắm chi tiết nội dung bài học.
Đại số quan hệ Ths.Nguyễn Quốc Tuấn Bm Mạng & HTTT 26/02/08 Đại số quan hệ Nội dung Tổng quan Đại số quan hệ 26/02/08 Phép tốn ngơi Phép tốn hai ngơi Phép toán khác Đại số quan hệ Tổng quan Đại số quan hệ Là tập phép tốn sở mơ hình liệu quan hệ Biểu thức đại số quan hệ chuỗi phép toán Kết biểu thức thể quan hệ Ý nghĩa 26/02/08 Cơ sở hình thức cho phép tốn mơ hình quan hệ Cơ sở cài đặt tối ưu hóa câu hỏi HQT CSDL quan hệ Được áp dụng SQL Đại số quan hệ Tổng quan Toán hạng Các thể quan hệ Các tập hợp Toán tử phép toán 26/02/08 Phép toán tập hợp Hội, giao, hiệu, tích Cartesian Phép tốn quan hệ Chọn, chiếu, kết, chia, đổi tên Một số phép toán khác Đại số quan hệ Phép tốn ngơi Là phép tốn tác động lên quan hệ Bao gồm: Phép chọn (Select) : σ Phép chiếu (Project): π Phép đổi tên (Rename): ρ 26/02/08 Đại số quan hệ Phép chọn – Select (σ) - Để chọn liệu thỏa điều kiện chọn từ quan hệ Ví dụ: 26/02/08 Đại số quan hệ Phép chọn – Select (σ) - Ký hiệu σ(r) Cú pháp σ(r)={t|t∈r ĐK(t) đúng} ĐK 26/02/08 biểu thức logic Chứa mệnh đề có dạng Tốn tử so sánh: =, , ≥, ≠ Các mệnh đề nối tốn tử logic: ∧, ∨, ¬ Đại số quan hệ Phép chọn – Select (σ) - Đặc trưng phép chọn 26/02/08 Phép chọn có tính giao hốn σ (σ(r)) = σ(σ(r)) Kết quan hệ Có bậc với r Có số số r Đại số quan hệ Phép chiếu – Project (π) - Để chọn cột ứng với thuộc tính quan hệ Ví dụ: 26/02/08 Đại số quan hệ Phép chiếu – Project (π) - Ký hiệu: π(r) Cú pháp π(r) = {t[DSTT] | t∈ r} 26/02/08 DSTT danh sách thuộc tính Đại số quan hệ 10 Một số ví dụ Cho biết tên, địa nhân viên phòng Nghiên cứu Cho biết tên nhân viên tham gia tất dự án phòng số điều phối 26/02/08 Đại số quan hệ 35 Một số ví dụ q1 ← σTenPB = ‘Nghien cuu’(phongban) q2 ← q1 * nhanvien q ← πHo, Ten, Dchi(q2) q1 ← πMaDA(σPhongQL = 5(duan)) q2 ← πMaNV, MaDA(thamgia) q3 ← q2 ÷ q1 q ← πHo, Ten(q3 * nhanvien) 26/02/08 Đại số quan hệ 36 Các phép toán khác Để biểu diễn truy vấn mà khơng thể thực với phép tốn đại số quan hệ sở Các truy vấn mang tính chất thông kê đơn giản tập hợp giá trị nhóm tập hợp giá trị liệu Các truy vấn dùng để tạo báo cáo Bao gồm Hàm gộp (Aggregate Function) Phép nhóm liệu (Grouping) Phép kết nối mở rộng (Outer Join) 26/02/08 Đại số quan hệ 37 Hàm gộp phép tốn nhóm - Hàm gộp Avg, sum, max, min, count Cú pháp ℱ 26/02/08 (R) danh sách thuộc tính thuộc R danh sách cặp (hàm tập hợp, thuộc tính) áp dụng nhóm Đại số quan hệ 38 Hàm gộp phép tốn nhóm - 26/02/08 Đại số quan hệ 39 Phép kết nối mở rộng Để giữ lại tất quan hệ bất chấp chúng có liên kết với quan hệcịn lại hay khơng nhằm tránh thông tin tạo báo cáo Có dạng Mở rộng trái (Left Outer Join) s r s Mở rộng hai phía (Full Outer Join) 26/02/08 Mở rộng phải (Right Outer Join) r r s Đại số quan hệ 40 Phép kết nối mở rộng trái Giữ lại tất quan hệ bên trái phép tốn kết nối mà khơng liên kết với quan hệ bên phải 26/02/08 Đại số quan hệ 41 Phép kết nối mở rộng phải Giữ lại tất quan hệ bên phải phép tốn kết nối mà khơng liên kết với quan hệ bên trái 26/02/08 Đại số quan hệ 42 Phép kết nối mở rộng phía Giữ lại tất quan hệ hai bên phép toán kết mà không liên kết với quan hệ lại 26/02/08 Đại số quan hệ 43 Một số ví dụ Hãy cho biết mã số, tổng số nhân viên mức lương trung bình phòng ban Với nhân viên cho biết họ, tên tên phòng họ trưởng phòng 26/02/08 Đại số quan hệ 44 Một số ví dụ ρ(MaPB, SoNV, LuongTB)(MaPBℱCOUNT(MaNV), AVG(Luong) (nhanvien)) q1 ← nhanvien phongban MaNV = TrPhong q ← πHo, Ten, TenPB(q1) 26/02/08 Đại số quan hệ 45 Các phép sửa đổi CSDL Thêm (Insert) Cập nhật (Update) Xóa (Delete) Các phép sửa đổi liệu sử dụng phép gán 26/02/08 Đại số quan hệ 46 Thêm Cú pháp r← r ∪ E rlà quan hệ E biểu thức đại số quan hệ Ví dụ account ← account ∪ {(“A-973”, “Perryridge”, 1200)} depositor ← depositor ∪ {(“Smith”, “A-973”)} 26/02/08 Đại số quan hệ 47 Xóa Cú pháp r← r − E r quan hệ E biểu thức đại số quan hệ Ví dụ account ← account – σ branch_name = “Perryridge” (account ) loan ← loan – σ amount ≥ and amount ≤ 50 (loan) 26/02/08 Đại số quan hệ 48 Cập nhật Cú pháp r ← ∏ F1,F2, ,Fn (r) r quan hệ Fi thuộc tính Ví dụ account ← ∏ account_number, branch_name, balance * 1.05 (account) 26/02/08 Đại số quan hệ 49 ... Là tập phép tốn sở mơ hình liệu quan hệ Biểu thức đại số quan hệ chuỗi phép toán Kết biểu thức thể quan hệ Ý nghĩa 26/02/08 Cơ sở hình thức cho phép tốn mơ hình quan hệ Cơ sở cài đặt tối... s = { t | t ∈ ∏ R-S (r) ∧ ∀ u ∈ s ( (t,u) ∈ r ) } 26/02/08 Đại số quan hệ 32 Phép chia – Division - 26/02/08 Đại số quan hệ 33 Phép chia – Division - 26/02/08 Đại số quan hệ 34 Một số ví dụ ... số quan hệ 44 Một số ví dụ ρ(MaPB, SoNV, LuongTB)(MaPBℱCOUNT(MaNV), AVG(Luong) (nhanvien)) q1 ← nhanvien phongban MaNV = TrPhong q ← πHo, Ten, TenPB(q1) 26/02/08 Đại số quan hệ 45 Các phép