Week 8 - Enhanced ERM and OO-RDBMS Flashcards
Applications of E-ERM
Engineering databases (CAD, CAM)
Multimedia apps
Data mining and warehousing
How to indicate that MANAGER is a subclass of EMPLOYEE
EMPLOYEE ⊃ MANAGER
(class ⊃ subclass)
Subclass Entities
They inherit attributes/relationships of superclass entity.
They have their own specific, local attributes and relations.
Advantages of type inheritance (using subclass entities)
Avoid describing similar concepts more than once
Add more semantic information to the design
Specialization
A top-down process. The process of breaking a superclass into a set of subclasses.
1) Start with a superclass (e.g. employee)
2) Identify attributes of the subclasses
3) Establish relationships specific to subclasses
Generalization
The opposite of specialization in that it is a bottom-up process, where you group specific entities into a broader subclass.
Constraints in specialization
Rules about how entities are divided
Constraint: Disjoint Total
An entity can belong to exactly one subclass
(e.g. a CAR cannot be both a TRUCK and a BIKE)
Constraint: DIsjoint Partial
An entity can belong to exactly one subclass or none.
(e.g. A generic VEHICLE might not be a TRUCK or a CAR)
Constraint: Overlapping Total
An entity must belong to at least one subclass, possibly multiple.
(STAFF could also be STUDENT)
Constraint: Overlapping Partial
An entity can belong to multiple subclasses or none.
(PARTS could be MANUFACTURED or PURCHASED or neither).
Multiple inheritance
A subclass with more than one superclass.
Union Type, Partial Category, Total Category
idk
Single Relation VS Multiple Relation
Multiple:
- Employee(SSN, Name, Address)
- Secretary(SSN , TypingSpeed)
- Technician(SSN, EngType)
Single (disjoint subclasses, use null values, not recommended when lots of specific attributes are defined):
- Employee(SSN, Name, Address, TypingSpeed, EngType)
What additional attributes will your relation need in the event of overlapping subclasses?
Boolean fields to represent which subclasses it belongs to, since with overlapping subclasses an entity can belong to more than one subclass at a time.
PART ⊃ MANU_PART, PART ⊃ PURC_PART
so your relation would have additional columns: M_flag, P_flag