4. Elmasri & Navathe, Fundamentals of
Database Systems, Addison Wesley, 6th edition, 2011
goed genoeg voor zelfstudie ;-)
5de of 6de editie is OK
5. • docenten
• Prof. Erik Duval, Prof. Bettina Berendt
dr. 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
6. 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
7. • toledo: statistics tracking
• niet persoonlijk
• data mining - outlook lecture
• vragen na einde hoorcolleges
• wij antwoorden zolang je vraagt ;-)
7
8. • mondeling examen met schriftelijke oefeningen
• focus
• concepten en methodes
• kennen en kunnen gebruiken
• toepassingen
• ontwerpen van een gegevensbank
• queries
24. Gegevensbank
• verzameling
centraal beheerde, permanent opgeslagen gegevens
die op elk tijdstip
voor 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
24
28. • 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
30. • 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
42. ontwerp van ER schema
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
42
43. Fname Minit Lname
Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
DEPENDENT
Name Location
Name
Relationship
Sex Birthdate Number
43
44. sleutel
• attribuut waarvan de waarden verschillen
• voor elke verschillende entiteit
• in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
44
45. relatie
• 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
45
48. ontwerp van ER schema
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
48
49. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
Bdate
MANAGES
Hours CONTROLS
WORKS_ON
SUPERVISES
HAS_DEP.
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
49
50. beperkingen op relatietypes
• 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"
50
51. Fname Minit Lname Number
Salary Name
Name N WORKS_FOR 1 Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
1
Bdate 1 1
MANAGES
Hours CONTROLS
supervisor supervisee
1
N
1 N N
WORKS_ON M
SUPERVISES
HAS_DEP.
PROJECT
N
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
51
52. zwakke entiteitstypes
• 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
52
57. Fname Minit Lname Number
Salary Name
Name WORKS_FOR (4,N) Locations
Sex Address
(1,1)
Ssn StartDate
EMPLOYEE DEPARTMENT
(0,1)
(1,1) (0,N)
Bdate
MANAGES
(0,1) hours
(0,N) CONTROLS
supervisee (1,N)
supervisor
(0,N) (1,1)
WORKS_ON (1,N)
SUPERVISES
HAS_DEP.
PROJECT
(1,1)
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
57
58. 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
67. • 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
70. 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
72. • 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
72
75. 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
76. 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
78. 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
78
79. 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]
79