6. • verschillende entiteitstypes SECRETARY, ENGINEER, ... ?
• attributen voor enkel bepaalde soorten werknemers
vb. SECRETARY.TypingSpeed
• enkel bepaald soort werknemer in een relatie
vb. MANAGES: tussen MANAGER en PROJECT
• één entiteitstype EMPLOYEE
• vb. één relatie WORKS_FOR i.p.v. aparte relaties voor
MANAGER, SECRETARY, ...
6
8. • specialisatie
• op basis van een predikaat: predikaatgedefinieerd
• op basis van een attribuut: attribuutgedefinieerd
• op basis van andere kenmerken: gebruikergedefinieerd
• disjuncte of overlappende subklassen
• d / o in diagrammen
• totale / partiële specialisatie
• totaal :
elk object van superklasse moet tot een
subklasse behoren (in diagram: dubbele lijn)
8
11. generalisatie
• omgekeerde van specialisatie
• gemeenschappelijke uit verschillende entiteitstypes
• algemener entiteitstype dat superklasse is
• vb. CAR, TRUCK → VEHICLE
• levert gewoonlijk een totale subklasse/superklasse relatie
11
13. • specialisatie-hiërarchie
• elke subklasse in één super/subklasse relatie
• specialisatie-tralie
• subklasse in meerdere super/subklasse relaties
• = gemeenschappelijke (shared) subklasse
• subklasse erft attributen
van alle directe en indirecte superklassen
13
16. ontwerpmethodes
• top-down ontwerp
• begin met 1 entiteitstype
• specialiseer herhaaldelijk
• bottom-up ontwerp
• begin met verscheidene entiteitstypes
• maak opeenvolgende generalisaties
• in de praktijk
• meestal combinatie van beide
16
17. categorie
• subklasse met meerdere superklassen
• deelverzameling van unie van superklassen
• entiteit in subklasse behoort tot 1 superklasse
• selectieve overerving van attributen
• Verschilt van gemeenschappelijke subklasse
• deelverzameling van doorsnede van superklassen
• entiteit in subklasse behoort tot elke superklasse
• overerving van alle attributen van de superklassen
17
23. formeel
• Klasse: verzameling entiteiten
• klasse S is subklasse van superklasse C
a.s.a. S ⊆ C
• Z={ S1, ..., Sn } specialisatie van superklasse (generalisatie) G
a.s.a. ∀ i : G / Si is een superklasse / subklasse relatie
• Z is totaal indien ∪ Si = G,
anders partieel
• Z is disjunct
als ∀ i , j : i ≠ j Si ∩ Sj = ∅,
anders overlappend
23
24. formeel
• subklasse S van C is predikaatgedefinieerd
als predikaat p bestaat zodat S = C[p] = { e ∈ C | p(e)} ;
anders gebruikergedefinieerd
• specialisatie Z is attribuutgedefinieerd
a.s.a. elke Si ∈ Z predikaatgedefinieerd is met predikaat A = ci
met A een welbepaald attribuut en ci constanten
alle ci verschillend disjuncte specialisatie
• een categorie T is een deelverzameling van
unie van haar definiërende superklassen : T ⊆ D1 ∪ … ∪ Dn
• als predikaten pi in Di lidmaatschap van T aangeven:
T=D1[p1] ∪ … ∪ Dn[pn]
24