GB: Entity Relationship Model
-
Upload
erik-duval -
Category
Education
-
view
1.883 -
download
1
Transcript of GB: Entity Relationship Model
2
http
://w
ww.
slid
esha
re.n
et/e
rik.d
uval
Wednesday 22 February 12
• ontwerp van een gegevensbank
• conceptuele gegevensmodellen
• voorbeeld
• E-R model
• E-R diagrammen
• ontwerpkeuzes
• niet-binaire relaties
4
Wednesday 22 February 12
• analyse: behoeften? gegevens?
• conceptueel ontwerp: hoog-niveau gegevensmodel
• gegevenstypes, relaties, beperkingen, operaties
6
Wednesday 22 February 12
• 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
• 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
• 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
• 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
• 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
• entiteiten ∈ entiteitstype
• relaties ∈ relatietype
• attributen: waarden ∈ domein
11
Wednesday 22 February 12
• entiteiten ∈ entiteitstype
• relaties ∈ relatietype
• attributen: waarden ∈ domein
11
Wednesday 22 February 12
• entiteiten ∈ entiteitstype
• relaties ∈ relatietype
• attributen: waarden ∈ domein
• sleutel
• identificator v.e. entiteitstype / relatietype
• waarde van sleutel bepaalt eenduidig de entiteit / relatie
11
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 projectenelk 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
14Wednesday 22 February 12
• 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
15Wednesday 22 February 12
• attribuut waarvan de waarden verschillen
• voor elke verschillende entiteit
• in elke mogelijke instantie
• soms combinatie van attributen
• soms meer dan één sleutel
sleutel
20
Wednesday 22 February 12
identificeer
• entiteitstypes
• attributen van elk entiteitstype
• sleutelattributen
ontwerp van ER schema
21
Wednesday 22 February 12
22
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
Wednesday 22 February 12
22
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
Location
Wednesday 22 February 12
22
EMPLOYEE
Sex
Name
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
Location
DEPENDENT
Name
Sex BirthdateRelationship
Wednesday 22 February 12
• relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En
relatie
23
Wednesday 22 February 12
• relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En
• graad = aantal betrokken entiteitstypes
• binair, ternair, ...
relatie
23
Wednesday 22 February 12
• relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En
• graad = aantal betrokken entiteitstypes
• binair, ternair, ...
• 1 entiteitstype meerdere keren: recursief relatietype
• vb. SUPERVISION
relatie
23
Wednesday 22 February 12
• 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
23
Wednesday 22 February 12
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
27
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
Location
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
MANAGES
StartDate
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISES
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISESHAS_DEP.
Wednesday 22 February 12
28
EMPLOYEE
SexName
Ssn
Fname Minit Lname
Address
Bdate
Salary
DEPARTMENT
Number
LocationsName
PROJECT
Name
Number
LocationDEPENDENT
NameSex BirthDate
Relationship
WORKS_FOR
CONTROLS
MANAGES
StartDate
SUPERVISESHAS_DEP.
WORKS_ON
Hours
Wednesday 22 February 12
• connectiviteit ("cardinality ratio")
• voor binaire relatietypes: 1:1, 1:n, m:n
• vb. werknemer behoort bij precies één departement
• ternaire, ... relatietypes: meer mogelijkheden
beperkingen op relatietypes
29
Wednesday 22 February 12
• 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
29
Wednesday 22 February 12
• 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
attributen van relatietypes
33
Wednesday 22 February 12
34
EMPLOYE
SeNam
Ss
Fnam Mini Lnam
Addres
Bdat
Salar
DEPARTMEN
Numbe
LocationNam
PROJEC
Nam
Numbe
LocatioDEPENDENT
NamSe BirthDat
Relationshi
WORKS_FO
CONTROLS
MANAGES
StartDat
SUPERVISESHAS_DEP
1N
11
1
N
superviso supervise1
N
1 NWORKS_O
Hour
NM
Wednesday 22 February 12
• 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
35
Wednesday 22 February 12
• 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
– ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN)
– RELATIE :• vervoegd werkwoord
– Attribuut– Sleutelattribuut– rolnaam
37
Wednesday 22 February 12
alternatieve notatie
(min,max) annotatie bij rol
hoe vaak kan een entiteit die rol spelen in een relatie?min = 0 → partieelmin > 0 → totaal
40
Wednesday 22 February 12
41
EMPLOYE
SeNam
Ss
Fnam Mini Lnam
Addres
Bdat
Salar
DEPARTMEN
Numbe
LocationNam
PROJEC
Nam
Numbe
LocatioDEPENDENT
NamSe BirthDat
Relationshi
WORKS_FO
CONTROLS
MANAGES
StartDat
SUPERVISESHAS_DEP
WORKS_O
hour
(1,1
(4,N
(0,1(1,1 (0,N
(1,1(1,N
(1,N
(1,1
(0,Nsuperviso
supervise(0,N
(0,1
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
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
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
46
SUPPLIER
PART
PROJECTSUPPLIES_FOR(0,N
(0,N
(1,N
SuppNo
PartNo
ProjNoQuantity
Wednesday 22 February 12
47
PART
(0,N)
PartNo
SUPPLIER PROJECT
SUPPLIES_FOR
(0,N) (1,N)
SuppNo ProjNo
Quantity
een ternair relatietype vervangen door drie binaire
Wednesday 22 February 12
47
PART
(0,N)
PartNo
SUPPLIER PROJECT
SUPPLIES_FOR
(0,N) (1,N)
SuppNo ProjNo
Quantity
CAN_SUPPLY
een ternair relatietype vervangen door drie binaire
Wednesday 22 February 12
47
PART
(0,N)
PartNo
SUPPLIER PROJECT
SUPPLIES_FOR
(0,N) (1,N)
SuppNo ProjNo
Quantity
CAN_SUPPLY USES
een ternair relatietype vervangen door drie binaire
Wednesday 22 February 12
47
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
Wednesday 22 February 12