9. • bedoeling: relevant deel van de werkelijkheid beschrijven
• objecten + feiten
• beschrijving = schema
• elke groep gebruikers heeft eigen schema
• alle schema's samen: infologisch schema
• modellering gebruikt abstractie
• details weggelaten
• algemene, gemeenschappelijke eigenschappen en feiten
9
10. • waarom
• sluit nauwer aan bij realiteit dan een implementatiemodel
• meer betekenis van objecten dan implementatiemodellen
• ... minder details van implementatie
• gebruikte model: entiteit-relatie-model
• objecten (entiteiten)
• verbanden tussen objecten (relaties)
• eigenschappen (attributen)
• waardenverzamelingen (domeinen)
10
14. • bedrijf is georganiseerd in departementen
• een departement heeft naam, nummer, een of meer locaties,
departementshoofd (sinds een bepaalde datum)
• elk departement controleert een aantal projecten
elk project heeft naam, nummer, 1 locatie
• voor elke werknemer
• naam, ID, adres, salaris, geslacht, geboortedatum, #uren per week
besteed aan elk project, onmiddellijke overste (supervisor)
• een werknemer hoort bij 1 departement,
maar kan aan meerdere projecten werken die niet noodzakelijk door
1 departement gecontroleerd worden
• voor elke werknemer bovendien van de personen ten laste
• naam, geslacht, geboortedatum, relatie tot werknemer
14
15. • schema: mini-wereld
• entiteit: object (fysisch of conceptueel)
• entiteit type: klasse
• attribuut: eigenschap
• samengesteld / enkelvoudig (atomair)
• eenwaardig / meerwaardig
• expliciet voorgesteld / afgeleid
• domein (= mogelijke waarden)
• null-waarden:
• "heeft geen waarde" : niet van toepassing / onbekend
• nesten van samengestelde / meerwaardige attributen
15
20. sleutel
• attribuut waarvan de waarden verschillen
• voor elke verschillende entiteit
• in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
20
21. ontwerp van ER schema
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
21
22. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
DEPENDENT
Name Location
Name
Relationship
Sex Birthdate Number
22
23. 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
23
27. 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
27
28. Fnam Mini Lnam Numbe
Salar Nam
Nam WORKS_FO Location
Se Addres
Ss StartDat
EMPLOYE DEPARTMEN
Bdat
MANAGES
Hour CONTROLS
WORKS_O
SUPERVISES
HAS_DEP
PROJEC
Nam Locatio
DEPENDENT
Numbe
Nam
Relationshi
Se BirthDat
28
29. 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"
29
33. attributen van relatietypes
• vb. aantal uren / week dat werknemer aan project werkt
• 1 : 1 ➡ attribuut kan bij een van de entiteitstypes
• 1 : n ➡ attribuut kan bij entiteitstype aan n-zijde
• m : n ➡ attribuut kan niet bij entiteitstypes
• moet bij relatietype zelf
• vb: WORKS_ON: Hours
33
34. Fnam Mini Lnam Numbe
Salar Nam
Nam N WORKS_FO 1 Location
Se Addres
Ss StartDat
EMPLOYE DEPARTMEN
1
Bdat 1 1
MANAGES
Hour CONTROLS
superviso supervise
1
N
1 N N
SUPERVISES WORKS_O M
HAS_DEP
PROJEC
N
Nam Locatio
DEPENDENT
Numbe
Nam
Relationshi
Se BirthDat
34
35. 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
35
36. • bestaansafhankelijkheid
• bestaan ene hangt af van bestaan van andere
• ondergeschikte entiteit - dominante entiteit
• identificatieafhankelijkheid
• kan niet geïdentificeerd worden met eigen attributen
• = zwakke entiteit
• vb. straat ← gemeente ← land
• vaak samen, maar niet altijd
36
41. Fnam Mini Lnam Numbe
Salar Nam
Nam WORKS_FO (4,N Location
Se Addres
(1,1
Ss StartDat
EMPLOYE DEPARTMEN
(0,1
(1,1 (0,N
Bdat
MANAGES
(0,1 hour CONTROLS
(0,N
supervise (1,N
superviso
(0,N (1,1
WORKS_O (1,N
SUPERVISES
HAS_DEP
PROJEC
(1,1
Nam Locatio
DEPENDENT
Numbe
Nam
Relationshi
Se BirthDat
41
42. ontwerpkeuzes
• attribuut verwijst naar ander entiteitstype ➡ relatie
• vb. manager als attribuut bij DEPARTMENT
of als relatie ts. DEPARTMENT en EMPLOYEE
• attribuut bij verschillende entiteitstypes ➡ entiteitstype
• vb. STUDENT, INSTRUCTOR en COURSE een
attribuut ‘Departement’ ➡ entiteit DEPARTMENT
• entiteitstype met één attribuut met één entiteitstype
relatie ➡ attribuut
• vb. entiteitstype DEPARTMENT met slechts één
attribuut, en enkel relatie met STUDENT ➡attribuut
42
44. 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?
44