Hiện nay, một cách truyền thống, khi xây dựng một cơ sở dữ liệu cho một bài toán chúng ta thường bắt đầu bằng việc xây dựng mô hình liên kết – thực thể (mô hình ER) rồi sau đó áp dụng các nguyên tắc chuyển thành mô hình cơ sở dữ liệu quan hệ. Các khái niệm của mô hình ER có thể được coi là khá đầy đủ để trình bày các lược đồ cơ sở dữ liệu trong các ứng dụng quản lý truyền thống hiện nay, chủ yếu là các ứng dụng xử lý dữ liệu trong kinh doanh và trong công nghiệp. Ngày nay, cùng với sự phát triển nhanh chóng của công nghệ, các ứng dụng mới hơn cho công nghệ cơ sở dữ liệu đã trở nên phổ biến. Các cơ sở dữ liệu mới đòi hỏi những yêu phức tạp hơn so với các ứng dụng truyền thống. Vì vậy người thiết kế cơ sở dữ liệu phải sử dụng thêm các khái niệm mới để giải quyết bài toán được chính xác và rõ ràng hơn. Việc thêm vào mô hình ER những khái niệm mới làm mở rộng mô hình ER và tạo nên mô hình ER mở rộng (gọi tắt là mô hình EER – Enhanced Entity Relationship Model).
4.1 Lớp cha, lớp con và sự kế thừa
Khái niệm đầu tiên trong mô hình EER là lớp con của một kiểu thực thể. Như ta đã biết, kiểu thực thể được sử dụng để biểu diễn cả kiểu của thực thể và tập hợp các thực thể cùng một kiểu trong cơ sở dữ liệu. Trong nhiều trường hợp, một kiểu thực thể có thể có các nhóm con các thực thể của nó và những nhóm con này cần được trình bày rõ ràng do
ý nghĩa của nó đối với cơ sở dữ liệu.
Ví dụ, các thực thể thành viên của kiểu thực thể NHÂNVIÊN có thể được chia thành các nhóm nhỏ: KỸ SƯ, NGƯỜI QUẢN LÝ, KỸ THUẬT VIÊN … Tập các thực thể trong các nhóm đó là một tập con của các thực thể trong tập thực thể nhân viên, nghĩa
là mỗi thực thể là thành viên của một trong những nhóm này cũng là một nhân viên. Chúng ta gọi mỗi nhóm này là một lớp con của kiểu thực thể NHÂNVIÊN. Kiểu thực thể NHÂNVIÊN được gọi là lớp cha của các lớp con đó. Ta gọi quan hệ giữa lớp cha và một trong những lớp con của nó là kiểu liên kết lớp cha/ lớp con. Kiểu liên kết lớp cha/ lớp con thường được gọi là kiểu liên kết là một (IS_A). Chúng ta thường nói rằng một kỹ sư
là một nhân viên, một kỹ thuật viên là một nhân viên.
Chú ý rằng một thực thể thành viên trong lớp con cùng biểu diễn một thực thể thực tại như một thành viên trong lớp cha, vì vậy, các thực thể thành viên trong lớp con và các thực thể thành viên trong lớp cha là giống nhau, nhưng vai trò của chúng hoàn toàn khác nhau. Khi chúng ta tạo một kiểu liên kết lớp cha/ lớp con trong hệ thống cơ sở dữ liệu, chúng ta có thể trình bày một thành viên của lớp con như như là một đối tượng riêng biệt, một bản ghi riêng biệt kết hợp với các thực thể của lớp cha của nó qua thuộc tính khoá. Kiểu liên kết lớp cha/ lớp con là một kiểu liên kết có tỷ số lực lượng 1: 1.
Một khái niệm quan trọng gắn với các lớp con là sự thừa kế kiểu. Kiểu của một thực thể được xác định bằng các thuộc tính và các kiểu liên kết mà nó tham gia. Vì mỗi thực thể thành viên trong lớp con cùng biểu diễn một thực thể thực tại như thực thể trong lớp cha nên các giá trị của thuộc tính của nó trong lớp con cũng phải giống như là giá trị
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 1 Trang 32
của các thuộc tính của nó khi nó đóng vai trò là một thành viên trong lớp cha. Thực thể này cũng được thừa kế các liên kết trong lớp cha. Một lớp con với các thuộc tính riêng của nó cùng với tất cả các thuộc tính và kiểu liên kết kế thừa được từ lớp cha có quyền được coi như là một kiểu thực thể.
4.2 Chuyên biệt hóa
Chuyên biệt hóa là quá trình xác định tập hợp các lớp con của một kiểu thực thể. Kiểu thực thể này được gọi là lớp cha trong chuyên biệt hoá. Tập các lớp con tạo nên một chuyên biệt hoá được xác định dựa trên cơ sở một đặc trưng phân biệt nào đó của các thực thể trong lớp cha. Ví dụ, tập các lớp con {THƯ KÝ, KỸ SƯ, KỸ THUẬT VIÊN} là một chuyên biệt hoá của lớp cha NHÂN VIÊN được xác định dựa trên kiểu công việc của các thực thể. Một kiểu thực thể có thể có một số chuyên biệt hoá dựa trên các đặc trưng khác nhau. Ví dụ, một chuyên biệt hoá khác của kiểu thực thể NHÂN VIÊN sinh ra tập các lớp con {NHÂN VIÊN_BIÊN CHẾ, NHÂN VIÊN_HỢP ĐỒNG}. Trong chuyên biệt hoá này, các thực thể được phân biệt dựa trên cơ sở hình thức trả tiền.
Biểu diễn chuyên biệt hóa: Một chuyên biệt hoá được biểu diễn trong sơ đồ EER
như sau: Các lớp con xác định một chuyên biệt hoá được nối bằng các đường đến một vòng tròn, vòng tròn đó được nối với lớp cha. Ký hiệu tập con (trên mỗi đường nối một tập con với vòng tròn chỉ hướng của kiểu liên kết lớp cha / lớp con). Các thuộc tính chỉ
áp dụng cho các thực thể của một lớp con cụ thể - ví dụ như Tốc_độ_đánh_máy của lớp con THƯ KÝ - được nối với hình chữ nhật biểu diễn lớp con đó. Các thuộc tính như vậy gọi là các thuộc tính riêng hoặc là các thuộc tính địa phương của lớp con. Tương tự, một lớp con có thể tham gia vào các kiểu liên kết riêng, ví dụ, lớp con NHÂN VIÊN_HỢP ĐỒNG tham gia vào kiểu liên kết <thuộc về>.
Có hai lý do chính để đặt các kiểu liên kết lớp cha/lớp con và chuyên biệt hoá vào
mô hình dữ liệu. Thứ nhất là có một số thuộc tính có thể áp dụng cho một số các thực
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 1 Trang 33
thể chứ không phải cho toàn bộ các thực thể của lớp cha. Khi đó, một lớp con sẽ được xác định để nhóm các thực thể mà các thuộc tính đó có thể áp dụng được. Các thành viên của lớp con này có thể vẫn chia sẻ phần lớn các thuộc tính của chúng với các thành viên khác của lớp cha.Ví dụ, lớp con THƯ KÝ có thuộc tính riêng là Tốc_độ_đánh_máy, lớp con KỸ SƯ có thuộc tính riêng là Kiểu_kỹ_sư nhưng các thuộc tính khác của chúng là chung với kiểu thực thể NHÂN VIÊN. Lý do thứ hai là chỉ có các thành viên của lớp con
có thể tham gia vào một số kiểu liên kết nào đó. Ví dụ, nếu chỉ có các nhân viên hợp đồng mới tham gia và công đoàn thì chúng ta có thể diễn đạt sự kiện đó bằng cách tạo ra một lớp con NHÂN VIÊN_HỢP ĐỒNG của NHÂN VIÊN và liên kết lớp con này với kiểu thực thể CÔNG_ĐOÀN thông qua kiểu thực thể <thuộc về>.
Tóm lại, quá trình chuyên biệt hoá cho phép chúng ta làm các việc sau:
• Xác định một tập hợp các lớp con của một kiểu thực thể.
• Thiết lập các thuộc tính riêng cho mỗi lớp con.
• Thiết lập các kiểu liên kết riêng giữa mỗi lớp con và các kiểu thực thể khác hoặc các lớp con khác.
4.3 Tổng quát hóa
Là quá trình đảo ngược của chuyên biệt hoá, trong đó ta bỏ qua sự khác nhau giữa một số kiểu thực thể, xác định các đặc tính chung của chúng và tổng quát hoá chúng thành một lớp cha của các kiểu thực thể đó. Ví dụ, ta có kiểu thực thể XE CON với các thuộc tính (Mã_số, Số_giấy_phép, Giá, Tốc_độ_tối_đa, Số_chỗ_ngồi) và kiểu thực thể
XE TẢI với các thuộc tính (Mã_số, Số_giấy_phép, Giá, Trọng_tải, Số_các_trục), các kiểu thực thể này có một số thuộc tính chung, chúng có thể được tổng quát hoá thành kiểu thực thể với các thuộc tính (Mã_số, Số_giấy_phép, Giá). Các kiểu thực thể XE CON
và XE TẢI trở thành các lớp con của lớp cha XE ÔTÔ. Như vậy, tổng quát hoá là quá trình tổng quát một kiểu thực thể từ các kiểu thực thể cho trước.
Một tổng quát hoá được biểu diễn trong sơ đồ EER giống như là một chuyên biệt hoá. Tổng quát là lớp cha còn chuyên biệt là các lớp con được sử dụng để tạo nên lớp cha (hình dưới)
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 1 Trang 34
4.4 Mô hình EER
Mô hình EER có biểu diễn đồ hoạ giống như mô hình ER, nghĩa là các kiểu thực thể (các lớp) được biểu diễn bằng các hình chữ nhật có ghi tên ở giữa, các thuộc tính của chúng được biểu diễn bằng các hình ô van nối với hình chữ nhật. Các kiểu liên kết được biểu diễn bằng các hình thoi và được nối với các kiểu thực thể tham gia liên kết. Tại các hình thoi có ghi rõ các tỷ số lực lượng tham gia của các kiểu thực thể tham gia vào kiểu liên kết. Ngoài ra, kiểu liên kết lớp cha/lớp con được biểu diễn bằng một đường nối có thêm một ký hiệu tập con “⊂“ ở giữa đường nối. Các lớp con trong một chuyên biệt được nối với một vòng tròn và vòng tròn được nối với lớp cha. Nếu chuyên biệt là rời rạc, giữa vòng tròn sẽ ghi chữ d, nếu chuyên biệt là chồng chéo, giữa vòng tròn có ghi chữ o.
Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người
Cơ sở dữ liệu - Bài 2 Trang 1