• analyse: behoeften? gegevens?
• conceptueel ontwerp: hoog-niveau gegevensmodel
• gegevenstypes, relaties, beperkingen, operaties
• transformatie naar implementatiemodel
• conceptueel schema volgens model van DBMS
6
Wednesday 22 February 12
10.
• 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
6
Wednesday 22 February 12
• bedoeling: relevant deel van de werkelijkheid beschrijven
• objecten + feiten
9
Wednesday 22 February 12
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
Wednesday 22 February 12
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
Wednesday 22 February 12
• waarom
• sluit nauwer aan bij realiteit dan een implementatiemodel
• meer betekenis van objecten dan implementatiemodellen
• ... minder details van implementatie
10
Wednesday 22 February 12
19.
• 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
Wednesday 22 February 12
• 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
Wednesday 22 February 12
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
15
Wednesday 22 February 12
sleutel
• attribuut waarvan de waarden verschillen
• voor elke verschillende entiteit
• in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
20
Wednesday 22 February 12
35.
ontwerp van ERschema
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
21
Wednesday 22 February 12
Fname Minit Lname
Salary
Name
Sex Address
Ssn EMPLOYEE
Bdate
22
Wednesday 22 February 12
38.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
22
Wednesday 22 February 12
39.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
Number
22
Wednesday 22 February 12
40.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
DEPENDENT
Name Location
Name
Relationship
Sex Birthdate Number
22
Wednesday 22 February 12
ontwerp van ERschema
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
Wednesday 22 February 12
Fname Minit Lname
Salary
Name
Sex Address
Ssn EMPLOYEE
Bdate
28
Wednesday 22 February 12
52.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
28
Wednesday 22 February 12
53.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
Number
28
Wednesday 22 February 12
54.
Fname Minit Lname Number
Salary Name
Name Locations
Sex Address
Ssn EMPLOYEE DEPARTMENT
Bdate
PROJECT
Name Location
DEPENDENT
Number
Name
Relationship
Sex BirthDate
28
Wednesday 22 February 12
55.
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
Wednesday 22 February 12
56.
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
Wednesday 22 February 12
57.
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
Wednesday 22 February 12
58.
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
Wednesday 22 February 12
59.
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
Wednesday 22 February 12
60.
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
Wednesday 22 February 12
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
29
Wednesday 22 February 12
63.
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
Wednesday 22 February 12
64.
1:n en totaalvoor employee en department
30
Wednesday 22 February 12
65.
1:n en partieelvoor supervisor en supervisee rol
31
Wednesday 22 February 12
66.
1:1, totaal voordepartment en partieel voor employee
32
Wednesday 22 February 12
67.
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
Wednesday 22 February 12
68.
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
Wednesday 22 February 12
69.
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
Wednesday 22 February 12
70.
• 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
Wednesday 22 February 12
alternatieve notatie
(min,max) annotatie bij rol
hoe vaak kan een entiteit die rol spelen in een relatie?
min = 0 → partieel
min > 0 → totaal
40
Wednesday 22 February 12
75.
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
Wednesday 22 February 12
ontwerpkeuzes
• attribuut verwijst naar ander entiteitstype ➡ relatie
• vb. manager als attribuut bij DEPARTMENT
of als relatie ts. DEPARTMENT en EMPLOYEE
42
Wednesday 22 February 12
78.
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
42
Wednesday 22 February 12
79.
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
Wednesday 22 February 12
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
Wednesday 22 February 12
Quantity
SuppNo ProjNo
(0,N (1,N
SUPPLIER SUPPLIES_FOR PROJECT
(0,N
PartNo
PART
46
Wednesday 22 February 12
84.
een ternair relatietypevervangen door drie binaire
SuppNo ProjNo
Quantity
SUPPLIER (0,N) (1,N) PROJECT
SUPPLIES_FOR
(0,N)
PART
PartNo
47
Wednesday 22 February 12
85.
een ternair relatietypevervangen door drie binaire
SuppNo ProjNo
Quantity
SUPPLIER (0,N) (1,N) PROJECT
SUPPLIES_FOR
(0,N)
CAN_SUPPLY PART
PartNo
47
Wednesday 22 February 12
86.
een ternair relatietypevervangen door drie binaire
SuppNo ProjNo
Quantity
SUPPLIER (0,N) (1,N) PROJECT
SUPPLIES_FOR
(0,N)
CAN_SUPPLY PART USES
PartNo
47
Wednesday 22 February 12
87.
een ternair relatietypevervangen door drie binaire
PARTICIPATES
SuppNo ProjNo
Quantity
SUPPLIER (0,N) (1,N) PROJECT
SUPPLIES_FOR
(0,N)
CAN_SUPPLY PART USES
PartNo
47
Wednesday 22 February 12