Mô hình thực thể liên kết mở rộng (mô hình EER)

Một phần của tài liệu Giao trinh CSDL Của Sở Bưu Chính viễn thông Hà Nội (Trang 40)

Một cách truyền thống, khi xây dựng một cơ sở dữ liệu 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 đó chuyển đổi nó thành mô hình quan hệ. Các khái niệm về 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 cơ sở dữ liệu truyền thống, 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á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 loại này đòi hỏi những yêu cầu phức tạp hơn so với các ứng dụng truyền thống. Để trình bày được các yêu cầu này một cách chính xác và rõ ràng, 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. 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 này

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).

Mô hình EER bao gồm tất cả các khái niệm của mô hình ER, ngoài ra còn có các khái niệm như lớp, kiểu liên kết lớp cha/ lớp con, tính thừa kế, chuyên biệt, tổng quát, phạm trù.

IV.1- Lp cha, lp con và s tha kế

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ƯỜIQUẢNLÝ, KỸTHUẬTVIÊ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ớpcon 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ị 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ể.

IV.2- Chuyên bit hoá, tng quát hoá IV.2.1- Chuyên bit hoá

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ẬTVIÊN} là một chuyên biệt hoá của lớp cha NHÂNVIÊ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ÂNVIÊN sinh ra tập các lớp con {NHÂNVIÊN_BIÊNCHẾ,

NHÂNVIÊ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.

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

cho các thực thể của một lớp con cụ thể - ví dụ như Tốcđộđánhmá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ÂNVIÊN_HỢPĐỒNG tham gia vào kiểu liên kết <thuộc về> (hình II-7).

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 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độđánhmáy, lớp con KỸSƯ có thuộc tính riêng là Kiểukỹ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ÂNVIÊ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ÂNVIÊN_HỢPĐỒNG của NHÂNVIÊ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.

Họđệm Tên

Hình II-7. Biểu diễn lược đồ EER của chuyên biệt hoá

IV.2.2- Tng quát hoá

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ể XECON với các thuộc tính (Mãsố, Sốgiấyphép, Giá, Tốcđộtốiđa, Sốchỗngồi) và kiểu thực thể XETẢI với các thuộc tính (Mãsố, Sốgiấyphép, Giá, Trọngtải, Sốcáctrụ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ể XEÔTÔ với các thuộc tính (Mãsố, Sốgiấyphép, Giá). Các kiểu thực thể XECON và XETẢ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. NHÂN VIÊN THƯKÝ KỸTHUẬT VIÊN KỸSƯ d Mãsố Họtên Địachỉ Ngày Kiểucôngviệc Tốcđộ đánhmáy KiểuKỹ sư Bậc d NGƯỜI QUẢNLÝ NHÂNVIÊN BIÊNCHẾ Lương NHÂNVIÊN HỢP ĐỒNG LươngHĐ Quảnlý Thuộc DỰ ÁN CÔNG ĐOÀN

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 II-8). (adsbygoogle = window.adsbygoogle || []).push({});

Sốgiấyphép Mãsố Giá Xeôtô d Sốchỗ Sốtrục

Hình II-8. Xeôtô được tổng quát hoá từ Xecon và Xetải

IV.2.3- Phân cp chuyên bit và lưới chuyên bit

Bản thân các lớp con cũng có các lớp con của nó. Như vậy sẽ tạo ra một phân cấp chuyên biệt hoá hoặc một lưới chuyên biệt hoá. Một phân cấp chuyên biệt hoá

có ràng buộc là một lớp con chỉ tham gia vào một kiểu liên kết lớp cha/lớp con như là một lớp con. Một lưới chuyên biệt có điều kiện là một lớp con có thể tham gia vào nhiều kiểu liên kết lớpcha/lớpcon như là một lớp con. Nói cách khác, một lớp con trong phân cấp chuyên biệt chỉ thừa kế một lớp cha, ngược lại, một lớp con trong lưới chuyên biệt có thể thừa kế nhiều lớp cha. Một lớp con thừa kế nhiều lớp cha thuộc các kiểu khác nhau được gọi là một kiểu hợp (union type) hoặc một phạm trù (category).

IV.2.4- Các ràng buc và các đặc trung ca chuyên bit hoá, tng quát hoá

Trong một số chuyên biệt hoá, chúng ta có thể xác định một cách chính xác các thực thể sẽ là thành viên của một lớp con bằng cách đặt một điều kiện trên một thuộc tính nào đấy của lớp cha. Các lớp con như vậy được gọi là các lớp con được xác định bằng điều kiện. Nếu các lớp con của một chuyên biệt hoá có điều kiện thành viên trên cùng một thuộc tính của lớp cha thì chuyên biệt hoá đó cũng được gọi là chuyên biệt hoá được xác định bằng thuộc tính. Nếu việc xác định một lớp

Xe con Xe tải

Tốcđộ

con không theo một điều kiện nào thì lớp con đó được gọi là được người sử dụng xác định.

Có hai ràng buộc áp dụng cho một chuyên biệt hoá. Ràng buộc rời rạc chỉ ra rằng các lớp con của một chuyên biệt phải rời rạc. Điều này có nghĩa là một thực thể có thể là một thành viên của nhiều nhất là một trong số các lớp con của chuyên biệt hoá. Một chuyên biệt hoá được xác định bằng thuộc tính thoả mãn ràng buộc rời rạc nếu thuộc tính được sử dụng để xác định thành viên là đơn trị. Nếu các lớp con không thoả mãn ràng buộc rời rạc, các tập thực thể của chúng có thể chồng chéo nhau, nghĩa là một thực thể có thể là một thành viên của nhiều lớp con trong chuyên biệt hoá. Ràng buộc thứ hai trong chuyên biệt hoá gọi là ràng buộc đầy đủ, nó có thể là toàn bộ hoặc từng phần. Một ràng buộc chuyên biệt toàn bộ chỉ ra rằng mỗi thực thể trong lớp cha phải là một thành viên của một lớp con nào đó trong chuyên biệt. Một ràng buộc chuyên biệt từng phần cho phép một thực thể của lớp cha không thuộc về bất kỳ lớp con nào. Ví dụ, nếu một nhân viên phải hoặc là một nhân viên biên chế hoặc là một nhân viên hợp đồng thì (NHÂNVIÊN_BIÊNCHẾ,

NHÂNVIÊN_HỢPĐỒNG) là một chuyên biệt toàn bộ của NHÂNVIÊN. Nếu một

nhân viên có thể không phải là một thư ký, một kỹ sư hoặc một kỹ thuật viên thì chuyên biệt (THƯKÝ, KỸSƯ, KỸTHUẬTVIÊN) là một chuyên biệt từng phần

của NHÂNVIÊN.

Trong sơ đồ của mô hình EER, nếu một chuyên biệt hoá là rời rạc thì ở giữa hình tròn nối với các lớp con có ghi chữ d (disjoin), còn một chuyên biệt là chồng chéo thì ở giữa hình tròn nối các lớp con có ghi chữ o (overlap).

IV.3- Sơ đồ 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ớpcha/lớpcon đượ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

Một phần của tài liệu Giao trinh CSDL Của Sở Bưu Chính viễn thông Hà Nội (Trang 40)