Bài giảng Cơ sở dữ liệu (Database) - Chương 4: Đại số quan hệ

Nội dung chi tiết

ƒ Giới thiệu

ƒ Đại số quan hệ

ƒ Phép toán tập hợp

ƒ Phép chọn

ƒ Phép chiếu

ƒ Phép tích Cartesian

ƒ Phép kết

ƒ Phép chia

ƒ Các phép toán khác

ƒ Các thao tác cập nhật trên quan hệ

pdf30 trang | Chia sẻ: phuongt97 | Lượt xem: 725 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở dữ liệu (Database) - Chương 4: Đại số quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4 Đại số quan hệ Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 2 1 Giới thiệu ƒ Xét một số xử lý trên quan hệ NHANVIEN - Thêm mới một nhân viên - Chuyển nhân viên có tên là “Tùng” sang phòng số 1 - Cho biết họ tên và ngày sinh các nhân viên có lương trên 20000 TENNV HONV NGSINH DCHI PHAI LUONG PHONG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 51 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Quang Pham 11/10/1937 450 TV HN Nam 55000 1 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 3 Giới thiệu (tt) ƒ Có 2 loại xử lý - Làm thay đổi dữ liệu (cập nhật) y Thêm mới, xóa và sửa - Không làm thay đổi dữ liệu (rút trích) y Truy vấn (query) ƒ Thực hiện các xử lý - Đại số quan hệ (Relational Algebra) y Biểu diễn câu truy vấn dưới dạng biểu thức - Phép tính quan hệ (Relational Calculus) y Biểu diễn kết quả - SQL (Structured Query Language) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 4 2 Nhắc lại ƒ Đại số - Toán tử (operator) - Toán hạng (operand) ƒ Trong số học - Toán tử: +, -, *, / - Toán hạng - biến (variables): x, y, z - Hằng (constant) - Biểu thức y (x+7) / (y-3) y (x+y)*z and/or (x+7) / (y-3) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 5 Đại số quan hệ ƒ Biến là các quan hệ - Tập hợp (set) ƒ Toán tử là các phép toán (operations) - Trên tập hợp y Hội ∪ (union) y Giao ∩ (intersec) y Trừ − (difference) - Rút trích 1 phần của quan hệ y Chọn σ (selection) y Chiếu π (projection) - Kết hợp các quan hệ y Tích Cartesian × (Cartesian product) y Kết (join) - Đổi tên ρ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 6 3 Đại số quan hệ (tt) ƒ Hằng số là thể hiện của quan hệ ƒ Biểu thức - Được gọi là câu truy vấn - Là chuỗi các phép toán đại số quan hệ - Kết quả trả về là một thể hiện của quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 7 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 8 4 Phép toán tập hợp ƒ Quan hệ là tập hợp các bộ - Phép hội R ∪ S - Phép giao R ∩ S - Phép trừ R − S ƒ Tính khả hợp (Union Compatibility) - Hai lược đồ quan hệ R(A1, A2, , An) và S(B1, B2, , Bn) là khả hợp nếu y Cùng bậc n y Và có DOM(Ai)=DOM(Bi) , 1≤ i ≤ n ƒ Kết quả của ∪, ∩, và − là một quan hệ có cùng tên thuộc tính với quan hệ đầu tiên (R) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 9 Phép toán tập hợp (tt) ƒ Ví dụ NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN Tung 12/08/1955 Nam Trinh 04/05/1986 Nu Hang 07/19/1968 Nu Khang 10/25/1983 Nam Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu Hung 09/15/1962 Nam Minh 02/28/1942 Nam Chau 12/30/1988 Nu Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 10 5 Phép hội ƒ Cho 2 quan hệ R và S khả hợp ƒ Phép hội của R và S - Ký hiệu R ∪ S - Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai (các bộ trùng lắp sẽ bị bỏ) R ∪ S = { t / t∈R ∨ t∈S } ƒ Ví dụ R + S = { t / t∈R ∨ t∈S } R AB S AB R ∪ S AB α 1 α 2 α 1 α 2 β 3 α 2 β 1 β 1 α 2 β 3 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 11 Phép giao ƒ Cho 2 quan hệ R và S khả hợp ƒ Phép giao của R và S - Ký hiệu R ∩ S - Là một quan hệ gồm các bộ thuộc R đồng thời thuộc S R ∩ S = { t / t∈R ∧ t∈S } ƒ Ví dụ R * S = { t / t∈R ∧ t∈S } R AB S AB R ∩ S AB α 1 α 2 α 2 α 2 β 3 β 1 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 12 6 Phép trừ ƒ Cho 2 quan hệ R và S khả hợp ƒ Phép giao của R và S - Ký hiệu R − S - Là một quan hệ gồm các bộ thuộc R và không thuộc S R − S = { t / t∈R ∧ t∉S } ƒ Ví dụ R AB S AB R − S AB α 1 α 2 α 1 α 2 β 3 β 1 β 1 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 13 Các tính chất ƒ Giao hoán R ∪ S = S ∪ R R ∩ S = S ∩ R ƒ Kết hợp R ∪ (S ∪ T) = (R ∪ S) ∪ T R ∩ (S ∩ T) = (R ∩ S) ∩ T Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 14 7 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 15 Phép chọn ƒ Được dùng để lấy ra các bộ của quan hệ R ƒ Các bộ được chọn phải thỏa mãn điều kiện chọn P ƒ Ký hiệu σ P (R) ƒ P là biểu thức gồm các mệnh đề có dạng - - y gồm , ≤ , ≥ , ≠ , = y Các mệnh đề được nối lại nhờ các phép ∧ , ∨ , ¬ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 16 8 Phép chọn (tt) ƒ Kết quả trả về là một quan hệ - Có cùng danh sách thuộc tính với R - Có số bộ luôn ít hơn hoặc bằng số bộ của R ƒ Ví dụ (R) R ABC D σ (A=B)∧(D>5) α α 1 7 ABC D α β 5 7 β β 12 3 α α 1 7 β β 23 10 β β 23 10 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 17 Phép chọn (tt) ƒ Phép chọn có tính giao hoán σ p1 (σ p2 (R)) = σ p2 (σ p1 (R)) = σ p1 ∧ p2 (R) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 18 9 Ví dụ 1 ƒ Cho biết các nhân viên ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: PHG - Điều kiện: PHG=4 σ PHG=4 (NHANVIEN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 19 Ví dụ 2 ƒ Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các nhân viên có lương trên 30000 ở phòng 5 - Quan hệ: NHANVIEN - Thuộc tính: LUONG, PHG - Điều kiện: y LUONG>25000 và PHG=4 hoặc y LUONG>30000 và PHG=5 σ (LUONG>25000 ∧ PHG=4) ∨ (LUONG>30000 ∧ PHG=5) (NHANVIEN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 20 10 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 21 Phép chiếu ƒ Được dùng để lấy ra một vài cột của quan hệ R ƒ Ký hiệu πA1, A2, , Ak(R) ƒ Kết quả trả về là một quan hệ - Có k thuộc tính - Có số bộ luôn ít hơn hoặc bằng số bộ của R ƒ Ví dụ R ABC AC α 10 1 α 1 α 20 1 πA,C (R) α 1 β 30 1 β 1 β 40 2 β 2 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 22 11 Phép chiếu (tt) ƒ Phép chiếu không có tính giao hoán πX,Y (R) = πX (πY (R)) πA1, A2, , An(πA1, A2, , Am(R)) = πA1, A2, , An (R) , với n ≤ m Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 23 Ví dụ 3 ƒ Cho biết họ tên và lương của các nhân viên - Quan hệ: NHANVIEN - Thuộc tính: HONV, TENNV, LUONG πHONV,TENNV,LUONG (NHANVIEN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 24 12 Phép chiếu tổng quát ƒ Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính ƒ Ký hiệu πF1, F2, , Fn (E) - E là biểu thức ĐSQH - F1, F2, , Fn là các biểu thức số học liên quan đến y Hằng số y Thuộc tính trong E Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 25 Phép chiếu tổng quát (tt) ƒ Ví dụ - Cho biết họ tên của các nhân viên và lương của họ sau khi tăng 10% πHONV, TENNV, LUONG*1.1 (NHANVIEN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 26 13 Chuỗi các phép toán ƒ Kết hợp các phép toán đại số quan hệ - Lồng các biểu thức lại với nhau πA1, A2, , Ak (σP (R)) σP (πA1, A2, , Ak (R)) - Thực hiện từng phép toán một y B1 σP (R) y B2 πA1, A2, , Ak (Quan hệ kết quảởB1) Cần đặt tên cho quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 27 Phép gán ƒ Được sử dụng để nhận lấy kết quả trả về của một phép toán - Thường là kết quả trung gian trong chuỗi các phép toán ƒ Ký hiệu ← ƒ Ví dụ - B1 S ← σP (R) - B2 KQ ← πA1, A2, , Ak (S) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 28 14 Phép đổi tên ƒ Được dùng để đổi tên - Quan hệ Xét quan hệ R(B, C, D) ρS(R) : Đổi tên quan hệ R thành S - Thuộc tính ρX, C, D (R) : Đổi tên thuộc tính B thành X Đổi tên quan hệ R thành S và thuộc tính B thành X ρS(X,C,D)(R) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 29 Ví dụ 7 ƒ Cho biết họ và tên nhân viên làm việc ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: HONV, TENNV - Điều kiện: PHG=4 ƒ C1: πHONV, TENNV (σPHG=4 (NHANVIEN)) ƒ C2: NV_P4 ← σPHG=4 (NHANVIEN) KQ ← πHONV, TENNV (NV_P4) KQ(HO, TEN) ← πHONV, TENNV (NV_P4) ρKQ(HO, TEN) (πHONV, TENNV (NV_P4)) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 30 15 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 31 Phép tích Cartesian ƒ Được dùng để kết hợp các bộ của các quan hệ lại với nhau ƒ Ký hiệu R × S ƒ Kết quả trả về là một quan hệ Q - Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S - Nếu R có u bộ và S có v bộ thì Q sẽ có u × v bộ - Nếu R có n thuộc tính và Q có m thuộc tính thì Q sẽ có n + m thuộc tính (R+ ∩ Q+ ≠∅) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 32 16 Phép tích Cartesian (tt) ƒ Ví dụ R × S R AB α 1 ABXCD β 2 α 1 α 10 + α 1 β 10 + α 1 β 20 - S BCXCD α 1 γ 10 - α 10 + β 2 α 10 + β 10 + β 2 β 10 + β 20 - β 2 β 20 - γ 10 - β 2 γ 10 - ρ(X,C,D) (S) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 33 Phép tích Cartesian (tt) ƒ Ví dụ unambiguous R AB R × S AR.BS.B C D α 1 β 2 α 1 α 10 + α 1 β 10 + α 1 β 20 - S BCD α 1 γ 10 - β 2 α 10 + α 10 + β 2 β 10 + β 10 + β 2 β 20 - β 20 - β 2 γ 10 - γ 10 - Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 34 17 Phép tích Cartesian (tt) ƒ Thông thường theo sau phép tích Cartesian là phép chọn R × S σA=S.B (R × S) AR.BS.B C D AR.BS.B C D α 1 α 10 + α 1 α 10 + α 1 β 10 + β 2 β 10 + α 1 β 20 - β 2 β 20 - α 1 γ 10 - β 2 α 10 + β 2 β 10 + β 2 β 20 - β 2 γ 10 - Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 35 Ví dụ 8 ƒ Với mỗi phòng ban, cho biết thông tin của người trưởng phòng - Quan hệ: PHONGBAN, NHANVIEN - Thuộc tính: TRPHG, MAPHG, TENNV, HONV, TENPHG MAPHG TRPHG NG_NHANCHUC Nghien cuu 5 333445555 05/22/1988 DieuTENPHG hanh MAPHG 4 987987987 TRPHG NG_NHANCHUC 01/01/1995 MANV TENNV HONV Quan ly 1 888665555 06/19/1981 Nghien cuu 5 333445555 05/22/1988 333445555 Tung Nguyen Dieu hanh 4 987987987 01/01/1995 987987987 Hung Nguyen MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG Quan ly 1 888665555 06/19/1981 888665555 Vinh Pham 333445555 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 999887777 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 987654321 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 987987987 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 36 18 Ví dụ 8 (tt) ƒ B1: Tích Cartesian PHONGBAN và NHANVIEN PB_NV ← (NHANVIEN × PHONGBAN) ƒ B2: Chọn ra những bộ thỏa TRPHG=MANV KQ ← σTRPHG=MANV(PB_NV) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 37 Ví dụ 9 ƒ Cho biết lương cao nhất trong công ty - Quan hệ: NHANVIEN - Thuộc tính: LUONG TENNV HONV LUONG LUONG Tung Nguyen 40000 40000 Hang Bui 25000 25000 Nhu Le 43000 43000 Hung Nguyen 38000 38000 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 38 19 Ví dụ 9 (tt) ƒ B1: Chọn ra những lương không phải là lớn nhất R1 ← (πLUONG (NHANVIEN)) R2 ← σNHAN_VIEN.LUONG < R1.LUONG(NHANVIEN × R1) R3 ← πNHAN_VIEN.LUONG (R2) ƒ B2: Lấy tập hợp lương trừ đi lương trong R3 KQ ← πLUONG (NHANVIEN) − R3 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 39 Ví dụ 10 ƒ Cho biết các phòng ban có cùng địa điểm với phòng số 5 - Quan hệ: DIADIEM_PHG - Thuộc tính: DIADIEM, MAPHG - Điều kiện: MAPHG=5 Phòng 5 có tập hợp những Phòng nào có địa điểm nằm địa điểm nào? trong trong tập hợp đó? MAPHG DIADIEM MAPHG DIADIEM 1 TP HCM 1 TP HCM 4 HA NOI 4 HA NOI 5 VUNGTAU 5 VUNGTAU 5 NHATRANG 5 NHATRANG 5TP HCM 5TP HCM Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 40 20 Ví dụ 10 (tt) ƒ B1: Tìm các địa điểm của phòng 5 DD_P5(DD) ← πDIADIEM (σMAPHG=5 (DIADIEM_PHG)) ƒ B2: Lấy ra các phòng có cùng địa điểm với DD_P5 R1 ← σMAPHG≠5 (DIADIEM_PHG) R2 ← σDIADIEM=DD (R1 × DD_P5) KQ ← πMAPHG (R2) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 41 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết - Kết tự nhiên (Natural join) - Kết có điều kiện tổng quát (Theta join) - Kết bằng (Equi join) ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 42 21 Phép kết ƒ Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ ƒ Ký hiệu R S - R(A1, A2, , An) và (B1, B2, , Bm) ƒ Kết quả của phép kết là một quan hệ Q - Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm) - Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một sốđiều kiện kết nào đó y Có dạng Ai θ Bj y Ai là thuộc tính của R, Bj là thuộc tính của S y Ai và Bj có cùng miền giá trị y θ là phép so sánh ≠, =, , ≤, ≥ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 43 Phép kết (tt) ƒ Phân loại - Kết theta (theta join) là phép kết có điều kiện y Ký hiệu R C S y C gọi là điều kiện kết trên thuộc tính - Kết bằng (equi join) khi C là điều kiện so sánh bằng - Kết tự nhiên (natural join) y Ký hiệu R S hay R ∗ S y R+ ∩ Q+ ≠∅ y Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 44 22 Phép kết (tt) ƒ Ví dụ phép kết theta R B<D S R ABC S DE ABCDE 1 2 3 3 1 12331 4 5 6 6 2 12362 789 45662 R C S = σC(R × S) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 45 Phép kết (tt) ƒ Ví dụ phép kết bằng R C=D S R ABC S DE ABC D E 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 45662 789 R C=S.C S R ABC S S.CCD D ABC S.C D 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 45662 789 ρ(S.C,D) S Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 46 23 Phép kết (tt) ƒ Ví dụ phép kết tự nhiên R S R ABC S CD ABABC C S.CD D 1 2 3 3 1 1 1 2 2 3 3 3 1 1 4 5 6 6 2 456456622 789 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 47 Ví dụ 11 ƒ Cho biết nhân viên có lương hơn lương của nhân viên ‘Tùng’ - Quan hệ: NHANVIEN - Thuộc tính: LUONG NHAN_VIEN(HONV, TENNV, MANV, , LUONG, PHG) R1(LG) ← πLUONG (σTENNV=‘Tung’ (NHANVIEN)) KQ ← NHAN_VIEN LUONG>LG R1 KQ(HONV, TENNV, MANV, , LUONG, LG) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 48 24 Ví dụ 12 ƒ Với mỗi nhân viên, hãy cho biết thông tin của phòng ban mà họ đang làm việc - Quan hệ: NHANVIEN, PHONGBAN NHANVIEN(HONV, TENNV, MANV, , PHG) PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC) KQ ← NHANVIEN PHG=MAPHG PHONGBAN KQ(HONV, TENNV, MANV, , PHG, TENPHG, MAPHG, ) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 49 Ví dụ 13 ƒ Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó - Quan hệ: PHONGBAN, DDIEM_PHG PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC) DDIEM_PHG(MAPHG, DIADIEM) KQ ← PHONGBAN DDIEMPHG KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 50 25 Ví dụ 8 ƒ Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòng - Quan hệ: PHONGBAN, NHANVIEN NHANVIEN(HONV, TENNV, MANV, , PHG) PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC) KQ ← NHANVIEN PHG=MAPHG PHONGBAN KQ(HONV, TENNV, MANV, , PHG, TENPHG, MAPHG, ) TP ← (σTENPHG=‘Truong phong’ (KQ)) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 51 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 52 26 Phép chia ƒ Được dùng để lấy ra một số bộ trong quan hệ R sao cho thỏa với tất cả các bộ trong quan hệ S ƒ Ký hiệu R ÷ S - R(Z) và S(X) y Z là tập thuộc tính của R, X là tập thuộc tính của S y X ⊆ Z ƒ Kết quả của phép chia là một quan hệ T(Y) - Với Y=Z-X - Có t là một bộ của T` nếu với mọi bộ tS∈S, tồn tại bộ tR∈R thỏa 2 điều kiện R(Z) S(X) T(Y) y tR(Y) = t XY y tR(X) = tS(X) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 53 Phép chia (tt) ƒ Ví dụ R ÷ S R ABCDE S DE ABC α a α a 1 a 1 α a γ α a γ a 1 b 1 γ a γ α a γ b 1 β a γ a 1 β a γ b 3 ƒ R ÷ S là một quan hệ T(Y) γ a γ a 1 γ a γ b 1 - Với Y=Z-X γ a β b 1 - Có t là một bộ của T nếu với mọi bộ tS∈S, tồn tại bộ tR∈R thỏa 2 điều kiện y tR(Y) = t y tR(X) = tS(X) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 54 27 Nội dung chi tiết ƒ Giới thiệu ƒ Đại số quan hệ ƒ Phép toán tập hợp ƒ Phép chọn ƒ Phép chiếu ƒ Phép tích Cartesian ƒ Phép kết ƒ Phép chia ƒ Các phép toán khác - Hàm kết hợp (Aggregation function) - Phép gom nhóm (Grouping) - Phép kết ngoài (Outer join) ƒ Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 55 Hàm kết hợp ƒ Nhận vào tập hợp các giá trị và trả về một giá trị đơn - AVG - MIN - MAX - SUM - COUNT Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 56 28 Hàm kết hợp (tt) ƒ Ví dụ SUM(B) = 10 R AB 1 2 AVG(A) = 1.5 3 4 MIN(A) = 1 1 2 1 2 MAX(B) = 4 COUNT(A) = 4 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 57 Phép gom nhóm ƒ Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên điều kiện gom nhóm nào đó ƒ Ký hiệu G1, G2, , GnIF1(A1), F2(A2), , Fn(An)(E) - E là biểu thức ĐSQH - G1, G2, , Gn là các thuộc tính gom nhóm - F1, F2, , Fn là các hàm - A1, A2, , An là các thuộc tính tính toán trong hàm F Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 58 29 Phép gom nhóm (tt) ƒ Ví dụ ISUM(C)(R) SUM_C R ABC 27 α 2 7 α 4 7 β 2 3 γ 2 10 AISUM(C)(R) SUM_C 14 3 10 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 59 30

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_co_so_du_lieu_database_chuong_4_dai_so_quan_he.pdf