Bài giảng Cơ sở dữ liệu - Chương 1: Mô hình dữ liệu quan hệ

1. Các khái niệm cơ bản 2. Các thao tác cơ bản trên quan hệ 3. Các phép toán tập hợp 4. Các phép toán quan hệ 1. CÁC KHÁI NIỆM CƠ BẢN 1.1. Thuộc tính (Attribute) 1.2. Quan hệ (Relation) 1.3. Bộ giá trị (Tuple) 1.4. Lược đồ quan hệ (Relation Schema) 1.5. Thể hiện của quan hệ 1.6. Khóa (Key) 1.7. Phụ thuộc hàm (Functional Dependency) 1.8. Ràng buộc toàn vẹn (Integrity Constraint)

pdf56 trang | Chia sẻ: candy98 | Lượt xem: 911 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 1: Mô hình dữ liệu quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MÔ HÌNH DỮ LIỆU QUAN HỆ 1. Các khái niệm cơ bản 2. Các thao tác cơ bản trên quan hệ 3. Các phép toán tập hợp 4. Các phép toán quan hệ 21. CÁC KHÁI NIỆM CƠ BẢN 1.1. Thuộc tính (Attribute) 1.2. Quan hệ (Relation) 1.3. Bộ giá trị (Tuple) 1.4. Lược đồ quan hệ (Relation Schema) 1.5. Thể hiện của quan hệ 1.6. Khóa (Key) 1.7. Phụ thuộc hàm (Functional Dependency) 1.8. Ràng buộc toàn vẹn (Integrity Constraint) 31.1. Thuộc tính (Attribute) Thuộc tính là một tính chất riêng biệt của một đối tượng cần được lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng Ví dụ:  Loại thực thể MÔN-HỌC có một số thuộc tính Mã-môn, Tên-môn, Số-Đv-Học-Trình.  Loại thực thể HỌC-VIÊN có một số thuộc tính Mã-khoa, Mã-học-viên, Tên-học-viên, Ngày-sinh, Quê-quán. 41.1. Thuộc tính (TT) Các đặc trưng của thuộc tính:  Tên gọi (Name)  Kiểu dữ liệu (Data Type)  Miền giá trị (Domain) 51.1. Thuộc tính (TT) Tên thuộc tính -Có tính chất gợi nhớ -Đặt đúng quy định của hệ QTCSDL -Không nên đặt quá dài Nếu không cần lưu ý đến ngữ nghĩa thì tên thuộc tính thường được ký hiệu bằng các chữ cái A, B, C, D, , còn X, Y, Z, W, dùng thay cho 1 nhóm thuộc tính. 61.1. Thuộc tính (TT) Kiểu dữ liệu (Data Type): Mỗi thuộc tính đều phải thuộc một kiểu dữ liệu nhất định  Kiểu văn bản  Kiểu số  Kiểu luận lý  Kiểu ngày giờ 71.1. Thuộc tính (TT) Một số kiểu dữ liệu trong SQL Server Kieåu Loaïi Byte Dieãn giaûi Bit Soá nguyeân 1 Kieåu bit – giaù trò 0 hoaëc 1 Int Soá nguyeân 4 -2,147,483,648  +2,147,483,648 SmallInt Soá nguyeân 2 -32768  32767 Decimal Soá thöïc V -1038 –1  1038 -1 Float Soá thöïc 8 -1.79E+308  +1.79E+308 DateTime Ngaøy giôø 8 1/1/1753  31/12/9999 Char Kyù töï V Chieàu daøi coá ñònh VarChar Kyù töï V Chieàu daøi thay ñoåi 81.1. Thuộc tính (TT) Miền giá trị (Domain): Mỗi thuộc tính chỉ chọn những giá trị trong một tập hợp con của kiểu dữ liệu. Tập hợp các giá trị mà một thuộc tính A có thể nhận được gọi là miền giá trị của A  Ký hiệu Dom(A), MGT(A) Trong nhiều hệ QTCSDL, người ta đưa thêm vào miền giá trị của các thuộc tính một giá trị đặc biệt gọi là giá trị rỗng (NULL). 91.2. Quan hệ (Relation) Một quan hệ R có n ngôi được định nghĩa trên tập các thuộc tính U = {A1, A2, ... An} và kèm theo nó là một tân từ, tức là một quy tắc để xác định mối quan hệ giữa các thuộc tính Ai Ký hiệu R (A1, A2, ... An).  Ví dụ:  KHOA (Mã-khoa, Tên-khoa), là một quan hệ 2 ngôi.  Tân từ: "Mỗi khoa có một tên gọi và một mã số duy nhất để phân biệt với tất cả các khoa khác của trường". 10 1.3. Bộ giá trị (Tuple)  Một bộ giá trị là các thông tin của một đối tượng thuộc quan hệ. Bộ giá trị còn được gọi là mẫu tin (Record),dòng (Row)  Về mặt hình thức, một bộ q là một vectơ gồm n thành phần thuộc tập hợp con của tích Đề-các miền giá trị của các thuộc tính, thỏa mãn tân từ của quan hệ  q = (a1,..., an)  (MGT(A1) x ... x MGT(An))  Ví dụ: Đây là bộ giá trị của quan hệ HỌC-VIÊN: q = (SV001,Lê Văn Nam,27/03/80,Cà Mau, 7TH1) 11 1.4. Lược đồ quan hệ Lược đồ quan hệ là sự trừu tượng hóa của quan hệ, một sự trừu tượng hóa ở mức độ cấu trúc của một bảng hai chiều.  Khi nói tới lược đồ quan hệ tức là đề cập tới cấu trúc tổng quát của một quan hệ  Khi đề cập tới quan hệ thì đó là một bảng có cấu trúc cụ thể hoặc một định nghĩa cụ thể trên một lược đồ quan hệ với các bộ giá trị của nó. 12 1.5. Thể hiện của quan hệ Thể hiện (hoặc tình trạng) của quan hệ R, ký hiệu bởi TR, là tập hợp các bộ giá trị của quan hệ R vào một thời điểm.  Tại những thời điểm khác nhau thì quan hệ sẽ có những thể hiện khác nhau.  Ví dụ: Quan hệ MÔN-HỌC Maõ-moân Teân-Moân Soá-ÑVHT LTCB Laäp trình caên baûn 4 LTHDT Laäp trình höôùng ñoái töôïng 5 CSDL Cô sôû döõ lieäu 4 13 1.6. Khóa (Key) Siêu khóa của lược đồ quan hệ Q là tập hợp các thuộc tính có thể dùng làm cơ sở để phân biệt 2 bộ khác nhau tùy ý trong 1 quan hệ bất kỳ được định nghĩa trên lược đồ quan hệ Q  1 lược đồ có ít nhất 1 siêu khóa và có thể có nhiều siêu khóa.  Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)  Siêu khóa: {MaSV}, {MaSV, HoTen}, {MaSV, NSinh}, 14 1.6. Khóa (Key) (TT) Khóa chỉ định: Trong số những siêu khóa của 1 lược đồ quan hệ Q, chúng ta chọn ra những Siêu khóa “nhỏ nhất” gọi là khóa chỉ định (Khóa nội).  1 lược đồ có ít nhất 1 khóa chỉ định và có thể có nhiều khóa chỉ định.  Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)  Khóa chỉ định: {MaSV} 15 1.6. Khóa (Key) (TT) Khóa chính (Primary Key): Trong trường hợp lược đồ quan hệ Q có nhiều khóa chỉ định, khi cài đặt trên 1 hệ QTCSDL, user chọn 1 khóa chỉ định làm khóa chính, những khóa còn lại gọi là Khóa tương đương.  Thuộc tính có tham gia vào 1 khóa gọi là thuộc tính khóa, ngược lại – thuộc tính không khóa.  Thuộc tính khóa không chứa giá trị NULL  Không sửa đổi giá trị thuộc tính khóa 16 1.6. Khóa (Key) (TT)  Khóa ngoại (Foreign Key): Giả sử có 2 quan hệ R, S. Một tập thuộc tính K của R được gọi là khóa ngoại của R nếu K là khóa nội của S.  Ví dụ:  Mã-khoa trong LỚP-HỌC là khóa ngoại vì nó là khóa nội của quan hệ KHOA.  Mã-lớp trong HỌC-VIÊN là khóa ngoại vì nó là khóa nội của quan hệ LỚP-HỌC 17 1.7. Phụ thuộc hàm Quan hệ R được định nghĩa trên tập thuộc tính U = {A1, A2, ..., An}. X, Y  U là 2 tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f: X  Y thì ta nói rằng X xác định hàm Y, hay Y phụ thuộc hàm vào X và ký hiệu là X  Y.  Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)  Ta có Pth: MaSV  HoTen 18 1.8. Ràng buộc toàn vẹn  Ràng buộc toàn vẹn (RBTV) là một quy tắc định nghĩa trên một (hay nhiều) quan hệ do môi trường ứng dụng quy định. Đó chính là quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL.  Mỗi RBTV được định nghĩa bằng một thuật toán trong CSDL.  Ví dụ: NHANVIEN (MaNV, HoTen, HSL, DC)  Ta có RBTV: HSL phải >=1 và <=10 nv  NHANVIEN thì nv.HSL >=1 & nv.HSL <= 10 19 2. CÁC THAO TÁC CƠ BẢN 2.1. Phép thêm (INSERT) 2.2. Phép xóa (DELETE) 2.3. Phép sửa (UPDATE) 20 2.1. Phép thêm (INSERT)  Việc thêm 1 bộ giá trị mới t vào quan hệ R (A1, A2, ... An) làm cho thể hiện TR của nó tăng thêm 1 phần tử mới: TR = TR  t.  Dạng hình thức của phép thêm là: INSERT (R; Ai1=v1, Ai2 =v2, ... Aim= vm)  trong đó, Ai1, Ai2, ... Aim là các thuộc tính, và v1, v2, ... vm là các giá trị thuộc MGT(Ai1), MGT(Ai2) , ..., MGT(Aim) tương ứng. 21 2.1. Phép thêm (INSERT) (TT) Phép thêm có thể không thực hiện được hoặc làm mất tính nhất quán của dữ liệu trong CSDL vì các lý do:  Giá trị khóa của bộ mới là rỗng (NULL) hoặc trùng với giá trị khóa đã có.  Bộ mới không phù hợp với lược đồ quan hệ: sai thứ tự, sai kiểu hoặc độ lớn của các thuộc tính.  Một số giá trị của bộ mới không thuộc miền giá trị của thuộc tính tương ứng. 22 2.2. Phép xóa (DELETE)  Phép xóa (loại bỏ) 1 bộ t của quan hệ sẽ lấy đi bộ t khỏi thể hiện của quan hệ. TR = TR \ t  Phép xóa được viết 1 cách hình thức : DELETE (R; Ai1=v1, Ai2 =v2, ... Aim= vm)  trong đó Aij=vj (j = 1, 2, ..., m) được coi như những điều kiện thỏa một số thuộc tính của bộ t để loại bỏ 1 bộ ra khỏi quan hệ. 23 2.2. Phép xóa (DELETE)  Phép xóa (loại bỏ) 1 bộ t của quan hệ sẽ lấy đi bộ t khỏi thể hiện của quan hệ. TR = TR \ t  Phép xóa được viết 1 cách hình thức : DELETE (R; Ai1=v1, Ai2 =v2, ... Aim= vm)  trong đó Aij=vj (j = 1, 2, ..., m) được coi như những điều kiện thỏa một số thuộc tính của bộ t để loại bỏ 1 bộ ra khỏi quan hệ. 24 2.3. Phép sửa (UPDATE)  Một số hệ QTCSDL đưa ra nhiều câu lệnh khác nhau để sửa dữ liệu: EDIT, UPDATE.  Trong ngôn ngữ hình thức, phép sửa đổi giá trị các bộ của quan hệ có dạng: UPDATE (R; Ai1=c1, Ai2 =c2, ... Aim= cm; Ai1=v1, Ai2 =v2, ... Aim= vm)  Trong đó R là quan hệ cần sửa đổi; Aij= cj (j = 1, 2, ..., m) là điều kiện tìm kiếm bộ giá trị để sửa và Aij= vj (j = 1, 2, ..., m) là giá trị mới của bộ. 25 3. CÁC PHÉP TOÁN TẬP HỢP 3.1. Phép hội (Union) 3.2. Phép giao (Intersection) 3.3. Phép trừ (Minus) 3.4. Tích Đềcác (Cartesian Product) 3.5. Phép chia (Division) 3.6. Phép bù (complement) 26 3.1. Phép hội (Union)  Hội của 2 quan hệ R và S – được ký hiệu là R  S - là một quan hệ Q có cùng thứ tự thuộc tính như trong quan hệ R và S, được định nghĩa như sau: Q = R  S = {t / t  R hoặc t  S }  Nói cách khác, hội của 2 quan hệ R và S là 1 quan hệ có các bộ giá trị bằng gộp các bộ giá trị của cả R và S; những bộ giá trị trùng nhau chỉ được giữ lại 1 bộ. 27 3.1. Phép hội (Union) Ví dụ: R (ABC) S (ABC) RS(ABC) --------- --------- --------- a1b1c1 a1b1c1 a1b1c1 a2b1c2 a2b2c2 a2b1c2 a2b2c1 a2b2c1 a2b2c2 28 3.1. Phép hội (Union) Maso HoTen Phai ChucVu 100 Nguyen Van Nam Nam GD 101 Hoang Thi Xuan Nu KTT 103 Dang Ngoc Chien Nam TK Maso HoTen Phai ChucVu 221 Do Huu Ngoc Nam PP 101 Hoang Thi Xuan Nu KTT Maso HoTen Phai ChucVu 100 Nguyen Van Nam Nam GD 101 Hoang Thi Xuan Nu KTT 103 Dang Ngoc Chien Nam TK 221 Do Huu Ngoc Nam PP Ví dụ DS ĐƠNVỊ A DS ĐƠNVỊ B DS CTY 29 3.2. Phép giao (Intersection)  Giao của 2 quan hệ R và S - được ký hiệu là R  S, là một quan hệ Q có cùng thứ tự thuộc tính như trong quan hệ R và S, được định nghĩa như sau: Q = R  S = {t / t  R và t  S }  Nói cách khác, Giao của 2 quan hệ R và S là 1 quan hệ với các bộ giá trị là các bộ giống nhau của cả 2 quan hệ R và S. 30 3.2. Phép giao (Intersection) Ví dụ: R (ABC) S (ABC) RS(ABC) --------- --------- --------- a1b1c1 a1b1c1 a1b1c1 a2b1c2 a2b2c2 a2b2c1 31 3.2. Phép giao (Intersection) Maso HoTen Phai ChucVu 100 Nguyen Van Nam Nam GD 101 Hoang Thi Xuan Nu KTT 103 Dang Ngoc Chien Nam TK Maso HoTen Phai ChucVu 221 Do Huu Ngoc Nam PP 101 Hoang Thi Xuan Nu KTT Maso HoTen Phai ChucVu 101 Hoang Thi Xuan Nu KTT Ví dụ DS ĐƠNVỊ A DS ĐƠNVỊ B DS CTY 32 3.3. Phép trừ (Minus)  Hiệu của 2 quan hệ R và S – được ký hiệu là R - S, là một quan hệ Q có cùng thứ tự thuộc tính như trong quan hệ R và S, được định nghĩa như sau: Q = R - S = {t / t  R và t  S }  Nói cách khác, hiệu của 2 quan hệ R và S là 1 quan hệ với các bộ giá trị là các bộ giá trị của R sau khi đã loại bỏ các bộ có trong quan hệ S. 33 3.3. Phép trừ (Minus) Ví dụ: R (ABC) S (ABC) R-S = (ABC) --------- --------- --------- a1b1c1 a1b1c1 a2b1c2 a2b1c2 a2b2c2 a2b2c1 a2b2c1 34 3.3. Phép trừ (Minus) Maso HoTen Phai ChucVu 100 Nguyen Van Nam Nam GD 101 Hoang Thi Xuan Nu KTT 103 Dang Ngoc Chien Nam TK Maso HoTen Phai ChucVu 221 Do Huu Ngoc Nam PP 101 Hoang Thi Xuan Nu KTT Maso HoTen Phai ChucVu 100 Nguyen Van Nam Nam GD 103 Dang Ngoc Chien Nam TK Ví dụ DS ĐƠNVỊ A DS ĐƠNVỊ B DS CTY 35 3.4. Tích Đềcác (Cartesian Product)  R (A1, A2, ..., An) và S (B1, B2, ..., Bm) là hai quan hệ có số bộ giá trị hữu hạn. Tích Đề-các của hai quan hệ R và S, được ký hiệu là R x S, là một quan hệ Q xác định trên tập thuộc tính của R và S (với n + m thuộc tính) và được định nghĩa như sau: Q = R x S = {t / t có dạng (a1, ..., an, b1, ..., bm) trong đó (a1, ..., an)  R và (b1, ..., bm)  S }  Như vậy, nếu R có n1 bộ giá trị và S có n2 bộ giá trị, thì Q sẽ có n1 x n2 bộ giá trị. 36 3.4. Tích Đềcác (Cartesian Product) Ví dụ: R (ABC) S (DEF) R x S = (ABCDEF) --------- --------- ------------------ a1b1c1 d1e1f1 a1b1c1d1e1f1 a2b2c2 d2e2f2 a1b1c1d2e2f2 a2b2c2d1e1f1 a2b2c2d2e2f2 37 3.5. Phép chia (Division)  R là quan hệ n ngôi và S là quan hệ m ngôi (n > m và S ≠  ), có m thuộc tính chung (giống nhau về mặt ngữ nghĩa, hoặc các thuộc tính có thể so sánh được) giữa R và S. Phép chia 2 quan hệ R và S, ký hiệu là R÷ S, là một quan hệ Q có n - m ngôi được định nghĩa như sau: Q = R  S = { t /u  S, (t,u)  R } 38 3.5. Phép chia (Division)  Ví dụ: R (A, B, C, D) S (C, D) R÷ S= (A, B) ----------- --------- --------- a b c d c d a b a b e f e f e d b c e f e d c d e d e f a b d e 39 3.5. Phép chia (Division)  Ví dụ: Cho quan hệ KHẢ-NĂNG (MSPC, MSMB) MSPC MSMB 32 102 30 101 30 103 32 103 33 100 30 102 31 102 30 100 Hỏi: Cho biết các Phi công lái được cả 3 loại máy bay 100, 101, 103 Trả lời: Đó là thương của phép chia QH KHẢ-NĂNG cho quan hệ MÁY- BAY(MSMB) Kết quả: là quan hệ PHI-CÔNG có 1 bộ giá trị (30) 100 101 103 40 3.6. Phép bù (complement)  Cho quan hệ R (A1,..., An) với các miền giá trị là MGT(Ai). Phép bù của quan hệ R là quan hệ Q, ký hiệu là  R, được Đ/N: Q= R= { t (a1,..., an) , ai  MGT(Ai)  i=1..n / t  R }  Gồm tất cả các bộ có thể có của tích Đề-các miền giá trị MGT(Ai) nhưng chưa có mặt trong thể hiện của quan hệ R.  Trong thực tế rất ít hệ quản trị CSDL cài đặt phép toán này. 41 3.6. Phép bù (complement)  Ví dụ Cho QH CUNG-CẤP (MANCC,MAHH) với MANCC={S1, S2, S3} & HANG={Đinh, Oác, Vít} MANCC HANG S1 Oác S2 Vít S3 Oác S3 Ñinh MANCC HANG S1 Ñinh S1 Vít S2 Oác S2 Ñinh S3 Vít Quan hệ bù của QH CUNG-CẤP có các bộ giá trị sau: 42 4. CÁC PHÉP TOÁN QUAN HỆ 4.1. Phép chiếu (Projection) 4.2. Phép chọn (Selection) 4.3. Phép  - kết (Theta – Join) 4.4. Phép kết tự nhiên (Natural – Join) 43 4.1. Phép chiếu (Projection)  Giả sử R là 1 quan hệ xác định trên tập thuộc tính U = {A1,..., An }. X  U. Phép chiếu quan hệ R trên tập các thuộc tính X là 1 quan hệ Q xác định trên tập thuộc tính X, ký hiệu là R [X], được định nghĩa như sau: Q = R [X] = { q /  t  R: q = t.X }  Ký hiệu: X(R).  Nếu X ={Ai1,... Aim } thì viết cụ thể là Ai1...Aim(R) 44 4.1. Phép chiếu (Projection) Ngữ nghĩa: Trích từ R một số thuộc tính nào đó để tạo thành một quan hệ mới. Số ngôi của quan hệ mới này bằng số thuộc tính của tập con X. Các bộ giá trị của các cột được trích nếu giống nhau sẽ được loại bỏ để chỉ giữ lại một bộ duy nhất. 45 4.1. Phép chiếu (Projection) Ví dụ: Cho R(ABCD), X={A,B}, Y={A,C} R(ABCD) X(R)=(AB) Y(R)=(AC) ------------ ------ ------ a1b1c1d1 a1b1 a1c1 a1b1c1d2 a2b2 a2c2 a2b2c2d2 a2c3 a2b2c3d3 46 4.1. Phép chiếu (Projection) Ví dụ: cho Bảng PHONGBAN. Trích ra DS những địa điểm khác nhau của các Phòng. MAPH TENPH DIADIEM 10 KE TOAN Q5 30 TIN HOC Q5 50 TIEP THI Q6 60 SAN XUAT Q8 90 KINH DOANH Q8 Chiếu của Bảng PHONGBAN trên thuộc tính DIADIEM: DIADIEM(PHONGBAN) DIADIEM Q5 Q6 Q8 47 4.2. Phép chọn (Selection)  Giả sử R (A1,... An) là 1 quan hệ, và F là 1 điều kiện dựa trên tập con thuộc tính R+= {A1,... An}. Đánh giá điều kiện F trên bộ giá trị t  R được ký hiệu là F(t). Phép chọn các bản ghi của R thỏa mãn điều kiện F là 1 quan hệ Q có cùng ngôi với R, ký hiệu là F(R) được định nghĩa như sau: Q = F(R) = {t  R / F(t) = đúng }  Ký hiệu: F(R). 48 4.2. Phép chọn (Selection)  Ý nghĩa: Cho phép chọn những mẫu tin thỏa mãn một điều kiện F nào đó để đưa vào quan hệ kết quả.  Điều kiện F là một biểu thức lôgíc cho kết quả đúng (True) hoặc sai (False); nó là tổ hợp (dùng các phép toán , , ) của các biểu thức lôgic cơ sở.  Mỗi biểu thức cơ sở chứa một phép so sánh: <, <=, >, >=, = và  () có dạng: Thuộc tính so sánh với thuộc tính. Thuộc tính so sánh với hằng (literal) 49 4.2. Phép chọn (Selection) Ví dụ: R(ABCD) A=a1(R)=(ABCD) ------------ ------------ a1b1c1d1 a1b1c1d1 a1b1c1d2 a1b1c1d2 a2b2c2d2 a2b2c3d3 50 4.2. Phép chọn (Selection) Ví dụ: cho Bảng PHONGBAN. Trích ra DS những Phòng ở Q5. MAPH TENPH DIADIEM 10 KE TOAN Q5 30 TIN HOC Q5 50 TIEP THI Q6 60 SAN XUAT Q8 90 KINH DOANH Q8 Chọn từ Bảng PHONGBAN với điều kiện DIADIEM=‘Q5’  DIADIEM=‘Q5’(PHONGBAN). 51 4.3. Phép  - kết (Theta – Join) Xếp cạnh nhau:  Có 2 quan hệ R (A1,..., An) và S (B1, ..., Bm).  t = (a1,..., an) là 1 bộ giá trị của R và u = (b1,..., bm) là 1 bộ giá trị của S. Gọi v là bộ ghép nối u vào t (hay bộ giá trị t và u được "xếp cạnh nhau") được định nghĩa như sau: v = (t, u) = (a1,..., an, b1,..., bm) 52 4.3. Phép  - kết (Theta – Join)  A  R+ và B  S+ là 2 thuộc tính có thể so sánh được.  Gọi  là 1 trong các phép toán so sánh {, >=, =,  }  Phép kết nối 2 quan hệ R với S trên các thuộc tính A và B với phép so sánh  được định nghĩa qua: AB R |><| S = {v = (t, u)  t  R , u  S và t.A  u.B} 53 4.3. Phép  - kết (Theta – Join)  Phép kết nối 2 quan hệ R và S có thể xem như được thực hiện qua 2 bước: Bước 1: Tích Descartes 2 quan hệ R và S. Bước 2: Chọn các bộ giá trị thỏa mãn điều kiện A  B. 54 4.3. Phép  - kết (Theta – Join) Ví dụ: R.B  S.C R(ABC) S(CDE) R |><| S=Q(ABCCDE) --------- --------- --------------- a111 1d1e1 a1111d1e1 a221 2d2e2 a2211d1e1 a322 3d3e3 a2212d2e2 a3221d1e1 a3222d2e2 55 4.4. Phép kết tự nhiên  Nếu  là phép toán so sánh bằng nhau (=) thì ta gọi đó là phép kết nối bằng (Equi Join).  Nếu các thuộc tính so sánh là giống tên nhau thì trong kết quả của phép kết nối sẽ loại bỏ đi 1 trong 2 thuộc tính đó, khi đó phép kết nối được gọi là phép kết nối tự nhiên (Natural Join)  Ký hiệu: R * S 56 4.4. Phép kết tự nhiên Ví dụ: R(ABC) S(CDE) R * S=Q(ABCDE) --------- --------- ------------ a111 1d1e1 a111d1e1 a221 2d2e2 a221d1e1 a322 3d3e3 a322d2e2
Tài liệu liên quan