20130212 les gb1
DESCRIPTION
TRANSCRIPT
![Page 1: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/1.jpg)
1
Gegevensbanken
Prof. E. Duval, Prof. B. Berendt, dr. Matthijs Van Leeuwen2012 - 2013
![Page 2: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/2.jpg)
http://www.slideshare.net/erik.duval
2
![Page 3: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/3.jpg)
3
![Page 4: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/4.jpg)
Elmasri & Navathe, Fundamentals ofDatabase Systems, Addison Wesley, 6th edition, 2011
goed genoeg voor zelfstudie ;-)
5de of 6de editie is OK
![Page 5: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/5.jpg)
• docenten
• Prof. Erik Duval, Prof. Bettina Berendtdr. Katrien Verbert Matthijs van Leeuwen
• medewerkers
• Albrecht Zimmermann, Bo Gao, Celine Vens, Mathias Verbeke, Rula Sayaf, Tommy Messelis, Jo Devriendt, Angelika Kimmig
• 18 17 hoorcolleges
• video conferencing, om de beurt
5
![Page 6: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/6.jpg)
oefenzitting
• bereid voor: theorie!
• verplicht (geen sancties)
• niet zo maar van reeks veranderen
• laat weten als er een probleem is
• “head count”
• vragen: toledo
• werkje: geen punten, model oplossing, groep van 3, verplicht (geen sancties)
6
![Page 7: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/7.jpg)
• toledo: statistics tracking
• niet persoonlijk
• data mining - outlook lecture
• vragen na einde hoorcolleges
• wij antwoorden zolang je vraagt ;-)
7
![Page 8: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/8.jpg)
• mondeling examen met schriftelijke oefeningen
• focus
• concepten en methodes
• kennen en kunnen gebruiken
• toepassingen
• ontwerpen van een gegevensbank
• queries
![Page 9: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/9.jpg)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
juni 2012
![Page 10: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/10.jpg)
?doelstellingen
10
![Page 11: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/11.jpg)
11
![Page 12: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/12.jpg)
inhoud
12
?
![Page 13: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/13.jpg)
inhoud
• gegevensmodel: (E)ER en relationeel
• en een beetje: OO, ERDBMS, netwerk, hierarchisch
• ontwerp: (E)ER en relationeel
• opslag: bestand, hashing, indexen, bomen, meerdimensionaal
• implementatie: queries, transacties, concurrentie, herstel
• geavanceerd: distributie, data warehouse, multimedia
• een beetje
13
![Page 14: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/14.jpg)
14Thanks!
Questions?http://erikduval.wordpress.com/
@ErikDuval
![Page 15: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/15.jpg)
wat is een gegevensbank?
![Page 16: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/16.jpg)
voorbeelden?
![Page 17: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/17.jpg)
verschil metvariabelen in programma?
![Page 18: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/18.jpg)
• programma-gegevens
• korte levensduur: werkgeheugenvariabelen, objecten
• lange levensduur: persistentbestanden en gegevensbanken
• interpretatie gegevensgedefinieerd in programma
• record, klasse, ...18
![Page 19: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/19.jpg)
19
?
?
![Page 20: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/20.jpg)
• Bestanden
• elk programma definieert structuur
• meerdere programma’s: redundantie of omzetten
• Gegevensbanken
• data + metadata die structuur beschrijft
• onafhankelijk van programma’s
![Page 21: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/21.jpg)
Wat zou KU Leuven gegevensbankover studenten bevatten?
![Page 22: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/22.jpg)
• ...
![Page 23: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/23.jpg)
![Page 24: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/24.jpg)
• verzameling centraal beheerde, permanent opgeslagen gegevensdie op elk tijdstipvoor verschillende toepassingen beschikbaar moet zijn
• behoeften
• alle gegevens van belang voor alle voorziene toepassingen
• elke toepassing ziet voor haar relevante gegevens
• verschillende toepassingen delen dezelfde gegevens
Gegevensbank
24
![Page 25: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/25.jpg)
25
![Page 26: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/26.jpg)
• gegevensbanksysteem
• gegevensbank(gegevens zelf)
• gegevensbankbeheerssysteem(DataBase Management System)
• DBMS
• creatie gegevensbankstructuur (schema)
• toevoegen, weglaten, wijzigen gegevens
• opvragen gegevens
26
![Page 27: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/27.jpg)
gegevensmodellen?
![Page 28: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/28.jpg)
• hoog niveau: conceptuele modellen
• dicht bij gebruiker
• vb. entiteit-relatie model
• tussenin: implementatiemodellen
• hoe worden gegevens en relaties voorgesteld
• nog steeds abstract
• vb. relationeel model
• laag niveau: fysische modellen
• details van gegevensopslag, bestandsorganisatie
28
![Page 29: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/29.jpg)
schema & instantie?
![Page 30: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/30.jpg)
• Gegevensbankschema = beschrijving van een gegevensbank
• Bepaalde eigenschappen van de gegevensbank
• vb. welke entiteiten er zijn, welke attributen ze hebben
• Instantie van een gegevensbank
• Gegevens in de gegevensbank op 1 welbepaald ogenblik
• andere benamingen:
• schema = intentie,
• instantie = extensie
• schema blijft constant over de tijd, instantie niet
30
![Page 31: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/31.jpg)
schema
31
![Page 32: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/32.jpg)
instantie
32
![Page 33: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/33.jpg)
3-schema architectuur(ANSI/SPARC, 1975)
![Page 34: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/34.jpg)
![Page 35: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/35.jpg)
• Doel
• scheiden gebruikerstoepassingen en fysische gegevensbank
• niveau’s
• intern: fysische opslagstructuur, toegangspaden
• conceptueel : implementatiemodel
• extern (gebruikersviews): hoe gebruikers gegevens zien
• DBMS vertaalt: extern → conceptueel → intern niveau
• 3 niveaus in meeste DBMS'en niet volledig gescheiden
35
![Page 36: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/36.jpg)
Gegevens-onafhankelijkheid
• logisch: conceptueel schema verandertmaar externe schema’s niet
• vb?
• fysisch: intern schema verandert,maar conceptueel niet
• vb?
36
![Page 37: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/37.jpg)
![Page 38: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/38.jpg)
ontwerp van een gegevensbank
38
![Page 39: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/39.jpg)
• analyse: behoeften? gegevens?
• conceptueel ontwerp: hoog-niveau gegevensmodel
• gegevenstypes, relaties, beperkingen, operaties
• transformatie naar implementatiemodel
• conceptueel schema volgens model van DBMS
• fysisch ontwerp
• intern schema volgens model van DBMS
39
![Page 40: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/40.jpg)
• entiteiten ∈ entiteitstype
• relaties ∈ relatietype
• attributen: waarden ∈ domein
• sleutel
• identificator v.e. entiteitstype / relatietype
• waarde van sleutel bepaalt eenduidig de entiteit / relatie
40
![Page 41: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/41.jpg)
voorbeeld:bedrijf
41
![Page 42: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/42.jpg)
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
ontwerp van ER schema
42
![Page 43: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/43.jpg)
43
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
Location
DEPENDENT
Name
Sex BirthdateRelationship
![Page 44: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/44.jpg)
• attribuut waarvan de waarden verschillen
• voor elke verschillende entiteit
• in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
sleutel
44
![Page 45: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/45.jpg)
• relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En
• graad = aantal betrokken entiteitstypes
• binair, ternair, ...
• 1 entiteitstype meerdere keren: recursief relatietype
• vb. SUPERVISION
• entiteitstype speelt rol in een relatie
relatie
45
![Page 46: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/46.jpg)
46
![Page 47: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/47.jpg)
47
![Page 48: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/48.jpg)
identificeer
• entiteitstypes en attributen van elk entiteitstype
• sleutelattributen
• relatietypes en attributen van elk relatietype
• connectiviteit en deelnamebeperkingen
• eventuele afgeleide attributen in entiteitstypes
• vb: aantal werknemers in een departement
ontwerp van ER schema
48
![Page 49: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/49.jpg)
49
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
Name
Sex BirthDateRelationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISESHAS_DEP.
WORKS_ON
Hours
![Page 50: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/50.jpg)
• connectiviteit ("cardinality ratio")
• voor binaire relatietypes: 1:1, 1:n, m:n
• vb. werknemer behoort bij precies één departement
• ternaire, ... relatietypes: meer mogelijkheden
• deelnamebeperking
• totale / partiële deelname
• vb. moet iedereen bij een departement behoren?
• voor binaire relatietypes: T-T, T-P, P-P
• totale deelname = "bestaansafhankelijkheid"
beperkingen op relatietypes
50
![Page 51: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/51.jpg)
51
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
Name
Sex BirthDateRelationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISESHAS_DEP.
1N
11
1
N
supervisor supervisee1
N
1 NWORKS_ON
Hours
N
M
![Page 52: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/52.jpg)
• zonder eigen sleutel
• identificatie via entiteit van ander entiteitstype
• identificerende entiteit = "eigenaar", identificerende relatie
• steeds totale deelname in identificerende relatie
• partiële sleutel
• identificeert entiteit binnen entiteiten met zelfde eigenaar
• partiële sleutel = "discriminator"
• vb : DEPENDENT
zwakke entiteitstypes
52
![Page 53: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/53.jpg)
– ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN)
– RELATIE :• vervoegd werkwoord
– Attribuut– Sleutelattribuut– rolnaam
53
![Page 54: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/54.jpg)
54
![Page 55: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/55.jpg)
55
![Page 56: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/56.jpg)
alternatieve notatie
(min,max) annotatie bij rol
hoe vaak kan een entiteit die rol spelen in een relatie?min = 0 → partieelmin > 0 → totaal
56
![Page 57: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/57.jpg)
57
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
Name
Sex BirthDateRelationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISESHAS_DEP.
WORKS_ON
hours
(1,1)
(4,N)
(0,1)(1,1) (0,N)
(1,1)(1,N)
(1,N)
(1,1)
(0,N)supervisor
supervisee(0,N)
(0,1)
![Page 58: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/58.jpg)
niet-binaire relaties
• vb. van ternaire relatie: SUPPLY
• leverancier levert onderdelen voor project
• SUPPLIER, PART en PROJECT in relatie SUPPLY
• connectiviteit en deelnamebeperking
• ingewikkelder, met (min, max) notatie
• is ternaire relatie ook via binaire relaties voor te stellen?
58
![Page 59: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/59.jpg)
59
SUPPLIER
PART
PROJECTSUPPLIES_FOR(0,N)
(0,N)
(1,N)
SuppNo
PartNo
ProjNoQuantity
![Page 60: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/60.jpg)
60
PART
(0,N)
PartNo
SUPPLIER PROJECT
SUPPLIES_FOR
(0,N) (1,N)
SuppNo ProjNo
Quantity
CAN_SUPPLY USES
PARTICIPATES
een ternair relatietype vervangen door drie binaire relatietypes?
![Page 61: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/61.jpg)
Vragen...?
61
![Page 62: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/62.jpg)
OO vs ER
?
![Page 63: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/63.jpg)
EER
• subklasse/superklasse
• specialisatie/generalisatie
• categorieën
• overerving van attributen
63
![Page 64: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/64.jpg)
specialisatie
• vb: verschillende soorten werknemers:
• SECRETARY
• ENGINEER
• MANAGER
• TECHNICIAN
• ...
• zijn subklassen van de superklasse EMPLOYEE
64
![Page 65: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/65.jpg)
65
![Page 66: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/66.jpg)
66
![Page 67: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/67.jpg)
• 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)
67
![Page 68: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/68.jpg)
68
![Page 69: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/69.jpg)
69
![Page 70: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/70.jpg)
generalisatie
• omgekeerde van specialisatie
• gemeenschappelijke uit verschillende entiteitstypes
• algemener entiteitstype dat superklasse is
• vb. CAR, TRUCK → VEHICLE
• levert gewoonlijk een totale subklasse/superklasse relatie
70
![Page 71: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/71.jpg)
71
![Page 72: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/72.jpg)
• specialisatie-hiërarchie
• elke subklasse in één super/subklasse relatie
• specialisatie-tralie
• subklasse in meerdere super/subklasse relaties
• = gemeenschappelijke (shared) subklasse
• subklasse erft attributenvan alle directe en indirecte superklassen
72
![Page 73: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/73.jpg)
73
![Page 74: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/74.jpg)
74
![Page 75: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/75.jpg)
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
75
![Page 76: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/76.jpg)
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
76
![Page 77: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/77.jpg)
77
![Page 78: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/78.jpg)
• Klasse: verzameling entiteiten
• klasse S is subklasse van superklasse Ca.s.a. S ⊆ C
• Z={ S1, ..., Sn } specialisatie van superklasse (generalisatie) Ga.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
formeel
78
![Page 79: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/79.jpg)
• subklasse S van C is predikaatgedefinieerd als predikaat p bestaat zodat S = C[p] = { e ∈ C | p(e)} ;anders gebruikergedefinieerd
• specialisatie Z is attribuutgedefinieerda.s.a. elke Si ∈ Z predikaatgedefinieerd is met predikaat A = cimet A een welbepaald attribuut en ci constantenalle ci verschillend ⇒ disjuncte specialisatie
• een categorie T is een deelverzameling vanunie van haar definiërende superklassen : T ⊆ D1 ∪ … ∪ Dn
• als predikaten pi in Di lidmaatschap van T aangeven: T=D1[p1] ∪ … ∪ Dn[pn]
formeel
79
![Page 80: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/80.jpg)
Kleine wenk ...
Eerste vraag examen
![Page 81: 20130212 les gb1](https://reader034.vdocuments.site/reader034/viewer/2022051322/540ef9328d7f72927e8b4f7b/html5/thumbnails/81.jpg)
81
Thanks!
Questions?
http://erikduval.wordpress.com/@ErikDuval