Databases I EER and Object Modeling Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002
Weak entities met meerdere owners (fig 4.15)
Ternaire relaties (fig 4.13ab)
Voorbeeld ternaire relationship set Splitsen van SUPPLY(SUPPLIER, PART, PROJECT) in u CAN_SUPPLY(SUPPLIER, PART) u USES(PART, PROJECT) u SUPPLIES(SUPPLIER, PROJECT) SUPPLY CAN_SUPPLYUSES SUPPLIES s1 p1 j2s1 p1p1 j2s1 j2 s1 p2 j1s1 p2p2 j1s1 j1 s2 p1 j1s2 p1p1 j1s2 j1 s1 p1 j1 (eigenlijk lopen we hier vooruit op de lossless-join eigenschap…)
Ternaire relatie als weak entity (fig 4.13c)
Ternaire relaties + binaire relaties
Subclass / superclass Entity type sub is een subclass van entity type super wanneer voldaan is aan: u “subset” iedere entity instance van sub is ook een entity instance van super u “type inheritance” alle atributes en relationship types die bij super horen, horen ook bij sub
Voorbeeld specialization (fig 4.1)
Supclass / superclass instances (fig 4.2)
Voorbeeld generalization (fig 4.3)
Specializations u predicate defined: membership van een bepaalde subclass hangt af van de waarde van een attribuut van de superclass u attribute defined: alle subclasses van de specialization zijn predicate defined op het zelfde attribuut van de superclass u specialization: –disjoint / overlapping –partial / total
Overlapping, total specialization (fig 4.5)
Disjunct, partial specialization (fig 4.4)
Shared subclasses u Shared subclass: subclass van meerdere superclasses u specialization hierarchy: geen shared subclasses toegestaan u specialization lattice: shared subclasses toegestaan u multiple inheritance: het overerven van attributen en relationships van meerdere superclasses
Voorbeeld specialization lattice (fig 4.7)
is_a versus played_by u reiziger is_a persoon ? u reiziger played_by persoon ! u is_a relatie (superclass / subclass): –subclass instance heeft precies één superclass instance –subclass existant dependent op superclass –superclass instance heeft hooguit één subclass instance u played_by relatie (player / role): –role instance heeft precies één player instance –role existant dependent op player –player instance kan meer dan één role instance hebben u daarnaast: static specialization / dynamic specialization
Thuis u Nalezen: u Voorbereiden: hoofdstuk 7 u Huiswerk: opgave 1