互斥性限制(Disjointness Constraint)
在擴充實體關係模型(Extended Entity-Relationship Model, EER Model)中,互斥性限制宣告父型態(Supertype)的一個實例是否可以同時屬於多個子型態(Subtype)。這一限制有兩種可能:互斥(Disjoint)和重疊(Overlap)。
1. 互斥(Disjoint)
定義:
互斥(Disjoint)限制是指父型態的一個實例只能屬於一個子型態,不能同時屬於多個子型態。換句話說,每個實例在所有子型態中只能出現一次且僅能出現一次。
表示方法:
在 EER 圖中,互斥性限制通常用字母 "d" 或 "D" 放在連接父型態和子型態的分支上來表示。
示例:
假設有一個父型態 "Employee" 和兩個子型態 "FullTimeEmployee" 和 "PartTimeEmployee"。如果是互斥限制,那麼每個 "Employee" 只能是 "FullTimeEmployee" 或 "PartTimeEmployee" 中的一個,不能同時屬於這兩者。
plaintext
複製程式碼
Employee
/ \
/ \
d/ \d
FullTime PartTime
Employee Employee
實例:某個 "Employee" 只能是 "FullTimeEmployee" 或 "PartTimeEmployee" 中的一個,而不能是兩者之一。
2. 重疊(Overlap)
定義:
重疊(Overlap)限制是指父型態的一個實例可以同時屬於多個子型態。換句話說,每個實例可以在多個子型態中出現。
表示方法:
在 EER 圖中,重疊性限制通常用字母 "o" 或 "O" 放在連接父型態和子型態的分支上來表示。
示例:
假設有一個父型態 "Person" 和兩個子型態 "Employee" 和 "Student"。如果是重疊限制,那麼某個 "Person" 可以同時是 "Employee" 和 "Student"。
plaintext
複製程式碼
Person
/ \
/ \
o/ \o
Employee Student
實例:某個 "Person" 可以同時是 "Employee" 和 "Student"。
總結
互斥(Disjoint):父型態的每個實例只能屬於一個子型態,不能同時屬於多個子型態。在 EER 圖中用字母 "d" 或 "D" 表示。
重疊(Overlap):父型態的每個實例可以同時屬於多個子型態。在 EER 圖中用字母 "o" 或 "O" 表示。
這些限制幫助定義實體之間的精確關係,確保數據模型的邏輯一致性和完整性。