Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
29,32 MB
Nội dung
BÀI GIẢNG CỞ SỞ DỮ LiỆU Các phép toán (operation) phép toán Phép chọn (selection) Phép chiếu (projection) Phép hợp (union) Phép trừ (set difference) Phép tích Descartes (Cartesian product) phép toán suy dẫn* Phép kết (Join) Phép giao (Intersection) Phép chia (Division) (*Có thể biểu diễn dạng phép toán bản) Ký hiệu Quan hệ r thể lược đồ quan hệ R(A1, A2, …, Am) Điều kiện F biểu thức luận lý có giá trị true/false F bao gồm: Các toán hạng tên thuộc tính Các phép tốn so sánh =, , , Các phép toán luận lý not (), and (), or () Phép chọn (selection) Phép chọn quan hệ r(R) theo điều kiện F, ký hiệu r(F) hay r:F , cho kết quan hệ bao gồm r thỏa mãn điều kiện F r(F) = r:F = { t |t r F(t) = true } * Phép chọn phép chiếu phép toán tốn hạng Phép chọn (selection) – ví dụ Relation r A B C D r(A=B) 7 12 23 10 r(A=B ^ D>5) A B C D 12 23 10 A B C D 23 10 Phép chiếu (Projection) Cho quan hệ r R(A1, A2, ,Am) tập thuộc tính X={Aj1, Aj2, …, Ajn} với j1, j2, , jn số nguyên phân biệt nằm khoảng từ đến m Phép chiếu r tập thuộc tính X cho kết quan hệ r[X] = r.X = {t | u r cho t = u[X]} Phép chiếu loại bỏ trùng Phép chiếu (Projection) – ví dụ Relation r r[A,C] A B C A C A C 10 20 30 40 Phép hợp (union) Phép hợp quan hệ r s r + s = r s = { t | t r t s} đó: r s hai quan hệ khả hợp r+s Phép hiệu (Set Difference) Phép hiệu quan hệ r s r-s={t|tr ts} đó: r s hai quan hệ khả hợp r-s Phép giao (Intersection) Phép giao quan hệ r s r * s = r s = {t | t r t s} đó: r s hai quan hệ khả hợp r*s Hai quan hệ r s khả hợp ( union-compatible) : •Có số thuộc tính •Các thuộc tính tương ứng có miền giá trị Bài tập Cho quan hệ định nghĩa lược đồ Quan hệ : Customer( Cuscode, cusName, cusPhone, City) Supplier ( SupCode, SupName, SupPhone, City) Hiển thị danh sách thành phố có khách hàng đồng thời có nhà cung cấp? Hiển thị danh sách thành phố có khách hàng khơng có nhà cung cấp? Phép kết (join) thay phép (r x s) (F) với F biểu thức điều kiện có dạng r.A s.B Bao gồm : Theta join ( -join join) Equijoin Natural join Outer join Phép kết - Theta join Cho r s hai quan hệ tương ứng lược đồ R(A1, A2, ,Am) S(B1,B2,…,Bn) Gọi Q(A1, A2, , Am, B1, B2, ….,Bn) phép so sánh Ai R Bj S thuộc tính so sánh với phép Phép kết r s thuộc tính Ai Bj ký hiệu , cho kết quan hệ q lược đồ quan hệ Q, bao gồm t q(Q) = {t | tr r r tss s với t[R] = tr Ai Bj t[S] = ts t[Ai] t[Bj] } 13 Phép kết - Theta join Ví dụ : Hiển thị ứng với mã mơn học mơn học tiếp sau ? MONHOC ( MaMon, TenMon, SoTC, Hocky) MaMon A B C D TenMon Aaaa Bbbb Cccc Dddd SoTC Hocky 1 Chú ý : Sử dụng phép gán để tạo biến quan hệ tạm: s r [MaMon, Hocky] , với r MONHOC 14 Phép kết - Theta join MaMon A B C D Hocky 1 r s r.Hocky < s.Hocky MaMon A A B B C MaMon A B C D MaMonsau C D C D D Hocky 1 Phép kết kết tự nhiên Phép kết Theta với phép so sánh , gọi phép kết _ Equijoin Phép kết Theta với phép so sánh thực thuộc tính chung (cùng tên) R S , gọi phép kết tự nhiên – Natural join Ký hiệu Quan hệ kết q không lặp lại thuộc tính chung R r s S VD: Hiển thị danh sách khách hàng nhà cung cấp thành phố Customer( Cuscode, cusName, cusPhone, City) Supplier ( SupCode, SupName, SupPhone, City) 16 Phân biệt phép join Phép so sánh Theta join Tất Equijoin phép Natural join phép Áp dụng Tập kết Trên thuộc tính kiểu liệu Trên thuộc tính kiểu liệu Trên thuộc Khơng lặp lại tính chung thuộc tính chung Phép kết - Outer join Bao gồm : Left/Right Outer Join, Full Outer Join Phép kết Left Outer Join r s, cho phép r không kết với s xuất quan hệ kết Những giá trị tương ứng với quan hệ bị thiếu gán trị Null Ưu điểm : giữ thông tin mà lẽ bị phép kết Ký hiệu : r s 18 Phép kết - Outer join MASV MAMH DIEM 99001 CSDL 5.0 99002 FOX 2.0 99003 MANG 8.0 MASV r MAMH s MAMH DIEM TENMH CSDL COSO DULIEU FOX FOXPRO MAMH TENMH 99001 CSDL 5.0 CSDL COSO DULIEU 99002 FOX 2.0 FOX FOXPRO 99003 MANG 8.0 Phép chia - Division Cho quan hệ r định nghĩa R với tập thuộc tính A Cho quan hệ s định nghĩa S với tập thuộc tính B , với BA Gọi C = A - B , tập thuộc tính có tập thuộc tính A R Phép chia r s cho kết quan hệ với tập thuộc tính C bao gồm cho s , tồn thuộc r Phép chia – Division r A B 1 s A B rs s Phép chia – Division Ví dụ : cho lược đồ CSDL SV( MaSV, HoSV, TenSV, Phai) Monhoc( MaMon, TenMon, SoTC ) KetQua( MaSV, MaMon, Diem) Hiển thị danh sách Sinh viên (MaSV) có kết học tập tất môn học ? KetQua[MaSV, MaMon] Monhoc[MaMon] ... - Outer join MASV MAMH DIEM 99001 CSDL 5.0 99002 FOX 2.0 99003 MANG 8.0 MASV r MAMH s MAMH DIEM TENMH CSDL COSO DULIEU FOX FOXPRO MAMH TENMH 99001 CSDL 5.0 CSDL COSO DULIEU 99002 FOX 2.0 FOX... Theta join Tất Equijoin phép Natural join phép Áp dụng Tập kết Trên thuộc tính kiểu liệu Trên thuộc tính kiểu liệu Trên thuộc Không lặp lại tính chung thuộc tính chung Phép kết ngồi - Outer join... Hocky 1 Chú ý : Sử dụng phép gán để tạo biến quan hệ tạm: s r [MaMon, Hocky] , với r MONHOC 14 Phép kết - Theta join MaMon A B C D Hocky 1 r s r.Hocky < s.Hocky MaMon A A B B C MaMon A B