Cơ sở dữ liệu - Chương 4: Đại số quan hệ
Hiểu các phép toán trên quan hệ
Vận dụng các phép toán khi thao
tác trên dữ liệu (được tổ chức theo
môhìnhquanhệ)
Tóm tắt nội dung Cơ sở dữ liệu - Chương 4: Đại số quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
b1 c2 a2 b2 c1 r (A, B, C) A B C a1 b1 c1 a2 b2 c2 s(A, B, C) 7Ví dụ: Phép trừ Ký hiệu: - Cho hai quan hệ r và s khả hợp. Biểu diễn hình thức của phép trừ: r – s = {t / (t∈ r) ∧ (t ∉ s) } Kết quả là một quan hệ có các thuộc tính là các thuộc tính của quan hệ r, gồm các bộ xuất hiện ở quan hệ r mà không có ở s. r - s (A, B, C) A B C a2 b1 c2 a2 b2 c1 A B C a1 b1 c1 a2 b1 c2 a2 b2 c1 r (A, B, C) A B C a1 b1 c1 a2 b2 c2 s(A, B, C) CÁC PHÉP TOÁN TRÊN QUAN HỆ 8 Phép chọn Ký hiệu σ Định nghĩa: Cho lược đồ quan hệ R (A1, A2,…, An), r(R): σE (r) = {t , t ∈ r và t thỏa E} E là một biểu thức cho biết điều kiện chọn. Ký hiệu: σE (r) + Phép chọn được dùng để trích chọn các dòng thỏa điều kiện chọn E từ quan hệ ban đầu. + Kết quả là một quan hệ có số cột bằng số cột của r, số dòng là số dòng trong r thỏa E. CÁC PHÉP TOÁN TRÊN QUAN HỆ 9Phép chọn Ví dụ1: Cho danh sách các nhân viên thuộc phòng có mã là KD. σPHG = ‘KD’ (NHANVIEN) CÁC PHÉP TOÁN TRÊN QUAN HỆ Ví dụ2: Cho danh sách các nhân viên nữ của phòng KD có lương lớn hơn 1000000. σPHAI = ‘nu’ and PHG = ‘KD’ and LUONG >1000000 (NHANVIEN) 10 Phép chiếu Ký hiệu: Π Cho trước một lược đồ quan hệ R (A1, A2,…, An), X⊂R, r(R): ΠX(r) = {t[X] ⏐ t ∈ r} Ký hiệu: Π A1, A2, ..., Ak (r) Ai là các thuộc tính chiếu + Phép chiếu được dùng để bỏ bớt các thuộc tính không quan tâm từ quan hệ ban đầu. + Kết quả là một quan hệ có số cột là tập thuộc tính chiếu X, số dòng là số dòng trong r có loại bỏ sự trùng lắp. + Nếu X có chứa khóa của r thì không cần loại bỏ sự trùng lắp dữ liệu. CÁC PHÉP TOÁN TRÊN QUAN HỆ 11 Phép chiếu Ví dụ 1: Cho danh sách nhân viên gồm các thông tin tên nhân viên, lương, năm sinh, phái. ∏ TENNV, LUONG, NAMSINH, PHAI (NHANVIEN) CÁC PHÉP TOÁN TRÊN QUAN HỆ Ví dụ 2: Cho danh sách tên tất cả các đề án. ∏ TENDA DEAN 12 CÁC PHÉP TOÁN TRÊN QUAN HỆ Ví dụ 1: Cho danh sách nhân viên có lương > 2000 (MANV, TENNV, LUONG) Π MANV, TENNV, LUONG (σ LUONG >2000 (NHANVIEN)) Ví dụ 2: Cho danh sách nhân viên nữ thuộc phòng có mã là KD. (MANV, TENNV) Π MANV, TENNV (σ PHAI = ‘NU’ AND PHG = ‘KD’ (NHANVIEN)) 13 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép gán Ký hiệu: ← Ví dụ 1: Cho danh sách nhân viên có lương > 2000 (MANV, TENNV, LUONG) Π MANV, TENNV, LUONG (σ LUONG >2000 (NHANVIEN)) KQ1 ← σ LUONG >2000 (NHANVIEN) KQ ← Π MANV, TENNV, LUONG(KQ1) 14 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép đổi tên Ký hiệu: ρ Đổi tên quan hệ Biểu thức ρχ (E) trả về kết quả biểu thức E dưới tên χ. Đổi tên thuộc tính biểu thức ρ(A1, A2, …, An) (E) trả về kết quả biểu thức E với các thuộc tính đã được đổi tên thành A1, A2, …, An. 15 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép tích Đề – các (Cartesian) Ký hiệu: x Định nghĩa khái niệm “đặt cạnh nhau”. Giả sử ta có hai bộ dữ liệu: d = (d1, d2, …, dm) e = (e1, e2, …, em) Phép “đặt cạnh nhau” của e và d được định nghĩa như sau: d ∩ e = (d1, d2, …, dm, e1, e2, …, em) 16 Phép tích Đề–các (Cartesian) Ký hiệu: x R1(A1, A2, …, An) r(R1) có k1 bộ dữ liệu R2(B1, B2, …, Bm) s(R2) có k2 bộ dữ liệu Biểu diễn hình thức của phép tích Đề-các: r x s = {t/ t có dạng (a1, a2, …, an, b1, b2, …, bn), trong đó (a1, a2, …, an) ∈ r và (b1, b2, …, bn) ∈ s} Tích Đề – các r x s của r và s là một quan hệ có k1*k2 bộ, mỗi bộ của quan hệ kết quả được tạo thành bằng cách đặt cạnh nhau 1 bộ của s và 1 bộ của r. CÁC PHÉP TOÁN TRÊN QUAN HỆ 17 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép tích Đề – các Ký hiệu: x A B C a1 b1 c1 a2 b2 c2 D E F d1 e1 f1 d2 e2 f2 r (A, B, C) s(D, E, F) A B C D E F a1 b1 c1 d1 e1 f1 a1 b1 c1 d2 e2 f2 a2 b2 c2 d1 e1 f1 a2 b2 c2 d2 e2 f2 rxs (A, B, C, D, E, F) 18 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép tích Đề – các Ký hiệu: x MANV TEN PHG N1 NVA KD N2 TTB KT MAPB TENPB KD Kinh doanh KT Kỹ thuật NV (MANV, TEN, PHG) PB(MAPB, TENPB) MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh N1 NVA KD KT Kỹ thuật N2 TTB KT KD Kinh doanh N2 TTB KT KT Kỹ thuật NVxPB (MANV,TEN, PHG,MAPB,TENPB) 19 Phép kết Ký hiệu: ⋈ θ Kết Kết tự nhiên (Natural join) Kết bằng (Equi join) Kết trái (Left join) Kết phải (Right join) Kết ngoạïi (Outer join) CÁC PHÉP TOÁN TRÊN QUAN HỆ 20 Phép kết Ký hiệu: ⋈ θ Kết Phép kết là sự kết hợp có thứ tự của phép tích đề – các và phép chọn. Gọi θ là một trong các phép so sánh {=, >, ≥, <, ≤, ≠}. Phép kết được định nghĩa như sau: Phép kết giữa quan hệ r(A) và s(B) ghi là: r ⋈A θ B s = { t ∩ u| t ∈ r, u ∈ s và t[A] θ u[B]} Điều kiện A θ B được gọi là điều kiện kết. Cũng cần giả thiết rằng mỗi giá trị của cột r[A] đều có thể so được (thông qua phép so sánh θ) với mỗi giá trị của cột s[B]. CÁC PHÉP TOÁN TRÊN QUAN HỆ 21 Phép kết Ký hiệu: ⋈ Kết bằng, kết tự nhiên θ là phép so sánh “=” ta gọi là phép kết bằng hay còn gọi là equi-join Kết bằng tại thuộc tính cùng tên của hai quan hệ và một trong hai thuộc tính đó được loại bỏ qua phép chiếu thì phép kết đó được gọi là kết tự nhiên . CÁC PHÉP TOÁN TRÊN QUAN HỆ 22 R(A,B) C D 1 A 1 B 2 C 4 D A B 1 X 2 Y 3 Z S(C,D) A B C D 1 X 1 A 1 X 1 B 2 Y 2 C 3 Z Null Null A B C D 1 X 1 A 1 X 1 B 2 Y 2 C Null Null 4 D A B C D 1 X 1 A 1 X 1 B 2 Y 2 C 3 Z Null Null Null Null 4 D A B C D 1 X 1 A 1 X 1 B 2 Y 2 C CÁC PHÉP TOÁN TRÊN QUAN HỆ Inner join Q(A, B, C, D) Left join Q(A, B, C, D) Right join Q(A, B, C, D) Outer join Q(A, B, C, D) Phép kết 23 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép kết MANV TEN PHG N1 NVA KD N2 TTB KT MAPB TENPB KD Kinh doanh KT Kỹ thuật NV (MANV, TEN, PHG) PB(MAPB, TENPB) MANV TEN PHG MAPB TENPB N1 NVA KD KD Kinh doanh N1 NVA KD KT Kỹ thuật N2 TTB KT KD Kinh doanh N2 TTB KT KT Kỹ thuật NVxPB (MANV,TEN, PHG,MAPB,TENPB) 24 CÁC PHÉP TOÁN TRÊN QUAN HỆ Phép kết MANV TEN PHG TENPB N1 NVA KD Kinh doanh N2 TTB KT Kỹ thuật NV ⋈ PB (MANV,TEN, PHG,TENPB) 25 Phép chia Cho 2 quan hệ r(R) và s(S), S ⊆ R. Đặt R’ = R – S. r chia s, viết là r ÷s, là một quan hệ: r’(R’) = { t ⏐ ∀ ts ∈ s, ∃ tr ∈ r: tr(R’) = t và tr(S) = ts} CÁC PHÉP TOÁN TRÊN QUAN HỆ r (A, B, C, D) A B C D a b c d a b c1 d1 b c c1 d1 a1 b c1 d1 a1 b1 c d a1 b1 c1 d1 C D c d c1 d1 r (C, D) r ÷ s (A, B) A B a b a1 b1 26 CÁC HÀM GOM NHÓM Max (1 field kiểu số) : trả về giá trị lớn nhất. Min (1field kiểu số) : trả về giá trị nhỏ nhất. Count(tên field), Count(*): Đếm số phần tử, trùng vẫn đếm. Sum(1field kiểu số): Trả về tổng. Avg(1 field kiểu số): Trả về giá trị trung bình. 27 G1, G2, …, Gn ℑ F1(A1), F2(A2), …, Fn(An) (E) Trong đó • E là biểu thức đại số quan hệ • Gi là tên thuộc tính gom nhóm (có thể tính toán không gom nhóm) • Fi là hàm gom nhóm. • Ai là tên thuộc tính tính tóan trong hàm gom nhóm Fi. Tính toán trong đại số quan hệ 28 Tính toán trong đại số quan hệ Ví dụ 1: Tính số nhân viên trong toàn công ty. ℑCount(*) (NHANVIEN) No column name 20 ρTONGSONV (ℑCount(*) (NHANVIEN)) TONGSONV 20 29 Ví dụ 2:Cho biết trong từng phòng ban có bao nhiêu nhân viên. Tính toán trong đại số quan hệ PHG ℑCount(*) (NHANVIEN) ρPHG, SONV ( PHGℑCount(*) (NHANVIEN)) MANV HOTEN PHAI PHG N1 NVA Nam KD N2 TTB Nu KT N3 NVC Nam KD N4 TTX Nu KT N5 PTC Nu QLĐA MANV HOTEN PHAI PHG N1 NVA Nam KD N3 NVC Nam KD N4 TTX Nu KT N2 TTB Nu KT N5 PTC Nu QL PHG No column name KD 2 KT 2 QL 1 PHG SONV KD 2 KT 2 QL 1 30 CÁC THAO TÁC TRÊN QUAN HỆ Thêm Xoá Sửa Các thao tác trên CSDL: Tìm kiếm 31 Thêm CÁC THAO TÁC TRÊN QUAN HỆ ) nêu ra một bộ cần chèn. ) viết ra một câu truy vấn mà kết quả là một tập hợp các bộ cần chèn. + Trong ĐSQH, thao tác chèn được diễn đạt như sau: r ← r ∪ E trong đó r là một quan hệ và E là một biểu thức ĐSQH Ví dụ: Phân công cho nhân viên mã số 001 làm thêm đề án 10 với số giờ là 20. PHANCONG ← PHANCONG ∪ {(‘001’,10,20)} 32 CÁC THAO TÁC TRÊN QUAN HỆ Chỉ có thể xoá toàn bộ một bộ, không thể xóa các giá trị trên chỉ 1 thuộc tính. Trong ĐSQH, thao tác chèn được diễn đạt như sau: r ← r - E trong đó r là một quan hệ và E là một câu truy vấn ĐSQH Xóa Ví dụ: Xoá tất cả những phân công đề án cho nhân viên có mã là 001. PHANCONG ← PHANCONG - σMANV=’001’ (PHANCONG) 33 CÁC THAO TÁC TRÊN QUAN HỆ Xóa Ví dụ: Xoá tất cả những phân công đề án mà địa điểm của đề án ở Hà Nội. R1← σDDIEM_DA =’HA NOI’ (PHANCONG⋈SODA=MADADEAN) R2 ← πMANV,SODA,THOIGIAN(R1) PHANCONG ← PHANCONG – R2 34 CÁC THAO TÁC TRÊN QUAN HỆ Sửa + Cơ chế làm thay đổi một giá trị trong một bộ mà không làm thay đổi tất cả các giá trị trong bộ đó. + Để cập nhật, sử dụng phép chiếu tổng quát như sau: r ← πF1,F2, …, Fn (r) trong đó mỗi Fi là thuộc tính thứ i của R, thuộc tính thứ i không được cập nhật, hoặc sẽ được cập nhật. 35 Ví dụ 1: Tăng thời gian làm việc của nhân viên lên 1.5 lần PHANCONG ← πMANV, SODA, THOIGIAN*1.5 (PHANCONG) Ví dụ 2: Trong quan hệ PHANCONG, các nhân viên làm việc dưới 30 giờ sẽ tăng thời gian làm việc 1.5 lần, còn lại sẽ tăng lên 2 lần. PHANCONG ← πMANV, SODA, THOIGIAN*1.5 (σTHOIGIAN<30(PHANCONG)) ∪ πMANV, SODA THOIGIAN*2 (σTHOIGIAN>=30(PHANCONG)) CÁC THAO TÁC TRÊN QUAN HỆ Sửa 36 Hết.
File đính kèm:
- Chuong_4_Dai_so_quan_he.pdf