Bài giảng Cơ sở dữ liệu - Chương 3: Đại số quan hệ cung cấp cho người học các kiến thức: 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 (Cartesian Product),... Mời các bạn cùng tham khảo.
Chương ĐẠI SỐ QUAN HỆ CƠ SỞ DỮ LIỆU Giới thiệu Nội dung chi tiết Giới thiệu Đại số quan hệ Xét số xử lý quan hệ NHANVIEN • Thêm nhân viên • Chuyển nhân viên có tên “Tùng” sang phịng số • Cho biết họ tên ngày sinh nhân viên có lương 20000 Phép tốn tập hợp Phép chọn Phép chiếu Phép tích Cartesian (Cartesian Product) Phép kết Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ Khoa CNTT – Đại học Sài Gòn TENNV HONV NGSINH DCHI PHAI LUONG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 51 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Quang Pham 11/10/1937 450 TV HN Nam 15000 Tung Nguyen 12/08/1955 Hang Bui 07/19/1968 Nhu Le 06/20/1951 PHONG Khoa CNTT – Đại học Sài Gòn 1 Giới thiệu Nội dung chi tiết Giới thiệu Đại số quan hệ Có loại xử lý – Làm thay đổi liệu (cập nhật) Phép tốn tập hợp • Thêm mới, xóa sửa Phép chọn – Không làm thay đổi liệu (rút trích) • Truy vấn (query) Phép chiếu Phép tích Cartesian (Cartesian Product) Thực xử lý Phép kết – Đại số quan hệ (Relational Algebra) Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ • Biểu diễn câu truy vấn dạng biểu thức – Phép tính quan hệ (Relational Calculus) • Biểu diễn kết – SQL (Structured Query Language) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn Đại số quan hệ Đại số quan hệ Đại số Biến quan hệ – Toán tử (operator) – Tập hợp (set) liệu (dòng liệu bảng) – Toán hạng (operand) Toán tử phép toán (operations) – Trên tập hợp Trong số học • Hợp (union) • Giao (intersec) – Tốn tử: +, -, *, / • Trừ (difference) – Toán hạng - biến (variables): x, y, z – Rút trích phần quan hệ • Chọn (selection) – Hằng (constant) • Chiếu (projection) – Biểu thức – Kết hợp quan hệ • (x+7) / (y-3) • Tích Cartesian (Cartesian product) • Kết • (x+y)*z and/or (x+7) / (y-3) (join) – Đổi tên Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 2 Đại số quan hệ Nội dung chi tiết Giới thiệu Đại số quan hệ • Hằng số thể quan hệ • Biểu thức Phép tốn tập hợp 3.1 Phép hợp (Union) – Được gọi câu truy vấn 3.2 Phép giao (Intersection) – Là chuỗi phép toán đại số quan hệ 3.3 Phép trừ - (Difference) Phép chọn – Kết trả thể quan hệ Phép chiếu Phép tích Cartesian (Cartesian Product) Phép kết Phép chia Các phép toán khác 10 Các thao tác cập nhật quan hệ Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn Phép tốn tập hợp Phép tốn tập hợp Quan hệ tập hợp Ví dụ: – Phép hợp R S – Phép giao R S – Phép trừ R S NHAN_VIEN Tính khả hợp (Union Compatibility) – Hai lược đồ quan hệ R(A1, A2, …, An) S(B1, B2, …, Bn) khả hợp THAN_NHAN 10 TENNV NGSINH PHAI 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 • Cùng bậc n • Và có DOM(Ai)=DOM(Bi) , 1 i n DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN) Kết , , quan hệ có tên thuộc tính với quan hệ (R) Khoa CNTT – Đại học Sài Gòn Quan hệ NHAN_VIEN & THAN_NHAN Khả hợp 11 Khoa CNTT – Đại học Sài Gòn 12 3 Phép toán tập hợp 3.1 Phép hợp (Union) Các tính chất: Cho quan hệ R S khả hợp Phép hợp R S – Giao hoán RS=SR RS=SR – Ký hiệu R S – Là quan hệ gồm thuộc R thuộc S, hai (các trùng lắp bị bỏ) – Kết hợp R (S T) = (R S) T R (S T) = (R S) T Khoa CNTT – Đại học Sài Gòn R S = { t / tR tS } Ví dụ R A B A B A B S RS Khoa CNTT – Đại học Sài Gòn 13 3.1 Phép hợp (Union) 3.2 Phép giao (Intersection) Ví dụ: Xét quan hệ lược đồ quan hệ NV1(Q1) Cho quan hệ R S khả hợp Phép giao R S NV2(Q2): 14 – Ký hiệu R S – Là quan hệ gồm thuộc R đồng thời thuộc S R S = { t / tR tS } Ví dụ R Q = Q1 Q2 ? A B Khoa CNTT – Đại học Sài Gòn 15 S A B RS A B Khoa CNTT – Đại học Sài Gòn 16 3.2 Phép giao (Intersection) 3.3 Phép trừ - (Diference) Ví dụ: Xét quan hệ lược đồ quan hệ NV1(Q1) NV2(Q2): Cho quan hệ R S khả hợp Phép giao R S – Ký hiệu R S – Là quan hệ gồm thuộc R không thuộc S R S = { t / tR tS } Ví dụ Q = Q1 Q2 ? R Khoa CNTT – Đại học Sài Gòn S RS A B A B A B Khoa CNTT – Đại học Sài Gòn 17 18 Nội dung chi tiết 3.3 Phép trừ - (Diference) Ví dụ: Xét quan hệ lược đồ quan hệ NV1(Q1) NV2(Q2): 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 (Cartesian Product) Phép kết Q = Q1 - Q2 ? Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ Khoa CNTT – Đại học Sài Gòn 19 Khoa CNTT – Đại học Sài Gòn 20 Phép chọn (Selection) Phép chọn (Selection) Được dùng để lấy quan hệ R Các chọn phải thỏa mãn điều kiện chọn P Ký hiệu Kết trả quan hệ – Có danh sách thuộc tính với R – Có số ln số R P (R) Ví dụ P biểu thức gồm mệnh đề có dạng R – – • gồm , , , , , A B C D A B C D 12 23 10 23 10 (A=B)(D>5) (R) • Các mệnh đề nối lại nhờ phép , , Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 21 Phép chọn (Selection) Phép chọn (Selection) (4) Phép chọn có tính giao hốn Ví dụ 2: Tìm nhân viên có lương 25000 phịng nhân viên có lương 30000 phòng ( p1 p2 (R)) = ( p2 p1 (R)) = p1 p2 22 – Quan hệ: NHAN_VIEN (R) – Thuộc tính: LUONG, PHONG Ví dụ 1: Cho biết nhân viên phòng số – Điều kiện: – Quan hệ: NHAN_VIEN • LUONG>25000 PHONG=4 – Thuộc tính: PHONG – Điều kiện: PHONG=4 PHONG=4 • LUONG>30000 PHONG=5 (LUONG>25000 PHONG=4) (LUONG>30000 PHONG=5) (NHAN_VIEN) (NHAN_VIEN) Khoa CNTT – Đại học Sài Gòn 23 Khoa CNTT – Đại học Sài Gòn 24 Phép chiếu (Projection) Nội dung chi tiết Giới thiệu Đại số quan hệ Được dùng để lấy vài cột quan hệ R Ký hiệu Phép toán tập hợp A1, A2, …, Ak(R) Phép chọn Phép chiếu Phép tích Cartesian (Cartesian Product) Kết trả quan hệ – Có k thuộc tính – Có số ln số R Phép kết Ví dụ Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ R Khoa CNTT – Đại học Sài Gòn A B C A C 10 20 30 40 A,C (R) Khoa CNTT – Đại học Sài Gòn 25 Phép chiếu (Projection) 26 Phép chiếu (Projection) Phép chiếu khơng có tính giao hốn Ví dụ: Cho biết họ tên lương nhân viên – Quan hệ: NHAN_VIEN X,Y A1, A2, …, An( (R) = ( X A1, A2, …, Am(R)) Y = – Thuộc tính: HONV, TENNV, LUONG (R)) HONV,TENNV,LUONG A1, A2, …, An (NHAN_VIEN) (R) , với n m Khoa CNTT – Đại học Sài Gòn 27 Khoa CNTT – Đại học Sài Gòn 28 Bài tập 1: Cho biết mã nhân viên có tham gia đề án có thân nhân Gợi ý: Sử dụng phép hợp Nhân viên có tham gia đề án: – Quan hệ: PHANCONG – Thuộc tính: MANV Nhân viên có thân nhân: – Quan hệ: THANNHAN – Thuộc tính: MANV Khoa CNTT – Đại học Sài Gịn Khoa CNTT – Đại học Sài Gòn 29 Bài tập 2: Bài tập 3: Cho biết mã nhân viên có người thân có tham Cho biết mã nhân viên khơng có thân nhân Sử dụng phép trừ Quan hệ: NHANVIEN Thuộc tính: MANV gia đề án 30 Quan hệ: THANNHAN Thuộc tính: MANV Gợi ý: Sử dụng phép giao Khoa CNTT – Đại học Sài Gòn 31 Khoa CNTT – Đại học Sài Gòn 32 Phép chiếu (Projection) Phép chiếu (Projection) Ví dụ: Phép chiếu tổng quát: Mở rộng phép chiếu cách cho phép sử dụng phép toán số học danh sách thuộc tính Ký hiệu F1, F2, …, Fn – Cho biết họ, tên nhân viên lương họ sau tăng 10% (E) HONV, TENNV, LUONG*1,1 (NHANVIEN) – E biểu thức ĐSQH – F1, F2, …, Fn biểu thức số học liên quan đến • Hằng số CHÚ Ý: Câu truy vấn không làm thay đổi liệu CSDL • Thuộc tính E Khoa CNTT – Đại học Sài Gịn Kết hợp phép tốn Giới thiệu Đại số quan hệ – Lồng biểu thức lại với ( A1, A2, …, Ak P (R)) ( P Phép toán tập hợp A1, A2, …, Ak Phép chọn Phép chiếu Phép tích Cartesian (Cartesian Product) (R)) – Thực phép tốn • B1 • B2 Phép kết P (R) A1, A2, …, Ak 34 Nội dung chi tiết Kết hợp phép toán đại số quan hệ Khoa CNTT – Đại học Sài Gịn 33 Phép chia Các phép tốn khác 10.Các thao tác cập nhật quan hệ (Quan hệ kết B1) Cần đặt tên cho quan hệ Khoa CNTT – Đại học Sài Gòn 35 Khoa CNTT – Đại học Sài Gịn 36 Phép tích Cartesian X (Cartersian Product) Dùng để kết hợp quan hệ lại với Ký hiệu: Phép tích Cartesian X (Cartersian Product) Ví dụ RS Kết trả quan hệ Q – Mỗi Q tổ hợp R S – Nếu R có u S có v Q có u v – Nếu R có n thuộc tính S có m thuộc tính Q có n + m thuộc tính (R+ Q+ ) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 37 Phép tích Cartesian X (Cartersian Product) Ví dụ: Xét quan hệ lược đồ quan hệ NV1(Q1) KHOA(Q2) Phép tích Cartesian X (Cartersian Product) Thơng thường theo sau phép tích Cartesian phép chọn để lọc thông tin RS Q = Q1 x Q2 ? Khoa CNTT – Đại học Sài Gòn 38 39 A=S.B (R S) A R.B S.B C D A R.B S.B C D 10 + 10 + 10 + 10 + 20 - 20 - 10 - 10 + 10 + 20 - 10 - Khoa CNTT – Đại học Sài Gịn 40 10 Phép tích Cartesian X (Cartersian Product) Ví dụ 1: Với phịng ban, cho biết thơng tin người trưởng phịng Phép tích Cartesian X (Cartersian Product) B1: Tích Cartesian PHONG_BAN NHAN_VIEN PB_NV (NHAN_VIEN PHONG_BAN) – Quan hệ: PHONG_BAN, NHAN_VIEN – Thuộc tính: TRPHG, MAPHG, TENNV, HONV, … TENPHG Nghien cuu Dieu hanh TENPHG Quan ly Nghien cuu MAPHG TRPHG NG_NHANCHUC 333445555 05/22/1988 MAPHG B2: Chọn thỏa TRPHG=MANV 987987987 NG_NHANCHU 01/01/1995 MANV TRPHG 888665555 C 06/19/1981 333445555 05/22/1988 333445555 TENNV HONV … Tung Nguyen … Dieu hanh MANV Quan ly 333445555 TENNV Tung 987987987 01/01/1995 987987987 Hung Nguyen … HONV NGSINH DCHI PHAI LUONG PHG 888665555 06/19/1981 888665555 Vinh Pham … Nguyen 12/08/1955 638 NVC Q5 Nam 40000 999887777 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 987654321 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 987987987 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Khoa CNTT – Đại học Sài Gòn KQ TRPHG=MANV(PB_NV) Khoa CNTT – Đại học Sài Gòn 41 Phép tích Cartesian X (Cartersian Product) Ví dụ 2: Cho biết phịng ban có địa điểm với phịng số 42 PHÉP TÍCH CARTESIAN X (CARTERSIAN PRODUCT) B1: Tìm địa điểm phịng – Quan hệ: DIADIEM_PHG DD_P5(DD) DIADIEM (MAPHG=5 (DIADIEM_PHG)) – Thuộc tính: DIADIEM, MAPHG B2: Lấy phịng có địa điểm với DD_P5 – Điều kiện: MAPHG=5 Phịng có tập hợp địa điểm nào? Phịng có địa điểm nằm trong tập hợp đó? MAPHG DIADIEM MAPHG DIADIEM TP HCM TP HCM HA NOI HA NOI VUNGTAU VUNGTAU NHATRANG NHATRANG TP HCM TP HCM Khoa CNTT – Đại học Sài Gòn R2 KQ R1 MAPHG5 (DIADIEM_PHG) DIADIEM=DD MAPHG 43 (R1 DD_P5) (R2) Khoa CNTT – Đại học Sài Gòn 44 11 Phép kết (Join) Nội dung chi tiết Giới thiệu Đại số quan hệ Được dùng để tổ hợp có liên quan từ quan hệ thành (thỏa điều kiện) Ký hiệu R S Phép toán tập hợp Phép chọn – R(A1, A2, …, An) (B1, B2, …, Bm) Phép chiếu Kết phép kết quan hệ Q – Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm) – Mỗi Q tổ hợp R S, thỏa mãn số điều kiện kết (điều kiện: ) Phép tích Cartesian (Cartesian Product) Phép kết 7.1 Kết có điều kiện tổng quát (Theta join) 7.2 Kết (Equi join) 7.3 Kết tự nhiên (Natural join) • • • • Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ Khoa CNTT – Đại học Sài Gịn Có dạng Ai Bj Ai thuộc tính R, Bj thuộc tính S Ai Bj có miền giá trị phép so sánh , , , , , Có thể xem phép kết = Phép tích Descarte + Chọn Khoa CNTT – Đại học Sài Gòn 45 46 7.1 Phép kết theta Phép kết (Join) Phân loại Ví dụ: – Kết theta (Theta join) phép kết có điều kiện • Ký hiệu R C R S • C gọi điều kiện kết thuộc tính R – Kết (Equi join) C điều kiện so sánh A B C S BLG KQ NHAN_VIEN PHG=MAPHG PHONG_BAN R1 KQ(HONV, TENNV, MANV, …, LUONG, LG) Khoa CNTT – Đại học Sài Gòn KQ(HONV, TENNV, MANV, …, PHG, TENPHG, MAPHG, …) 51 Khoa CNTT – Đại học Sài Gịn 52 13 Bài tập: Ví dụ 3: Với phòng ban cho biết địa điểm phịng ban Với phịng ban cho biết thơng tin người trưởng phịng – Quan hệ: PHONG_BAN, DDIEM_PHG – Quan hệ: PHONG_BAN, NHAN_VIEN Cho biết lương cao công ty PHONG_BAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC) – Quan hệ: NHAN_VIEN – Thuộc tính: LUONG DDIEM_PHG(MAPHG, DIADIEM) KQ PHONG_BAN Cho biết phòng ban có địa điểm với phịng MAPHG=MAPHG DDIEM_PHG – Quan hệ: DDIEM_PHG KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM) Khoa CNTT – Đại học Sài Gòn Hợp: R S : R / S / R&S Giao: R S: R &S Số thuộc tính Trừ: R – S: R & không S không đổi Chọn: P (R) Chọn vài thỏa đk P Tập phép toán , , , , gọi tập đầy đủ phép toán ĐSQH – Nghĩa phép tốn biểu diễn qua chúng – Ví dụ • RS = RS ((RS) (SR)) CS 54 Ôn Tập đầy đủ phép tốn ĐSQH • R Khoa CNTT – Đại học Sài Gòn 53 = C(RS) Chiếu: A1,A2, Ak (R) Chọn vài cột Tích: R x S: u x v & n+m thuộc tính Join: R C S = X + n+ m thuộc tính Khoa CNTT – Đại học Sài Gòn 55 Khoa CNTT – Đại học Sài Gòn 56 14 Bài tập Bài tập Liệt kê danh sách mã NV, tên NV, tên phòng mà họ làm việc Khoa CNTT – Đại học Sài Gòn Liệt kê danh sách mã phòng, tên phòng, địa điểm phịng ban Khoa CNTT – Đại học Sài Gòn 57 Nội dung chi tiết 58 Phép chia Giới thiệu Đại số quan hệ Được dùng để lấy số quan hệ R cho thỏa với tất quan hệ S Ký hiệu R S Phép toán tập hợp – R(Z) S(X) Phép chọn • Z tập thuộc tính R, X tập thuộc tính S Phép chiếu • XZ Phép tích Cartesian (Cartesian Product) Phép kết Phép chia Các phép toán khác 10.Các thao tác cập nhật quan hệ Kết phép chia quan hệ T(Y) – Với Y=Z-X – Có t T với tSS, tồn tRR thỏa điều kiện • tR(Y) = t • tR(X) = tS(X) Khoa CNTT – Đại học Sài Gòn 59 R(Z) X S(X) Y T(Y ) Khoa CNTT – Đại học Sài Gòn 60 15 Phép chia Ví dụ R RS A B C D E D E A B C a a S a a a a b a a b a a a b a a a b a b Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 61 Bài tập 62 Bài tập Cho biết mã nhân viên tham gia tất đề án Cho biết mã nhân viên tham gia tất đề án phòng số phụ trách Quan hệ: PHAN_CONG, DE_AN – Quan hệ: PHAN_CONG, DE_AN Thuộc tính: MANV – Thuộc tính: MANV – Điều kiện: PHONG=4 πMANV(σPHONG=4(PHANCONG ÷DEAN)) πMANV(PHANCONG ÷DEAN) Khoa CNTT – Đại học Sài Gòn 63 Khoa CNTT – Đại học Sài Gòn 64 16 Phép chia Phép chia Biểu diễn phép chia thơng qua tập đầy đủ phép tốn ĐSQH R(Z) X S(X) Các bước: Q1 Y(R) Chọn Y R Q2 Q1 S Tích RY x S Q3 Y(Q2 R) ((RY x S)-R)Y R S MADA MANV MADA DA01 NV01 DA01 DA01 NV02 DA02 DA02 NV01 DA03 DA03 NV01 T(Y) Y X:DA Y:NV Z:PCơng (Q3: Đến ta tìm Y không tham gia đầy đủ vào S) T Q1 Q3 RY - ((RY x S)-R)Y Khoa CNTT – Đại học Sài Gòn Q2=Q1xS MANV DA01 NV01 * NV02 DA01 NV02 * Q1=RY DA02 NV01 * MANV DA02 NV02 T NV01 DA03 NV01 * MANV NV02 DA03 NV02 NV01 Khoa CNTT – Đại học Sài Gòn 65 Nội dung chi tiết Q3= Y(Q2 R) MADA MANV 66 9.1 Phép gán (Assignment) Giới thiệu Đại số quan hệ Được sử dụng để nhận lấy kết trả phép toán Phép toán tập hợp Phép chọn – Thường kết trung gian chuỗi phép toán Phép chiếu Ký hiệu Phép tích Cartesian (Cartesian Product) Phép kết Ví dụ Phép chia Các phép tốn khác – B1 9.1 Phép gán 9.2 Phép đổi tên 9.3 Hàm kết hợp (Aggregation function) 9.4 Phép gom nhóm (Grouping) 9.5 Phép kết (Outer join) S (R) KQ – B2 P A1, A2, …, Ak (S) 10 Các thao tác cập nhật quan hệ Khoa CNTT – Đại học Sài Gòn 67 Khoa CNTT – Đại học Sài Gòn 68 17 9.2 Phép đổi tên (Rename) 9.3 Hàm kết hợp Nhận vào tập hợp giá trị trả giá trị đơn Được dùng để đổi tên – AVG – Quan hệ Xét quan hệ R(B, C, D) S(R) – MIN : Đổi tên quan hệ R thành S – MAX – SUM – COUNT – 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 thuộc tính B thành X S(X,C,D)(R) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 69 9.3 Hàm kết hợp 9.4 Phép gom nhóm Ví dụ Được dùng để phân chia quan hệ thành nhiều nhóm dựa điều kiện gom nhóm Ký hiệu G1, G2, …, GnIF1(A1), F2(A2), …, Fn(An)(E) R A B SUM(B) = 10 AVG(A) = 1.5 2 70 – E biểu thức ĐSQH MIN(A) = – G1, G2, …, Gn thuộc tính gom nhóm MAX(B) = – F1, F2, …, Fn hàm COUNT(A) = Khoa CNTT – Đại học Sài Gòn – A1, A2, …, An thuộc tính tính tốn hàm F 71 Khoa CNTT – Đại học Sài Gòn 72 18 9.4 Phép gom nhóm Bài tập: Ví dụ Tính số lượng nhân viên lương trung bình cơng ty SUM(C)(R) R A B C 10 SUM_C 27 Tính số lượng nhân viên lương trung bình phòng ban SUM(C)(R) A Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 73 74 9.5 Phép kết ngồi (OUTER JOIN) Bài tập: Tính số lượng nhân viên lương trung bình cơng ty Tính số lượng nhân viên lương trung bình phịng ban Mở rộng phép kết để tránh mát thông tin – Thực phép kết – Lấy thêm không thỏa điều kiện kết Có hình thức – Mở rộng bên trái (left outer join): – Mở rộng bên phải (right outer join): – Mở rộng bên (full outer join): Khoa CNTT – Đại học Sài Gòn 75 Khoa CNTT – Đại học Sài Gịn 76 19 9.5 Phép kết ngồi (OUTER JOIN) 9.5 Phép kết (OUTER JOIN) INNER JOIN trả kết ghi mà trường join hai bảng khớp nhau, ghi xuất hai bảng bị loại Khoa CNTT – Đại học Sài Gòn HALF OUTER JOIN (LEFT RIGHT): bảng A LEFT OUTER JOIN với bảng B kết gồm ghi có bảng A, với ghi khơng có mặt bảng B cột từ B điền NULL Các ghi có B mà khơng có A khơng trả 78 Giới thiệu Đại số quan hệ Phép toán tập hợp Phép chọn – Quan hệ: NHAN_VIEN, PHONG_BAN Phép chiếu – Thuộc tinh: TENNV, TENPH KQ Khoa CNTT – Đại học Sài Gòn Nội dung chi tiết Ví dụ: Cho biết họ tên nhân viên tên phịng ban mà họ phụ trách có NHAN_VIEN FULL OUTER JOIN: kết gồm tất ghi hai bảng Với ghi xuất bảng cột liệu từ bảng điền giá trị NULL 77 9.5 Phép kết ngồi R1 PHG=MAPHG Phép tích Cartesian (Cartesian Product) Phép kết PHONG_BAN HONV,TENNV, TENPHG (R1) TENNV HONV TENPHG Tung Nguyen Nghien cuu Hang Bui null Nhu Le null Vinh Pham Quan ly Phép chia Các phép toán khác 10 Các thao tác cập nhật quan hệ 10.1 Thêm 10.2 Xóa 10.3 Sửa Khoa CNTT – Đại học Sài Gòn 79 Khoa CNTT – Đại học Sài Gòn 80 20 10 Các thao tác cập nhật 10.1 Thao tác thêm Nội dung CSDL cập nhật thao tác Được diễn đạt Rnew – Thêm (insertion) Rold E – Xóa (deletion) – R quan hệ – Sửa (updating) – E biểu thức ĐSQH Các thao tác cập nhật diễn đạt thông qua phép tốn gán Rnew Ví dụ – Phân cơng nhân viên có mã 123456789 làm thêm đề án phép toán Rold mã số 20 với số 10 PHAN_CONG Khoa CNTT – Đại học Sài Gòn PHAN_CONG (‘123456789’, 20, 10) Khoa CNTT – Đại học Sài Gòn 81 82 10.3 Thao tác sửa 10.2 Thao tác xóa Được diễn đạt Được diễn đạt Rnew F1, F2, …, Fn (Rold) Rnew Rold E – R quan hệ – R quan hệ – Fi biểu thức tính tốn cho giá trị thuộc tính – E biểu thức ĐSQH Ví dụ Ví dụ – Tăng thời gian làm việc cho tất nhân viên lên 1.5 lần – Xóa phân cơng đề án nhân viên 123456789 PHAN_CONG PHAN_CONG PHAN_CONG MANV=‘123456789’(PHAN_CONG) – Các nhân viên làm việc 30 tăng thời gian làm Xóa phân cơng đề án có địa điểm ‘Ha Noi’ Khoa CNTT – Đại học Sài Gòn MA_NVIEN, SODA, THOIGIAN*1.5(PHAN_CONG) việc lên 1.5 lần, lại tăng lên lần 83 Khoa CNTT – Đại học Sài Gịn 84 21 Bài tập Xóa phân cơng đề án có địa điểm ‘Ha Noi’ Các nhân viên làm việc 30h tăng thời gian làm việc lên 1.5 lại tăng lên lần Thank you! Khoa CNTT – Đại học Sài Gòn 85 22 ... cuu MAPHG TRPHG NG_NHANCHUC 33 3445555 05/22/1988 MAPHG B2: Chọn thỏa TRPHG=MANV 987987987 NG_NHANCHU 01/01/1995 MANV TRPHG 888665555 C 06/19/1981 33 3445555 05/22/1988 33 3445555 TENNV HONV … Tung... ((RY x S)-R)Y R S MADA MANV MADA DA01 NV01 DA01 DA01 NV02 DA02 DA02 NV01 DA 03 DA 03 NV01 T(Y) Y X:DA Y:NV Z:PCơng (Q3: Đến ta tìm Y khơng tham gia đầy đủ vào S) T Q1 Q3 RY - ((RY x S)-R)Y Khoa... việc lên 1.5 lần, lại tăng lên lần 83 Khoa CNTT – Đại học Sài Gịn 84 21 Bài tập Xóa phân cơng đề án có địa điểm ‘Ha Noi’ Các nhân viên làm việc 30 h tăng thời gian làm việc lên 1.5 lại tăng lên