8. • analyse
• welke behoeften? welk gegevens zijn hiervoor nodig?
• conceptueel ontwerp
• beschrijving van gegevenstypes, relaties, restricties
en operaties
• volgens hoog-niveau gegevensmodel
6
9. • analyse
• welke behoeften? welk gegevens zijn hiervoor nodig?
• conceptueel ontwerp
• beschrijving van gegevenstypes, relaties, restricties
en operaties
• volgens hoog-niveau gegevensmodel
• transformatie naar implementatiemodel
• conceptueel schema volgens model van DBMS
6
10. • analyse
• welke behoeften? welk gegevens zijn hiervoor nodig?
• conceptueel ontwerp
• beschrijving van gegevenstypes, relaties, restricties
en operaties
• volgens hoog-niveau gegevensmodel
• transformatie naar implementatiemodel
• conceptueel schema volgens model van DBMS
• fysisch ontwerp
• intern schema volgens model van DBMS
6
14. • bedoeling:
• relevant deel van de werkelijkheid beschrijven
• objecten + feiten
9
15. • bedoeling:
• relevant deel van de werkelijkheid beschrijven
• objecten + feiten
• beschrijving = schema
• elke groep gebruikers heeft eigen schema
• alle schema's samen: infologisch schema
9
16. • 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
18. • waarom
• sluit nauwer aan bij realiteit dan een implementatiemodel
• bevat meer informatie omtrent betekenis van objecten
dan implementatiemodellen
• ... en minder informatie omtrent details van implementatie
10
19. • waarom
• sluit nauwer aan bij realiteit dan een implementatiemodel
• bevat meer informatie omtrent betekenis van objecten
dan implementatiemodellen
• ... en minder informatie omtrent details van implementatie
• gebruikte model: entiteit-relatie-model
• objecten
• verbanden tussen objecten (relaties)
• eigenschappen (attributen)
• waardenverzamelingen (domeinen)
10
28. • 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
29. • 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
30.
31.
32.
33.
34. sleutel
• attribuut waarvan de waarden verschillen voor elke
verschillende entiteit, in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
20
35. ontwerp van ER schema
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
21
37. Fname Minit Lname
Salary
Name
Sex Address
Ssn EMPLOYEE
Bdate
22
38. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
22
39. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
Number
22
40. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex Birthdate
22
41. 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
45. 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
47. Fname Minit Lname
Salary
Name
Sex Address
Ssn EMPLOYEE
Bdate
28
48. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
28
49. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
Number
28
50. Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
51. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
52. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
Bdate
MANAGES
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
53. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
Bdate
MANAGES
CONTROLS
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
54. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
Bdate
MANAGES
CONTROLS
SUPERVISES
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
55. Fname Minit Lname Number
Salary Name
Name WORKS_FOR Locations
Sex Address
Ssn StartDate
EMPLOYEE DEPARTMENT
Bdate
MANAGES
CONTROLS
SUPERVISES
HAS_DEP.
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
56. 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
28
57. 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
61. 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
62. 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
SUPERVISES WORKS_ON M
HAS_DEP.
PROJECT
N
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
34
63. 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
64. • 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
69. 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 CONTROLS
(0,N)
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
41
70. 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
72. 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