Chuyờn biệt húa và tổng quỏt húa

Một phần của tài liệu Tìm hiểu các phụ thuộc bao hàm trong mô hình quan hệ và ứng dụng vào việc chuyển đổi sang mô hình EER (Trang 28 - 34)

Chuyờn biệt húa: Là quỏ trỡnh định nghĩa một hoặc nhiều lớp con từ một lớp cha và hỡnh thành mối quan hệ lớp cha/lớp con. Nú là quỏ trỡnh trờn xuống (top down). Tập hợp lớp con của chuyờn biệt húa được định nghĩa dựa trờn một số đặc tớnh riờng biệt của cỏc thực thể của lớp cha.

Cỏc lớp con của chuyờn biệt hoỏ được gắn với đường thẳng nối đến đường trũn rồi nối với lớp cha. Ký hiệu tập con trờn mỗi đường nối một lớp con tới vũng trũn chỉ ra chiều của mối quan hệ lớp cha/lớp con. Cỏc thuộc tớnh chỉ ỏp dụng đối với cỏc tập thực thể riờng biệt chẳng hạn thuộc tớnh TypeSpeed của lớp SECRETARY được gắn với hỡnh chữ nhật diễn tả lớp con đú. Cỏc thuộc tớnh này được gọi là cỏc thuộc tớnh riờng của lớp con. Một lớp con cũng cú thể tham gia vào cỏc mối quan hệ riờng, chẳng hạn trong hỡnh 2.3 lớp con HOURLY_EMPLOYEE tham gia vào mối quan hệ BELONG_TO.

FName Mlnit LName

Name Ssn Birthday Address

SECRECTARY TECHNICIAN ENGINEER

MANAGER SALARIED_EMPLOYEE HOURLY_EMPLOYEE EMPLOYEE d d MANAGES PROJECT BELONGS_TO TRADE_UNION PayScale

TypingSpeed TGrade EngType

Salary

ẩ ẩ

ẩ ẩ ẩ

Hỡnh 2.3. Ký hiệu chuyờn biệt húa và cỏc lớp con trong mụ hỡnh EER [6]

Sự cần thiết phải sử dụng chuyờn biệt húa: Cú 2 lý do chớnh:

- Một vài thuộc tớnh chỉ ỏp dụng cho một số thực thể mà khụng ỏp dụng cho tất cả cỏc thực thể lớp cha.

- Chỉ một số thực thể lớp con tham gia vào mối quan hệ nào đú.

Túm lại: Quỏ trỡnh chuyờn biệt hoỏ cho phộp làm những việc sau:

 Định nghĩa một tập hợp cỏc lớp con của một tập thực thể.

 Thiết lập thờm cỏc thuộc tớnh riờng cho mỗi lớp con.

 Thiết lập thờm cỏc mối quan hệ riờng giữa mỗi lớp con với cỏc tập thực thể khỏc hay với cỏc lớp con khỏc.

Tổng quỏt húa: Là một tiến trỡnh ngược với chuyờn biệt hoỏ mà ở đú bỏ qua cỏc đặc điểm khỏc nhau giữa cỏc tập thực thể, nhận dạng cỏc đặc điểm chung của chỳng và khỏi quỏt chỳng thành một lớp cha duy nhất. Tập cỏc thực thể ban đầu là những lớp con riờng biệt. Đõy là một quỏ trỡnh từ dưới lờn (bottom up)

Vớ dụ: Hỡnh 2.4 (a) cú 3 tập thực thể CAR và TRUCK và MOTOCYCLE; chỳng cú thể được tổng quỏt hoỏ thành tập thực thể VEHICLE như trong hỡnh 2.4(b). Cả ba lớp CAR và TRUCK và MOTOCYCLE đều là lớp con của lớp cha VEHICLE.

CAR TRUCK NoOfPassengers Price MaxSpeed Vehicleld LicensePlateNo Price NoOfAxles Tonnage Vehicleld LicensePlateNo (a) MOTOCYCLE Vehicleld LicensePlateNo Price (b)

Vehicleld Price LicensePlateNo

VEHICLE CAR TRUCK NoOfPassengers MaxSpeed NoOfAxles Tonnage ẩ ẩ

Hỡnh 2.4. Tổng quỏt hoỏ CAR, TRUCK và MOTOCYCLE thành VEHICLE [6] 2.3.2.1. Ràng buộc và đặc điểm của chuyờn biệt hoỏ/tổng quỏt hoỏ

Cỏc ràng buộc của chuyờn biệt hoỏ/tổng quỏt hoỏ Ràng buộc về tớnh đầy đủ: Cú hai khả năng:

Chuyờn biệt húa toàn phần: Qui định mỗi thể hiện của lớp cha tất yếu phải là một thể hiện của lớp con.

Vớ dụ: Chuyờn biệt húa lớp EMPLOYEE thành hai lớp con SALARIED_EMPLOYEE và HOURLY_EMPLOYEE, sử dụng nột đụi nối từ lớp cha đến vũng trũn (hỡnh 2.5).

FName Mlnit LName

Name Ssn Birthday Address

SALARIED_EMPLOYEE HOURLY_EMPLOYEE (adsbygoogle = window.adsbygoogle || []).push({});

EMPLOYEE

d PayScale

Salary

ẩ ẩ

Chuyờn biệt húa riờng phần: Qui định rằng mỗi thể hiện của lớp cha khụng nhất thiết là một thể hiện của lớp con.

Vớ dụ: Kiểu VEHICLE và hai kiểu con CAR và TRUCK, vỡ MOTOCYCLE cũng là VEHICLE nhưng khụng là CAR hay TRUCK.

Vehicleld Price LicensePlateNo

VEHICLE CAR TRUCK NoOfPassengers MaxSpeed NoOfAxles Tonnage ẩ ẩ

Hỡnh 2.6. Chuyờn biệt húa riờng phần [6]

Cỏc ràng buộc về tớnh phõn ly: Trả lời cõu hỏi mỗi thể hiện của lớp cha cú thể đồng thời là thành viờn của hai lớp con hay khụng?

Ràng buộc này cú hai khả năng:

Phõn ly (Disjont): Một thể hiện của lớp cha là thành viờn của một lớp con và khụng thể là thành viờn của lớp con khỏc.

Vớ dụ: Hỡnh 2.5 chuyờn biệt húa toàn phần và phõn ly (sử dụng chữ d trong vũng trũn) EMPLOYEE thành hai lớp con SALARIED_EMPLOYEE và HOURLY_EMPLOYEE.

Trựng lặp (overlap): Một thể hiện của lớp cha cú thể đồng thời là thành viờn của nhiều hơn một lớp con.

PART PartNo Description O MANUFACTURED_PART PURCHASED_PART DrawingNo ManufactureDate BatchNo SupplierName ListPrice ẩ ẩ

Cỏc quy tắc chốn và xoỏ ỏp dụng đối với chuyờn biệt hoỏ (tổng quỏt hoỏ).

 Xoỏ một thực thể từ một lớp cha dẫn đến nú tự động xoỏ tất cả cỏc thực thể ở cỏc lớp con mà thực thể này tồn tại.

 Chốn một thực thể ở lớp cha dẫn đến thực thể này phải được chốn vào tất cả cỏc lớp con mà ở đú thực thể này thỏa món thuộc tớnh xỏc định. Chẳng hạn, chốn một thực thể vào lớp cha của một chuyờn biệt hoỏ toàn phần thỡ dẫn đến thực thể này phải được bổ sung vào ớt nhất một lớp con của chuyờn biệt hoỏ đú. Ta nờn tạo ra danh sỏch đầy đủ cỏc quy tắc cho việc chốn và xoỏ đối với cỏc tập thực thể khỏc nhau trong chuyờn biệt hoỏ.

Định nghĩa thuộc tớnh phõn biệt lớp con: Thuộc tớnh phõn biệt lớp con là một thuộc tớnh của lớp cha mà giỏ trị của nú cú thể xỏc định lớp con.

Trường hợp lớp con phõn ly: Vớ dụ lớp EMPLOYEE và cỏc lớp con SALARIED_EMPLOYEE và HOURLY_EMPLOYEE ta bổ sung thuộc tớnh mới Employee_Type vào kiểu cha, nú xem như thuộc tớnh phõn biệt lớp con. Khi nhõn viờn mới thờm vào lớp cha thuộc tớnh này cú thể nhận cỏc giỏ trị: “H”: chỉ nhõn viờn tớnh giờ, “S”: chỉ nhõn viờn hưởng lương thỏng.

FName Mlnit LName

Name Ssn Birthday Address

SALARIED_EMPLOYEE HOURLY_EMPLOYEE EMPLOYEE d PayScale Salary ẩ ẩ Employee_Type “S” “H”

Hỡnh 2.8. Đưa thuộc tớnh phõn biệt lớp con với trường hợp lớp con phõn ly [6]

Trường hợp trựng lặp: một thể hiện của lớp cha cú thể tạo ra nhiều hơn một thể hiện lớp con. Vớ dụ, lớp thực thể PART và cỏc lớp con trựng lặp. Ta thờm thuộc tớnh Part_Type vào PART, nú là thuộc tớnh phức hợp với 2 thành phần Manufactured và Purchased cú kiểu Boolean.

PART PartNo Description O MANUFACTURED_PART PURCHASED_PART DrawingNo ManufactureDate BatchNo SupplierName ListPrice ẩ ẩ Part_Type Manufacturied_Part=”Y” Purchased_Part=”Y”

Hỡnh 2.9. Đưa thuộc tớnh phõn biệt lớp con với trường hợp lớp con trựng lặp [6]

Khi một thể hiện mới đưa vào lớp cha PART cỏc thành phần của Manufactured và Purchased được mó húa như sau:

Loại phụ tựng Manufactured Purchased

Tự sản xuất Mua về Tự sản xuất và mua về “Y” “N” “Y” “N” “Y” “Y” (adsbygoogle = window.adsbygoogle || []).push({});

Khi khụng cú điều kiện để xỏc định cỏc thành viờn trong một lớp con thỡ lớp con đú được xỏc định bởi người sử dụng. Cỏc thành viờn trong lớp con này được xỏc định bởi người sử dụng khi họ sử dụng thao tỏc để bổ sung một thực thể vào lớp con đú; do đú, người sử dụng cần định rừ từng thành viờn một cho mỗi thực thể.

2.3.2.2. Sơ đồ lưới và lược đồ phõn cấp của chuyờn biệt hoỏ/tổng quỏt hoỏ

Lược đồ phõn cấp: Một lược đồ phõn cấp của chuyờn biệt húa cú ràng buộc là mọi lớp con chỉ là lớp con duy nhất của quan hệ cha con (khụng cú kế thừa bội).

Sơ đồ lưới: Một sơ đồ lưới thỡ một lớp con cú thể là con của nhiều hơn một quan hệ cha con.

EMPLOYEE

SECRETARY TECHNICIAN ENGINEER

MANAGER SALARIED_EMPLOYEE HOURLY_EMPLOYEE d d ENGINEERING_MANAGER ẩ ẩ ẩ ẩ ẩ ẩ ẩ ẩ ẩ

Trong sơ đồ lưới hay lược đồ phõn cấp chuyờn biệt húa cú hơn một mức thỡ lớp con khụng chỉ kế thừa cỏc thuộc tớnh của lớp cha trực tiếp mà cũn kế thừa thuộc tớnh của tất cả cỏc lớp cha tổ tiờn của nú từ đường đi đến nỳt gốc. Một lớp con cú nhiều hơn một lớp cha gọi là lớp con chia sẻ.

Qui tắc: Một thuộc tớnh (mối quan hệ) bắt nguồn từ cựng một lớp cha (PERSON) được kế thừa từ hơn một lớp với cỏc đường khỏc nhau (EMPLOYEE và STUDENT) trong sơ đồ lưới thỡ nú chỉ kế thừa một lần ở trong lớp con chia sẻ (STUDENT_ASSISTANT).

Cơ chế kế thừa khụng cho phộp kế thừa bội (cỏc lớp con chia sẻ), nờn ta phải tạo lớp con bổ sung. Bất kỳ sự chuyờn biệt hoỏ tải bội nào cũng đũi hỏi nhiều lớp con bổ sung. 1111111111 Degrees PERSON Sex Name SSN Address BirthDate O EMPLOYEE ALUMNUS STUDENT Salary Year Degree

Major GRADUATE_STUDENT UNDERGRADUATE_STUDENT

STAFF FACULTY STUDENT_ASSISTANT

Rank d SEARCH_ASSISTANT TEACHING_ASSISTANT Course DegreeProgram Class MajorDept d ẩ ẩ ẩ d ẩ ẩ ẩ ẩ ẩ ẩ ẩ ẩ Pecent Time

Hỡnh 2.11. Sơ đồ lưới với sự đa kế thừa của CSDL trường đại học [6]

Một phần của tài liệu Tìm hiểu các phụ thuộc bao hàm trong mô hình quan hệ và ứng dụng vào việc chuyển đổi sang mô hình EER (Trang 28 - 34)