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ệ - Nguyễn Vương Thịnh

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Ệ

pdf53 trang | Chia sẻ: Thục Anh | Ngày: 11/05/2022 | Lượt xem: 384 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung 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ệ - Nguyễn Vương Thịnh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 Giảng viên: ThS. Nguyễn Vƣơng Thịnh Bộ môn: Hệ thống thông tin Hải Phòng, 2013 Chương 3 MÔ HÌNH DỮ LIỆU QUAN HỆ 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 3 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 Tài liệu tham khảo 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Ệ 5 6 Edgar F. Codd (1923 – 2003) 7 8 3.1. MỘT SỐ KHÁI NIỆM CƠ BẢN 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ươ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}  dom(Loại HP) = {1, 2, 3} Tên quan hệ (Relation Name) Tập thuộc tính 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 𝑑𝑜𝑚 𝐴1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐴2 = *1,2+ 𝑑𝑜𝑚 𝐴1 × 𝑑𝑜𝑚(𝐴2) = * 𝑎, 1 , 𝑎, 2 , 𝑏, 1 , (𝑏, 2)+ 𝑟1 𝑅 = 𝑎, 1 , 𝑏, 2 = 𝑟2 𝑅 = 𝑎, 1 , 𝑎, 2 , 𝑏, 2 = 𝑟3 𝑅 = 𝑎, 2 , 𝑏, 1 , 𝑏, 2 = A1 A2 a 1 a 2 b 2 𝑅 𝐴1, 𝐴2 : A1 A2 a 1 b 2 A1 A2 a 2 b 1 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 𝑑𝑜𝑚 𝐴1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐴2 = *1,2+ 𝑟1 𝑅 = 𝑎, 1 , 𝑏, 2 = 𝑟2 𝑆 = 𝑎, 1 , 𝑎, 2 , 𝑏, 2 = B1 B2 a 1 a 2 b 2 𝑅 𝐴1, 𝐴2 : A1 A2 a 1 b 2 𝑆 𝐵1, 𝐵2 : 𝑑𝑜𝑚 𝐵1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐵2 = *1,2+ 13 3.2. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 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: 𝒓 ∪ 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋁(𝒕 ∈ 𝒔) 𝑟1 = A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 𝑟2 = A B C a1 b1 c1 a2 b2 c2 a4 b4 c4 a5 b5 c5 A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 a5 b5 c5 𝑟1 ∪ 𝑟2= 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: 𝒓 ∩ 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋀(𝒕 ∈ 𝒔) 𝑟1 = A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 𝑟2 = A B C a1 b1 c1 a2 b2 c2 a4 b4 c4 a5 b5 c5 A B C a1 b1 c1 a2 b2 c2 𝑟1 ∩ 𝑟2= 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: 𝒓 − 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋀(𝒕 ∉ 𝒔) 𝑟1 = A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 𝑟2 = A B C a1 b1 c1 a2 b2 c2 a4 b4 c4 a5 b5 c5 A B C a4 b4 c4 a5 b5 c5 𝑟2 − 𝑟1= 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: 𝒓 × 𝒔 = 𝒕 = 𝒕𝒊 + 𝒕𝒋|(𝒕𝒊 ∈ 𝒓)⋀(𝒕𝒋 ∈ 𝒔) 𝑟1 = A B C a1 b1 c1 a2 b2 c2 𝑟2 = D E d1 e1 d2 e2 d3 e3 A B C D E a1 b1 c1 d1 e1 a1 b1 c1 d2 e2 a1 b1 c1 d3 e3 a2 b2 c2 d1 e1 a2 b2 c2 d2 e2 a2 b2 c2 d3 e3 𝑟1 × 𝑟2= 𝒓 × 𝒔 = 𝒓 . 𝒔 𝒕𝒊 = 𝒂𝟏, 𝒂𝟐, , 𝒂𝒏 , 𝒕𝒋 = 𝒃𝟏, 𝒃𝟐, , 𝒃𝒎 𝒕 = 𝒕𝒊 + 𝒕𝒋 = 𝒂𝟏, 𝒂𝟐, , 𝒂𝒏, 𝒃𝟏, 𝒃𝟐, , 𝒃𝒎 Kết nối 02 bộ: Hệ quả: 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 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 𝑋 = 𝐴, 𝐵, 𝐷 Π𝑋 𝑟 = A B D a1 b1 d1 a2 b2 d2 a3 b3 d3 A B C D a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 = 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 1 A 10 2 C 15 3 B 20 4 B 15 5 C 5 6 A 4 𝑟 = 𝜎𝑇𝑦𝑝𝑒=𝐴 𝑟 = ID Type Quantity 1 A 10 6 A 4 𝜎𝑄𝑢𝑎𝑛𝑡𝑖𝑡𝑦>10 𝑟 = ID Type Quantity 2 C 15 3 B 20 4 B 15 19 𝑟 = 𝜎𝐷=𝑎 𝑟 = A B C D E a1 b1 c1 a 1 a2 b2 c2 b 2 a3 b3 c3 a 2 a4 b4 c4 a 4 a5 b5 c5 b 4 a6 b6 c6 b 5 A B C D E a1 b1 c1 a 1 a3 b3 c3 a 2 a4 b4 c4 a 4 𝜎𝐸=4 𝑟 = A B C D E a4 b4 c4 a 4 a5 b5 c5 b 4 𝜎(𝐷=𝑎)⋀(𝐸>1) 𝑟 = A B C D E a3 b3 c3 a 2 a4 b4 c4 a 4 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 a1 b1 1 a2 b2 2 a3 b3 2 a4 b4 5 D E C2 d1 e1 1 d2 e2 2 d3 e3 3 d4 e4 4 𝑟 = 𝑠 = 𝑟 ⋈ 𝑠 𝐶1 = 𝐶2 = A B C1 D E C2 a1 b1 1 d1 e1 1 a2 b2 2 d2 e2 2 a3 b3 2 d2 e2 2 21 MaHS TenHS Lop 01 An 11A1 02 Bình 11A2 03 Cường 11A1 04 Dũng 11A3 TenLop PhongHoc GVCN 11A1 304 Cô Lan 11A2 305 Cô Hoa 11A3 306 Thầy Bình 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  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 a1 b1 1 a2 b2 2 a3 b3 2 a4 b4 5 D E C d1 e1 1 d2 e2 2 d3 e3 3 d4 e4 4 𝑟 = 𝑠 = 𝑟 ∗ 𝑠 = A B C D E a1 b1 1 d1 e1 a2 b2 2 d2 e2 a3 b3 2 d2 e2 23 MaHS TenHS Lop 01 An 11A1 02 Bình 11A2 03 Cường 11A1 04 Dũng 11A3 Lop PhongHoc GVCN 11A1 304 Cô Lan 11A2 305 Cô Hoa 11A3 306 Thầy Bình 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 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 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 ID Value Type 1 10 A 2 20 A 3 10 B 4 20 B 5 10 A 6 20 C 7 10 C ID Value Type 1 10 A 2 20 A 5 10 A ID Value Type 3 10 B 4 20 B ID Value Type 6 20 C 7 10 C Type COUNT(*) SUM(Value) A 3 40 Type COUNT(*) SUM(Value) B 2 30 Type COUNT(*) SUM(Value) C 2 30 Type COUNT(*) SUM(Value) A 3 40 B 2 30 C 2 30 28 3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ 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: 𝒇𝟏 𝒇𝟐 𝒇𝟑 𝒇𝒌 𝒓  Biểu thức đại số quan hệ có thể đƣợc sử dụng để biểu diễn các câu hỏi (truy vấn) trên cơ sở dữ liệu. Thực hiện từ trong ra ngoài 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 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 TenLop PhongHoc GVCN 10A1 P301 Cô Lan 10A2 P302 Thầy Hùng 10A3 P302 Cô Hiền 10A4 P301 Thầy Hùng 𝐿𝑜𝑝𝐻𝑜𝑐 = 𝐻𝑜𝑐𝑆𝑖𝑛ℎ = 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: 31 𝜫𝑴𝒂𝑯𝑺,𝑻𝒆𝒏𝑯𝑺,𝑳𝒐𝒑,𝑫𝒊𝒆𝒎𝑻𝒉𝒊 𝝈(𝑷𝒉𝒐𝒏𝒈𝑯𝒐𝒄="𝑷𝟑𝟎𝟐")∧(𝑫𝒊𝒆𝒎𝑻𝒉𝒊>𝟖) 𝑳𝒐𝒑𝑯𝒐𝒄 ⋈ 𝑯𝒐𝒄𝑺𝒊𝒏𝒉 𝑻𝒆𝒏𝑳𝒐𝒑 = 𝑳𝒐𝒑 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: 𝜳𝑪𝒐𝒖𝒏𝒕 ∗ (𝑯𝒐𝒄𝑺𝒊𝒏𝒉) 𝑳𝒐𝒑 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: 𝜫𝑴𝒂𝑯𝑺,𝑻𝒆𝒏𝑯𝑺 𝝈(𝑳𝒐𝒑="𝟏𝟎𝑨𝟑")∧(𝑫𝒊𝒆𝒎𝑻𝒉𝒊>𝟖) 𝑯𝒐𝒄𝑺𝒊𝒏𝒉 32 3.4. ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ 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 Lớp(Tên Lớp, Niên Khóa, Sĩ Số, Giáo Viên Chủ Nhiệm) 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 K = {Tên Lớp, Niên Khóa} 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 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: 𝑡1 𝐹𝐾 = 𝑡2 𝑃𝐾 𝑁𝑢𝑙𝑙 36 Học Sinh(Mã HS, Tên HS, Điểm, Tên Lớp) Lớp(Tên Lớp, Phòng Học, GVCN) Mã HS Tên HS Điểm Tên Lớp Học Sinh Tên Lớp Phòng Học GVCN Lớp Tên Lớp Phòng Học GVCN 10A1 P301 Lan 10A2 P302 Hồng 10A3 P303 Huệ Mã HS Tên HS Điểm Tên Lớp HS01 An 5 10A1 HS02 Bình 6 10A1 HS03 Cƣờng 9 10A1 HS04 Đức 7 10A2 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 Person Name Sex Age Job Phone Number IDCard IDCard Name Sex Age Job PhoneNumber Person 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 Phụ Thuộc Ngƣời Phụ Thuộc Tình Trạng Sức Khỏe Giới Tính Họ Tên Quan Hệ Ngày Sinh N Nhân Viên 1 Họ Tên Chuyên Môn Trình độ Giới Tính Mã NV 41 Mã NV Họ Tên Giới Tính Ngày Sinh Tình Trạng Sức Khỏe Quan Hệ Ngƣời Phụ Thuộc Mã NV Họ Tên Chuyên Môn Trình Độ Giới Tính Nhân Viên 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 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. Có Bộ Phim Thời Điểm Quay Tên Phim Mã Phim Thời Điểm Phát Hành Nhà sản xuất 1 Bản Sao 1 Ngày Sao Lƣu Ngăn Lƣu Trữ Mã BS 44 Mã Phim TênPhim Nhà Sản Xuất Thời Điểm Quay Thời Điểm Phát Hành Mã Bản Sao Ngày Sao Lƣu Ngăn Lƣu Trữ Bộ Phim_Bản Sao Hòa trộn 02 lược đồ quan hệ 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. Làm việc Nhân Viên Ngày Vào Làm Tên NV Mã NV Trình Độ Chuyên Môn N Phòng Ban 1 Tên PB Địa Điểm Mã PB 46 Mã NV TênNV Chuyên Môn Trình Độ Ngày Vào Làm Mã PB Nhân Viên Mã PB Tên PB Địa điểm Phòng Ban 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 Tham Gia Nhân Viên Ngày Vào Làm Tên NV Mã NV Trình Độ Chuyên Môn M Dự Án N Tên DA Địa Điểm Mã DA Ngày Bắt Đầu Ngày Kết Thúc 48 Mã NV TênNV Chuyên Môn Trình Độ Ngày Vào Làm Mã PB Nhân Viên Mã DA Tên DA Địa điểm Dự Án Mã NV Mã DA Ngày Bắt Đầu Ngày Kết Thúc Tham Gia 49 Bƣớc 6: Ánh xạ kiểu lê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 Dạy Giáo Viên Tên GV Mã GV Học Vị Chuyên Môn Phòng Học Số chỗ ngồi Địa điểm Số Phòng Môn Học Tên Môn Số Tiết Mã Môn 51 Mã GV TênGV Chuyên Môn Trình Độ Học Vị Giáo Viên Số Phòng Số chỗ ngồi Địa điểm Phòng Học Mã GV Số Phòng Mã Môn Dạy Mã Môn Tên Môn Số Tiết Môn Học 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. Nhân Viên Ngoại Ngữ Tên NV Trình Độ Mã NV Chuyên Môn Mã NV Tên NV Chuyên Môn Trình Độ Nhân Viên Mã NV Tên NN Ngoại Ngữ Q & A 53

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_co_so_du_lieu_va_quan_tri_co_so_du_lieu_chuong_3_m.pdf