logo xDuLieu.com

Trang trướcMô hình Thực thể - Liên kếtTrang sau

Khái quát

 

Các ý tưởng cơ bản về mô hình quan hệ đã được Codd đưa ra vào năm 1970. Nhưng đó là một mô hình rất trừu tượng, phức tạp, dựa nhiều vào Toán học, nên khó hiểu, khó triển khai vào thực tế. Cho nên vào thời gian đầu, không có bước tiến bộ nào đáng kể. Mãi đến 1976, khi Peter Chen đề xuất mô hình dữ liệu thực thể - liên kết (Entity-Relationship hay ER), tình hình mới thay đối.

Mô hình mới này đưa thêm vào một số khái niệm cụ thể hơn, ít phức tạp hơn, làm cho mô hình quan hệ rõ ràng hơn, đơn giản hơn, dễ hiểu hơn. Đặc biệt mô hình này có thể được thể hiện bằng một lược đồ (ER Diagram hay ERD) làm việc triển khai trở nên dễ dàng thuận tiện hơn rất nhiều.


Một số nét cơ bản của mô hình dữ liệu thực thể - liên kết

 

Mô hình dữ liệu thực thể - liên kết (gọi tắt là mô hình thực thể liên kết) sử dụng lại một số khái niệm của mô hình quan hệ của Codd và đưa thêm một số khái niệm vào để mô hình được đơn giản hơn, dễ hiểu hơn, dễ triển khai hơn. Một cách khái quát mô hình thực thể - liên kết được xây dựng như sau:

  • Dữ liệu được tổ chức theo các thực thể : CSDL gồm các bảng, mỗi bảng chứa các dữ liệu của một thực thể.
  • Mỗi bảng gồm nhiều cột, mỗi cột tương ứng với một thuộc tính của thực thể.
  • Mỗi bảng gồm nhiều dòng, mỗi dòng tương ứng với một cá thể.
  • Giữa các thực thể có mối liên kết với nhau. Để thực hiện mối liên kết này, trong mỗi thực thể chọn một thuộc tính làm khóa chính. Thuộc tính này sẽ được đưa vào bảng có liên kết làm khóa ngoại (các thuộc tính khóa chính và khóa ngoại sẽ được trình bày chi tiết hơn trong phần sau).
  • Mô hình của CSDL được thể hiện trên một hình vẽ.

Lược đồ của mô hình thực thể - liên kết

 

Trước khi thiết kế cụ thể cho cơ sở dữ liệu (hoạt động theo mô hình quan hệ), ta thường bắt đầu bằng việc xây dựng lược đồ quan hệ - thực thể. Tuy nhiên có nhiều cách khác nhau để thể hiện lược đồ này. Theo sự tổng hợp của Song và ctv., có 10 cách thể hiện cơ bản. Ngoài ra mỗi tác giả có thể thay đổi đôi chút để phù hợp với các yêu cầu. Mặt khác, để thực hiện lược đồ cho những cơ sở dữ liệu phức tạp, có nhiều thực thể, chúng ta thường cần đến sự trợ giúp của các phần mềm. Khi đó, sự thể hiện lại phụ thuộc vào phần mềm.

Một số quy ước

Dưới đây, chúng tôi đề xuất một số quy ước sử dụng trong phần cơ sở dữ liệu của website này. Những quy ước này được lựa chọn dựa theo sự phổ biển trong các tài liệu và phần mềm mà chúng tôi tham khảo được. Các quy ước này được minh họa trong Hình 1.

  • Thực thể được biểu diễn bằng một hình chữ nhật có ghi tên của thực thể (Hình 1a và 1b). Tùy theo điều kiện không gian, có thể ghi tên các khóa, các thuộc tính hay không.
  • Liên kết được biểu diễn bằng một hình thoi nối đến các thực thể tham gia liên kết (Hình 1b).
  • Bản số của thực thể tham liên kết được biểu diễn bằng một cặp số như 0:N, trong đó số đầu và số sau lần lượt là số cá thể bé nhất, và lớn nhất tham gia vào liên kết (Hình 1a).
  • Đối với những cơ sở dữ liệu phức tạp, có nhiều thực thể, nhiều liên kết, người ta thường sử dụng lược đồ ở dạng rút gọn bằng cách bỏ các hình thoi biểu diễn các liên kết. Liên kết lúc bấy giờ được biểu diễn bằng một hay vài đoạn thẳng nối hai thực thể có liên kết (Hình 1b). Đồng thời, thay vì một cặp số như trên Hình 1a, bản số được trình bày theo ký hiệu "vết chân chim" (crow's foot) như trên Hình 1b. Các quy ước về bản số theo cách này được trình bày trên Hình 1c.
1:10:NLIÊN KẾT Thuc_The_AThuc_The_BThuc_The_AThuc_The_B (1a)(1b)(1c)0:10:N1:11:N

Hình 1 Một số quy ước về lược đồ của mô hình dữ liệu thực thể - liên kết


Thí dụ

 

Để minh họa cho những điều vừa trình bày trên, ta xét một nhà sách bán hàng qua mạng với một vài nghiệp vụ đơn giản. Các tác giả sáng tác và gửi cho nhà xuất bản, nhà xuất bản in rồi cung cấp cho nhà sách, và nhà sách bán cho khách hàng.

Dựa vào sự mô tả này, để xây dựng cơ sở dữ liệu, ta có thể chọn ra các thực thể là Sach, Tac_Gia, Nha_Xuat_Ban, Khach_Hang. Trong bước đầu này, ta chỉ tập trung vào thực thể và liên kết, tạm thời chưa xem xét đến thuộc tính.

Giữa các thực thể này có những mối quan hệ được thể hiện qua các liên kết sau:

  • Giữa tác giả và nhà xuất bản có liên kết IN TÁC PHẨM. Vì mỗi tác giả có thể có sách được in bởi một số nhà xuất bản và mỗi nhà xuất bán có thể in tác phẩm từ nhiều tác giả khác nhau nên đây là quan hệ nhiều-nhiều. Tuy vậy có những nhà xuất bản không in được tác phẩm từ bất kỳ tác giả nào nên bản số ở phía Tac_Gia là 0:N. Và cũng có những tác giả không được bất kỳ nhà xuất bản nào in sách nên bản số ở phía Nha_Xuat_Ban cũng là 0:N.
  • Giữa nhà xuất bản và sách có quan hệ là XUẤT BẢN. Vì mỗi nhà xuất bản có thể xuất bản nhiều tựa sách nhưng mỗi tựa sách chỉ có thể xuất bản bởi một nhà xuất bản nên quan hệ này là quan hệ một-nhiều. Do mỗi tựa sách phải được xuất bản bởi một nhà xuất bản nên bản số phía Nha_Xuat_Ban là 1:1. Nhưng cũng có nhà xuất bản không xuất bản được tựa sách nào nên bản số phía Sach là 0:N.
  • Giữa khách hàng và sách có quan hệ là MUA. Vì mỗi khách hàng có thể mua nhiều tựa sách và mỗi tựa sách có thể được bán cho nhiều khách hàng nên liên kết này là liên kết nhiều-nhiều. Do có những tựa sách không được khách hàng nào mua nên bản số phía Khach_Hang là 0:N. Và cũng có những khách hàng không mua tựa sách nào nên bản số phía Sach cũng là 0:N.

Từ những suy luận trên, bước đầu ta có lược đồ của cơ sở dữ liệu này theo mô hình thực thể - liên kết được thể hiện trên Hình 2. Do chưa xem xét đến các thuộc tính nên trong lược đồ này chỉ trình bày các thực thể và liên kết.

Tac_GiaNha_Xuat_BanSachKhach_Hang IN TÁC PHẨMXUẤT BẢNMUA0:N0:N1:10:N0:N0:N

Hình 2 Lược đồ cơ sở dữ liệu theo mô hình thực thể - liên kết

Nếu ta trình bày lại lược đồ trên ở dạng rút gọn, ta có Hình 3.

Tac_GiaNha_Xuat_BanKhach_HangSach

Hình 3 Lược đồ cơ sở dữ liệu theo mô hình thực thể - liên kết ở dạng rút gọn



Trang trướcVề đầu chươngTrang sau


Trang web này được cập nhật lần cuối ngày 25/11/2018