Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - ThS. Nguyễn Vương Thịnh

pptx 54 trang phuongnguyen 2400
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - ThS. Nguyễn Vương Thịnh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_co_so_du_lieu_va_quan_tri_co_so_du_lieu_chuong_3_m.pptx

Nội dung text: Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - ThS. Nguyễn Vương Thịnh

  1. TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU Chương 3 MÔ HÌNH DỮ LIỆU QUAN HỆ Giảng viên: ThS. Nguyễn Vương Thịnh Bộ môn: Hệ thống thông tin Hải Phòng, 2016
  2. Thông tin về giảng viên Họ và tên Nguyễn Vương Thịnh Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin Học vị Thạc sỹ Chuyên ngành Hệ thống thông tin Cơ sở đào tạo Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội Năm tốt nghiệp 2012 Điện thoại 0983283791 Email thinhnv@vimaru.edu.vn Website 2
  3. Thông tin về học phần Tên học phần Cơ sở dữ liệu và quản trị cơ sở dữ liệu Tên tiếng Anh Database and Database Management Mã học phần 17425 Số tín chỉ 04 tín chỉ (LT: 45 tiết, TH: 30 tiết) Bộ môn phụ trách Hệ thống thông tin PHƯƠNG PHÁP HỌC TẬP, NGHIÊN CỨU ❖ Nghe giảng, thảo luận, trao đổi với giảng viên trên lớp. ❖ Tự nghiên cứu tài liệu và làm bài tập ở nhà. PHƯƠNG PHÁP ĐÁNH GIÁ ❖ SV phải tham dự ít nhất 75% thời gian. ❖ Có 02 bài kiểm tra viết giữa học phần (X2 = (L1 + L2)/2), 01 bài kiểm tra thực hành (X3). Điểm quá trình X = (X2 + X3)/2. ❖ Thi kết thúc học phần bằng hình thức trắc nghiệm khách quan 3 trên máy tính (Z = 0.5X + 0.5Y).
  4. Tài liệu tham khảo 1. Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database Systems (the 4th Edition), Pearson Education Inc, 2004. 2. Nguyễn Tuệ, Giáo trình Nhập môn Hệ Cơ sở dữ liệu, Nhà xuất bản Giáo dục Việt Nam, 2007. 3. Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản Đại học Quốc gia Hà Nội, 2004. 4
  5. Tài liệu tham khảo 5
  6. MÔ HÌNH DỮ LIỆU QUAN HỆ 3.1. MỐT SỐ KHÁI NIỆM CƠ BẢN 3.2. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ 3.4. ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ 6
  7. Edgar F. Codd 7 (1923 – 2003)
  8. 3.1.1. LƯỢC ĐỒ QUAN HỆ (RELATION SCHEMA) Lược đồ quan hệ R, ký hiệu là R(A1,A2, ,An) được tạo thành từ một tên quan hệ R và một tập các thuộc tính {A1,A2, ,An}. Ví dụ: ❑ Học Sinh(Mã HS, Tên HS, Xếp Loại). ❑ Học Phần(Mã HP, Tên HP, Số TC, Loại HP). Tên quan hệ Tập thuộc tính (Relation Name) Tương ứng với mỗi thuộc tính Ai trong tập thuộc tính có một tập hợp các giá trị mà thuộc tính Ai có thể nhận. Người ta gọi đó là miền giá trị (domain) của Ai và ký hiệu là dom(Ai) ❑ dom(Xếp Loại) = {Xuất Sắc, Giỏi, Khá, Trung Bình, Yếu, Kém} ❑9 dom(Loại HP) = {1, 2, 3}
  9. 3.1.2. QUAN HỆ (RELATION) ❑ Quan hệ r trên lược đồ quan hệ R(A1,A2, ,An) còn được ký hiệu là r(R) là tập hợp các bộ t có dạng t = trong đó vi là một phần tử nào đó thuộc dom(Ai): 풓 푹 = 풕|풕 = 풗 , 풗 , , 풗풏 , 풗풊 ∈ 풅풐 ( 풊)( ≤ 풊 ≤ 풏) ❑ Quan hệ r trên lược đồ quan hệ R(A1,A2, ,An) có thể được xem là tập con của tích Đề Các n miền giá trị dom(A1), dom(A2), , dom(An): 풓 푹 ⊆ 풅풐 × 풅풐 × ⋯ × 풅풐 ( 풏) Chú ý: Miền giá trị của quan hệ r(R) ký hiệu là dom(r(R)) được định nghĩa 풅풐 풓 푹 = 풅풐 × 풅풐 × ⋯ × 풅풐 ( 풏) Hiển nhiên: 10 풅풐 풓 푹 = 풅풐 . 풅풐 풅풐 ( 풏)
  10. 푅 1, 2 : 표 1 = { , } 표 2 = {1,2} 표 1 × 표 ( 2) = { , 1 , , 2 , , 1 , ( , 2)} A1 A2 1 푅 = , 1 , , 2 = a 1 b 2 A A 푅 = , 1 , , 2 , , 2 = 1 2 2 a 1 a 2 b 2 A1 A2 3 푅 = , 2 , , 1 , , 2 = a 2 b 1 11 b 2
  11. 3.1.3. QUAN HỆ KHẢ HỢP ❑ Quan hệ r và quan hệ s được gọi là khả hợp nếu chúng được xác định trên cùng miền giá trị: Cụ thể: 풅풐 풓 = 풅풐 × 풅풐 × ⋯ × 풅풐 ( 풏) 풅풐 풔 = 풅풐 × 풅풐 × ⋯ × 풅풐 ( ) Quan hệ r và quan hệ s được gọi là khả hợp nếu: 풅풐 풓 = 풅풐 (퐬) Tức là: 풏 = và 풅풐 ( 풊) = 풅풐 ( 풊)(∀풊 = , . . , 풏) 12
  12. 푅 1, 2 : 표 1 = { , } 표 2 = {1,2} 푆 1, 2 : 표 1 = { , } 표 2 = {1,2} A1 A2 1 푅 = , 1 , , 2 = a 1 b 2 B1 B2 2 푆 = , 1 , , 2 , , 2 = a 1 a 2 b 2 13
  13. 3.2.1. PHÉP HỢP (UNION) Kết quả phép hợp của 2 quan hệ khả hợp r và s là tập tất cả các bộ t hoặc thuộc r hoặc thuộc s hoặc thuộc đồng thời cả r và s: 풓 ∪ 풔 = 풕|(풕 ∈ 풓)⋁(풕 ∈ 풔) A B C A B C A B C 1 = 2 = 1 ∪ 2= a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b2 c2 a2 b2 c2 a2 b2 c2 a3 b3 c3 a4 b4 c4 a3 b3 c3 a5 b5 c5 a4 b4 c4 a5 b5 c5 14
  14. 3.2.2. PHÉP GIAO (INTERSECTION) Kết quả phép giao giữa 2 quan hệ khả hợp r và s là tập tất cả các bộ thuộc đồng thời cả r và s: 풓 ∩ 풔 = 풕|(풕 ∈ 풓)⋀(풕 ∈ 풔) A B C A B C A B C 1 = 2 = 1 ∩ 2= a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b2 c2 a2 b2 c2 a2 b2 c2 a3 b3 c3 a4 b4 c4 a5 b5 c5 15
  15. 3.2.3. PHÉP TRỪ (MINUS) Kết quả phép trừ giữa 2 quan hệ khả hợp r và s là tập tất cả các bộ thuộc r nhưng không thuộc s: 풓 − 풔 = 풕|(풕 ∈ 풓)⋀(풕 ∉ 풔) A B C A B C A B C 1 = 2 = 2 − 1= a1 b1 c1 a1 b1 c1 a4 b4 c4 a2 b2 c2 a2 b2 c2 a5 b5 c5 a3 b3 c3 a4 b4 c4 a5 b5 c5 16
  16. 3.2.4. PHÉP TÍCH ĐỀ CÁC Kết quả của phép tích Đề Các giữa 2 quan hệ r và s bất kỳ là tập tất cả các bộ t được tạo thành từ việc kết nối một bộ ti bất kỳ thuộc r với một bộ tj bất kỳ thuộc s: 풓 × 풔 = 풕 = 풕풊 + 풕풋|(풕풊 ∈ 풓)⋀(풕풋 ∈ 풔) Kết nối 02 bộ: 풕풊 = , , , 풏 , 풕풋 = , , , 풕 = 풕풊 + 풕풋 = , , , 풏, , , , A B C D E A B C D E 1 = 2 = 1 × 2= a1 b1 c1 d1 e1 a1 b1 c1 d1 e1 a1 b1 c1 d2 e2 a2 b2 c2 d2 e2 a1 b1 c1 d3 e3 d3 e3 Hệ quả: a2 b2 c2 d1 e1 풓 × 풔 = 풓 . 풔 a2 b2 c2 d2 e2 17 a2 b2 c2 d3 e3
  17. 3.2.5. PHÉP CHIẾU (PROJECT) Phép chiếu của quan hệ r xác định trên tập thuộc tính X là tập các bộ của r với giá trị được xác định trên tập thuộc tính X: 횷푿(풓) = 풕 푿 |풕 ∈ 풓 Phép chiếu trên một quan hệ giúp loại bỏ đi các giá trị tương ứng với một số thuộc tính của quan hệ. A B C D A B C D A B D = Π = = a1 b1 c1 d1 a1 b1 c1 d1 a1 b1 d1 a2 b2 c2 d2 a2 b2 c2 d2 a2 b2 d2 a3 b3 c3 d3 a3 b3 c3 d3 a3 b3 d3 = , , 18
  18. 3.2.6. PHÉP CHỌN (SELECTION) Cho quan hệ r và biểu thức logic F xác định trên các thuộc tính của r. Phép chọn trên quan hệ r với biểu thức chọn F là tập tất cả các bộ của r thỏa mãn F: 흈푭(풓) = 풕|(풕 ∈ 풓)⋀(푭 풕 = 푻풓풖풆) Phép chọn giúp lọc ra các bộ của quan hệ thỏa mãn điều kiện nhất định. ID Type Quantity ID Type Quantity 휎 푒= = 1 A 10 = 1 A 10 6 A 4 2 C 15 3 B 20 ID Type Quantity 4 B 15 휎푄 푛푡푖푡 >10 = 2 C 15 5 C 5 3 B 20 6 A 4 4 B 15
  19. A B C D E A B C D E 휎 = a b c a 1 = a1 b1 c1 a 1 = 1 1 1 a b c a 2 a2 b2 c2 b 2 3 3 3 a b c a 4 a3 b3 c3 a 2 4 4 4 a b c a 4 4 4 4 A B C D E a5 b5 c5 b 4 휎 = =4 a4 b4 c4 a 4 a6 b6 c6 b 5 a5 b5 c5 b 4 A B C D E 휎( = )⋀( >1) = a3 b3 c3 a 2 a4 b4 c4 a 4 20
  20. 3.2.7. PHÉP KẾT NỐI (JOIN) ❑ Phép kết nối 2 quan hệ là phép kết nối các bộ của 2 quan hệ thỏa mãn một điều kiện nào đó trên chúng. Điều kiện kết nối thường được thể hiện bằng một biểu thức logic F gọi là biểu thức kết nối. ❑ Phép nối của r với s với biểu thức kết nối F được định nghĩa như sau: 풓 ⋈ 풔 = 풕 = 풕풊 + 풕풋|(풕풊 ∈ 풓)⋀(풕풋 ∈ 풔)⋀(푭 풕풊, 풕풋 = 푻풓풖풆) 푭 Chú ý: Khi F chứa các phép so sánh bằng thì gọi là kết nối bằng ⋈ 푠 = A B C1 푠 = D E C2 A B C D E C = = 1 2 a b 1 d e 1 1 2 1 1 1 1 a1 b1 1 d1 e1 1 a2 b2 2 d2 e2 2 a2 b2 2 d2 e2 2 a b 2 d e 3 3 3 3 3 a3 b3 2 d2 e2 2 a4 b4 5 d4 e4 4
  21. 표 푆𝑖푛ℎ = MaHS TenHS Lop 퐿표 표 = TenLop PhongHoc GVCN 01 An 11A1 11A1 304 Cô Lan 02 Bình 11A2 11A2 305 Cô Hoa 03 Cường 11A1 11A3 306 Thầy Bình 04 Dũng 11A3 11A4 307 Thầy Thắng 표 푆𝑖푛ℎ ⋈ 퐿표 표 = MaHS TenHS Lop TenLop PhongHoc GVCN 표 푆𝑖푛ℎ. 퐿표 = 퐿표 표 . 푒푛퐿표 01 An 11A1 11A1 304 Cô Lan 02 Bình 11A2 11A2 305 Cô Hoa 03 Cường 11A1 11A1 304 Cô Lan 04 Dũng 11A3 11A3 306 Thầy Bình 22
  22. ❑ Phép kết nối tự nhiên 2 quan hệ r và s (ký hiệu là r * s) là phép kết nối bằng áp dụng trên các thuộc tính cùng tên của 2 quan hệ đó và sau khi kết nối thì một trong hai thuộc tính của phép so sánh bằng được loại bỏ thông qua phép chiếu. = A B C 푠 = D E C ∗ 푠 = A B C D E a b 1 d e 1 1 1 1 1 a1 b1 1 d1 e1 a b 2 d e 2 2 2 2 2 a2 b2 2 d2 e2 a b 2 d e 3 3 3 3 3 a3 b3 2 d2 e2 a4 b4 5 d4 e4 4 23
  23. 표 푆𝑖푛ℎ = MaHS TenHS Lop 퐿표 표 = Lop PhongHoc GVCN 01 An 11A1 11A1 304 Cô Lan 02 Bình 11A2 11A2 305 Cô Hoa 03 Cường 11A1 11A3 306 Thầy Bình 04 Dũng 11A3 11A4 307 Thầy Thắng 표 푆𝑖푛ℎ ∗ 퐿표 표 = MaHS TenHS Lop PhongHoc GVCN 01 An 11A1 304 Cô Lan 02 Bình 11A2 305 Cô Hoa 03 Cường 11A1 304 Cô Lan 04 Dũng 11A3 306 Thầy Bình 24
  24. 3.2.7. PHÉP TOÁN GỘP NHÓM Phép gộp nhóm trên quan hệ r với các thuộc tính gộp nhóm là A1,A2, ,An sẽ cho kết quả là một quan hệ mới r’ bằng cách: ❑ Chia các bộ của quan hệ r thành các nhóm sao cho các bộ trong cùng nhóm thì sẽ có giá trị trên các thuộc tính gộp nhóm A1,A2, ,An là giống nhau. ❑ Mỗi bản ghi của quan hệ kết quả r’ sẽ mang các giá trị đại diện cho một nhóm. Đó có thể là một số các giá trị của thuộc tính gộp nhóm hoặc là kết quả khi áp dụng một hàm thống kê trên nhóm đó. ❑ Ký hiệu: , , , 풏 휳풇 ,풇 , ,풇 (풓) A1,A2, ,An: Thuộc tính gộp nhóm. f1,f2, ,fm: Các hàm thống kê áp dụng trên các nhóm.
  25. CÁC HÀM THỐNG KÊ THƯỜNG DÙNG: ❑ COUNT(*): Đếm số bộ có trong 1 nhóm. ❑ COUNT(Ai): Đếm số giá trị tương ứng với thuộc tính Ai của các bộ trong nhóm. ❑ SUM(Ai): Tính tổng các giá trị tương ứng với thuộc tính Ai của các bộ trong nhóm. ❑ MAX(Ai): Tìm giá trị lớn nhất trong số các giá trị tương ứng với thuộc tính Ai của các bộ trong nhóm. ❑ MIN(Ai): Tìm giá trị nhỏ nhất trong số các giá trị tương ứng với thuộc tính Ai của các bộ trong nhóm. ❑ AVG(Ai): Tính giá trị trung bình của các giá trị tương ứng với thuộc tính Ai của các bộ trong nhóm. 26
  26. 푃 표 푡 = ID Value Type 1 10 A 2 20 A 3 10 B 4 20 B 5 10 A 6 20 C 7 10 C 푻풚풑풆 Type Count(*) SUM(Value) 휳푪푶푼푵푻 ∗ ,푺푼푴(푽 풍풖풆) = A 3 40 B 2 30 C 2 30 27
  27. ID Value Type 1 10 A Type COUNT(*) SUM(Value) ID Value Type 2 20 A A 3 40 1 10 A 5 10 A 2 20 A ID Value Type 3 10 B Type COUNT(*) SUM(Value) 3 10 B 4 20 B B 2 30 5 10 A 4 20 B 6 20 C ID Value Type 7 10 C Type COUNT(*) SUM(Value) 6 20 C C 2 30 7 10 C Type COUNT(*) SUM(Value) A 3 40 B 2 30 C 2 30 28
  28. 3.3.1. NGUYÊN TẮC CHUNG ❑ Các phép toán của đại số quan hệ có thể được sử dụng đơn lẻ hoặc kết hợp với nhau để tạo thành các biểu thức đại số quan hệ. ❑ Có thể sử dụng dấu ngoặc đơn để thiết lập thứ tự ưu tiên cho các phép toán. Phép toán trong ngoặc được ưu tiên thực hiện trước sau đó mới đến các phép toán bên ngoài. ❑ Khi kết hợp với nhau, các phép toán của đại số quan hệ có thể lồng nhau ở một số mức nào đấy. Lúc đó, thứ tự thực hiện của các phép toán là từ trong ra ngoài: 풇 풇 풇 풇풌 풓 Thực hiện từ trong ra ngoài ❑ Biểu thức đại số quan hệ có thể được sử dụng để biểu diễn các câu 29 hỏi (truy vấn) trên cơ sở dữ liệu.
  29. 3.3.2. PHƯƠNG PHÁP THỰC HIỆN Bước 1: Xác định xem có bao nhiêu thuộc tính liên quan tới truy vấn. Xác định xem các thuộc tính đó thuộc về những quan hệ (bảng dữ liệu) nào. Nếu các thuộc tính chỉ liên quan đến 1 quan hệ thì biểu thức không cần phép kết nối. Ngược lại thì cần. Bước 2: Xác định xem các bộ lấy ra có cần thoả mãn điều kiện gì không? Nếu không, biểu thức sẽ không có phép chọn. Ngược lại thì có phép chọn. Khi đó cần xác định điều kiện chọn. Bước 3: Xác định xem có lấy mọi thuộc tính trong các quan hệ liên quan không. Nếu có thì biểu thức không có phép chiếu. Ngược lại thì biểu thức có phép chiếu. Khi đó cần xác định các thuộc tính cần chiếu. 30
  30. 퐿표 표 = TenLop PhongHoc GVCN 10A1 P301 Cô Lan 10A2 P302 Thầy Hùng 10A3 P302 Cô Hiền 10A4 P301 Thầy Hùng 표 푆𝑖푛ℎ = MaHS TenHS DiemThi Lop HS01 An 3 10A1 HS02 Bình 4 10A1 HS03 Cường 9 10A2 HS04 Dũng 10 10A2 HS05 Lan 9 10A3 HS06 Vân 6 10A3 31
  31. Liệt kê danh sách các học sinh thuộc lớp 10A3 có điểm thi trên 8. Thông tin hiển thị bao gồm MaHS, TenHS: 휫푴 푯푺,푻풆풏푯푺 흈(푳풐풑=" ")∧(푫풊풆 푻풉풊> ) 푯풐 푺풊풏풉 Liệt kê danh sách các học sinh đang học ở phòng P302 có điểm thi trên 8. Thông tin hiển thị bao gồm MaHS, TenHS, Lop, DiemThi: 푳풐풑푯풐 ⋈ 푯풐 푺풊풏풉 휫 흈 푴 푯푺,푻풆풏푯푺,푳풐풑,푫풊풆 푻풉풊 (푷풉풐풏품푯풐 ="푷 ")∧(푫풊풆 푻풉풊> ) 푻풆풏푳풐풑 = 푳풐풑 Liệt kê danh sách các học sinh được chủ nhiệm bởi “Thầy Hùng”. Thông tin hiển thị bao gồm MaHS, TenHS: 푳풐풑푯풐 ⋈ 푯풐 푺풊풏풉 휫 흈 푴 푯푺,푻풆풏푯푺 푮푽푪푵="푻풉ầ풚 푯ù풏품" 푻풆풏푳풐풑 = 푳풐풑 Thống kê số học sinh mỗi lớp. Thông tin hiển thị bao gồm Lớp và số lượng học sinh: 푳풐풑 32 휳푪풐풖풏풕 ∗ (푯풐 푺풊풏풉)
  32. 3.4.1. KHÁI NIỆM VỀ KHÓA, KHÓA CHÍNH VÀ KHÓA NGOẠI CỦA LƯỢC ĐỒ QUAN HỆ. A. Khóa của lược đồ quan hệ Khóa là tập thuộc tính thỏa mãn đồng thời 2 tính chất: Tính chất 1: Không tồn tại 2 bộ bất kỳ của một quan hệ nào có mang các giá trị giống nhau trên tập thuộc tính đó. Tình chất 2: Nếu loại bỏ một thuộc tính bất kỳ ra khỏi tập đang xét thì nó không còn giữ được tính chất 1. KHÓA LÀ TẬP THUỘC TÍNH TỐI THIỂU MÀ CÁC GIÁ TRỊ TƯƠNG ỨNG KHÔNG BAO GIỜ TRÙNG NHAU GIỮA CÁC BỘ. 33
  33. Lớp(Tên Lớp, Niên Khóa, Sĩ Số, Giáo Viên Chủ Nhiệm) K = {Tên Lớp, Niên Khóa} L0 11B1 2000 – 2001 40 Cô Hồng L1 11B2 2000 – 2001 45 Cô Lan L2 11B1 1998 – 1999 35 Thầy Thắng L3 11A3 1998 – 1999 40 Cô Hồng L4 11A3 2001 – 2002 42 Cô Lan L5 11B2 1997 – 1998 43 Cô Quỳnh 34
  34. B. Khóa chính của lược đồ quan hệ ❑ Một lược đồ quan hệ có thể có nhiều hơn 1 khóa. Ta gọi đó là các khóa dự tuyển (candidate key). ❑ Khi ta chọn trong số các khóa dự tuyển một khóa để đem ra sử dụng, giúp phân biệt các bộ với nhau, khóa đó sẽ được gọi là khóa chính (Primary Key – PK). Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND) Có 02 khóa dự tuyển Nếu chọn Mã NV làm khóa chính: Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND) Nếu chọn Số CMND làm khóa chính: Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND) 35
  35. C. Khóa ngoại của lược đồ quan hệ Một tập thuộc tính FK của lược đồ quan hệ R1 được gọi là khóa ngoại (Foreign Key – FK) tham chiếu đến lược đồ quan hệ R2 nếu nó thỏa mãn đồng thời 2 tính chất: ❑ Các thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính của khóa chính PK của R2. ❑ Giá trị của FK tương ứng với một bộ t1 thuộc quan hệ r1(R1) hoặc là phải bằng giá trị PK tương ứng của một bộ t2 nào đấy thuộc quan hệ r2(R2) hoặc là bằng Null: 푡2 푃퐾 푡1 퐹퐾 = ቎ 푙푙 36
  36. Lớp(Tên Lớp, Phòng Học, GVCN) Học Sinh(Mã HS, Tên HS, Điểm, Tên Lớp) Học Sinh Lớp Mã HS Tên Lớp Tên HS Phòng Học Điểm GVCN Tên Lớp Tên Lớp Phòng Học GVCN Mã HS Tên HS Điểm Tên Lớp 10A1 P301 Lan HS01 An 5 10A1 10A2 P302 Hồng HS02 Bình 6 10A1 10A3 P303 Huệ HS03 Cường 9 10A1 HS04 Đức 7 10A2 37 HS05 Quý 8 10A2
  37. 3.4.2. CÁC BƯỚC THỰC HIỆN ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ Bước 1: Ánh xạ các kiểu thực thể thông thường (kiểu thực thể mạnh) ❑ Ứng với mỗi kiểu thực thể E, người ta tạo ra một lược đồ quan hệ R bao gồm tất cả các thuộc tính đơn trong E. ❑ Nếu trong E có thuộc tính phức hợp thì thuộc tính này sẽ được phân rã thành các thuộc tính đơn thành phần và đưa vào thành các thuộc tính trong R. ❑ Chọn một khóa của kiểu thực thể E làm khóa chính của lược đồ quan hệ R. 38
  38. Person Name IDCard Sex IDCard Name Person Age Phone Sex Number Job Age Job PhoneNumber 39
  39. Bước 2: Ánh xạ các kiểu thực thể yếu (nếu có) ❑ Ứng với mỗi kiểu thực thể yếu W có kiểu thực thể sở hữu đi kèm là E, người ta tạo một lược đồ quan hệ R bao gồm tất cả các thuộc tính có trong W. ❑ Bổ sung vào trong R một khóa ngoại Ko tham chiếu đến khóa chính của lược đồ quan hệ tương ứng với kiểu thực thể sở hữu E. Khóa chính của R là sự kết hợp của khóa ngoại Ko và khóa thành phần (partial key) của kiểu thực thể yếu W. Lưu ý: Nếu kiểu thực thể yếu E2 có kiểu thực thể sở hữu là kiểu thực thể yếu E1 thì E1 cần được ánh xạ trước E2. 40
  40. Giới Tính Ngày Sinh Họ Tên Người Phụ N Phụ 1 Mã NV Họ Tên Thuộc Thuộc Nhân Viên Tình Trạng Quan Hệ Chuyên Sức Khỏe Môn Giới Trình độ Tính 41
  41. Người Phụ Thuộc Nhân Viên Mã NV Mã NV Họ Tên Họ Tên Giới Tính Chuyên Môn Ngày Sinh Trình Độ Tình Trạng Sức Khỏe Giới Tính Quan Hệ 42
  42. Bước 3: Ánh xạ các kiểu liên kết 1:1 Với mỗi kiểu liên kết 1:1 trong mô hình thực thể liên kết (ký hiệu là R), người ta tạo ra 2 lược đồ quan hệ S và T tương ứng với 2 kiểu thực thể tham gia vào liên kết R. Sau đó ta có 3 cách xử lý với kiểu liên kết này: Cách 1: Sử dụng khóa ngoại: Chọn ra 1 lược đồ quan hệ bất kỳ trong 2 lược đồ quan hệ S và T, ví dụ S chẳng hạn. Sau đó đưa vào S một khóa ngoại tham chiếu đến khóa chính của T. Đưa tất cả các thuộc tính của liên kết R nếu có vào S. Lưu ý: Cách này được sử dụng khi một trong hai kiểu thực thể (tương ứng với S) tham gia toàn thể vào R. Cách 2: Hòa trộn 2 lược đồ quan hệ: Có thể nhập 2 lược đồ quan hệ S và T vào làm một. Cách này thường được sử dụng khi cả 2 kiểu thực thể (tương ứng với S và T) tham gia toàn thể vào liên kết R. 43
  43. Cách 3: Sử dụng tham chiếu chéo: Người ta tạo ra thêm một lược đồ quan hệ R đóng vai trò là bảng tham chiếu chéo nối khóa chính của 2 lược đồ quan hệ S và T. Tức là trong S sẽ chứa khóa chính của S và T. Mỗi bản ghi (bộ) trên R sẽ bao gồm 1 giá trị khóa chính của một bản ghi trên S ghép với giá trị khóa chính của bản ghi tương ứng trên T. Cách này cũng thường được sử dụng khi xử lý các liên kết kiểu M:N. Tên Phim Nhà sản xuất Mã Phim 1 1 Ngày Bộ Phim Có Mã BS Sao Lưu Bản Sao Thời Điểm Thời Điểm Quay Phát Hành Ngăn Lưu Trữ 44
  44. Bộ Phim_Bản Sao Mã Phim TênPhim Nhà Sản Xuất Hòa trộn Thời Điểm Quay 02 lược đồ quan hệ Thời Điểm Phát Hành Mã Bản Sao Ngày Sao Lưu Ngăn Lưu Trữ 45
  45. Bước 4: Ánh xạ kiểu liên kết 1:N ❑ Với mỗi kiểu liên kết 1:N (ký hiệu là R), người ta tạo ra lược đồ quan hệ S tương ứng với kiểu thực thể ở phía ứng số nhiều N và lược đồ quan hệ T tương ứng với kiểu thực thể ở phía ứng số ít 1. ❑ Đưa vào trong S một khóa ngoại tham chiếu đến khóa chính của T. ❑ Nếu kiểu liên kết R có các thuộc tính thì tất cả các thuộc tính này cũng được đưa vào trong S. Tên NV Chuyên Môn Mã NV N Làm 1 Nhân Viên Mã PB Tên PB việc Phòng Ban Ngày Vào Trình Độ Làm Địa Điểm 46
  46. Nhân Viên Mã NV Phòng Ban TênNV Mã PB Chuyên Môn Tên PB Trình Độ Địa điểm Ngày Vào Làm Mã PB 47
  47. Bước 5: Ánh xạ kiểu liên kết M:N ❑ Với mỗi kiểu liên kết M:N, tạo ra một lược đồ quan hệ S để biểu diễn cho kiểu lên kết. ❑ Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các lược đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu liên kết. 02 khóa ngoại này kết hợp lại tạo thành khóa chính của S. ❑ Nếu kiểu liên kết có các thuộc tính thì chúng cũng được đưa vào trong S Ngày Kết Tên NV Chuyên Thúc Môn Mã NV M Tham N Nhân Viên Mã DA Tên DA Gia Dự Án Ngày Vào Ngày Bắt Trình Độ Làm Đầu Địa 48 Điểm
  48. Nhân Viên Mã NV TênNV Chuyên Môn Tham Gia Trình Độ Mã NV Ngày Vào Làm Mã DA Ngày Bắt Đầu Ngày Kết Thúc Dự Án Mã DA Tên DA Địa điểm 49
  49. Bước 6: Ánh xạ kiểu liên kết bậc n (với n ≥ 3) ❑ Với mỗi kiểu liên kết bậc n (ký hiệu là R), tạo ra một lược đồ quan hệ S để biểu diễn cho kiểu liên kết. ❑ Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các lược đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu liên kết. ❑ Khóa chính của S là sự kết hợp của các khóa ngoại này. Chú ý: Nếu ứng số của một kiểu thực thể nào đó là 1 thì khóa ngoại tham chiếu đến nó sẽ không được tham gia vào với tư cách là 1 thành phần của khóa chính trong S. 50
  50. Tên GV Chuyên Môn Mã GV Số Phòng Số chỗ Giáo Viên Dạy ngồi Phòng Học Học Vị Địa Tên điểm Mã Môn Môn Môn Học Số Tiết 51
  51. Giáo Viên Phòng Học Mã GV Số Phòng TênGV Số chỗ ngồi Chuyên Môn Địa điểm Dạy Trình Độ Mã GV Học Vị Số Phòng Mã Môn Môn Học Mã Môn Tên Môn 52 Số Tiết
  52. Bước 7: Ánh xạ các thuộc tính đa trị Ứng với mỗi thuộc tính đa trị A, tạo ra một lược đồ quan hệ R. Trong R chứa một thuộc tính đơn trị đại diện cho A và khóa ngoại tham chiếu đến khóa chính của lược đồ quan hệ tương ứng với kiểu thực thể mang thuộc tính đa trị A. Tên NV Chuyên Ngoại Ngữ Mã NV Môn Mã NV Nhân Viên Tên NN Nhân Viên Ngoại Ngữ Mã NV Trình Độ Tên NV Chuyên Môn Trình Độ 53
  53. Q & A 54