May have several specializations of the same superclass
Generalization
Reverse of specialization. Several classes with common features generalize into a superclass
Disjointness Constraint
Disjoint : 최대 1개의 subclass에만 속할 수 있는 것
Overlapping : 여러 subclass에 속할 수 있는 것
Completeness Constraint
Total : 반드시 어떤 subclass에 속해야한다는 것
Partial : subclass에 속하지 않는 entity가 있을 수 있는 것이다.
→ 예를 들어, 아직 categorized되지 않은 것이 있다면 partial이라는 것이다.
Summary of Constraints on Specialization and Generalization
There are four types of specialization/generalization
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Subset without Specialization
There are no additional attributes in MANAGER entity. It is called a subset without specification.
Attribute-defined Specialization
Categories (UNION Types)
All of the superclass/subclass relationships we have seen so far have a single superclass
However, a shared subclass is a subclass in
more than one distinct superclass/subclass relationships
each relationship has a single superclass
shared subclass leads to multiple inheritances
Therefore, we need to model a single superclass/subclass relationship with more than one superclass. Superclasses can represent different entity types. Such a subclass is called a category or UNION Type
Example
In a database for vehicle registration, a vehicle owner can be a PERSON, a BANK, or a COMPANY. A category called OWNER is created to represent a subset of the union of the three superclasses COMPANY, BANK, and PERSON. A category member must exist in at least one of its superclasses