Your SlideShare is downloading. ×
GB: Entity Relationship Model
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GB: Entity Relationship Model

1,833

Published on

Presented in the course on databases, on 21 February 2012

Presented in the course on databases, on 21 February 2012

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,833
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Gegevensbanken entiteit-relatie model Prof. Erik Duval 2011-2012 1Wednesday 22 February 12
  • 2. http://www.slideshare.net/erik.duvalWednesday 22 February 12 2
  • 3. 3Wednesday 22 February 12
  • 4. • ontwerp van een gegevensbank • conceptuele gegevensmodellen • voorbeeld • E-R model • E-R diagrammen • ontwerpkeuzes • niet-binaire relaties 4Wednesday 22 February 12
  • 5. ontwerp van een gegevensbank 5Wednesday 22 February 12
  • 6. 6Wednesday 22 February 12
  • 7. • analyse: behoeften? gegevens? 6Wednesday 22 February 12
  • 8. • analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties 6Wednesday 22 February 12
  • 9. • analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties • transformatie naar implementatiemodel • conceptueel schema volgens model van DBMS 6Wednesday 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 6Wednesday 22 February 12
  • 11. 7Wednesday 22 February 12
  • 12. conceptueel gegevensmodel 8Wednesday 22 February 12
  • 13. 9Wednesday 22 February 12
  • 14. • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten 9Wednesday 22 February 12
  • 15. • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten • beschrijving = schema • elke groep gebruikers heeft eigen schema • alle schemas samen: infologisch schema 9Wednesday 22 February 12
  • 16. • bedoeling: relevant deel van de werkelijkheid beschrijven • objecten + feiten • beschrijving = schema • elke groep gebruikers heeft eigen schema • alle schemas samen: infologisch schema • modellering gebruikt abstractie • details weggelaten • algemene, gemeenschappelijke eigenschappen en feiten 9Wednesday 22 February 12
  • 17. 10Wednesday 22 February 12
  • 18. • waarom • sluit nauwer aan bij realiteit dan een implementatiemodel • meer betekenis van objecten dan implementatiemodellen • ... minder details van implementatie 10Wednesday 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) 10Wednesday 22 February 12
  • 20. 11Wednesday 22 February 12
  • 21. • entiteiten ∈ entiteitstype 11Wednesday 22 February 12
  • 22. • entiteiten ∈ entiteitstype • relaties ∈ relatietype 11Wednesday 22 February 12
  • 23. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11Wednesday 22 February 12
  • 24. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11Wednesday 22 February 12
  • 25. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein • sleutel • identificator v.e. entiteitstype / relatietype • waarde van sleutel bepaalt eenduidig de entiteit / relatie 11Wednesday 22 February 12
  • 26. voorbeeld: bedrijf 12Wednesday 22 February 12
  • 27. ... 13Wednesday 22 February 12
  • 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 14Wednesday 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 15Wednesday 22 February 12
  • 30. 16Wednesday 22 February 12
  • 31. 17Wednesday 22 February 12
  • 32. 18Wednesday 22 February 12
  • 33. 19Wednesday 22 February 12
  • 34. sleutel • attribuut waarvan de waarden verschillen • voor elke verschillende entiteit • in elke mogelijke instantie • soms combinatie van attributen • soms meer dan één sleutel 20Wednesday 22 February 12
  • 35. ontwerp van ER schema identificeer • entiteitstypes • attributen van elk entiteitstype • sleutelattributen 21Wednesday 22 February 12
  • 36. 22Wednesday 22 February 12
  • 37. Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 22Wednesday 22 February 12
  • 38. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 22Wednesday 22 February 12
  • 39. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 22Wednesday 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 22Wednesday 22 February 12
  • 41. relatie 23Wednesday 22 February 12
  • 42. relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En 23Wednesday 22 February 12
  • 43. relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... 23Wednesday 22 February 12
  • 44. relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... • 1 entiteitstype meerdere keren: recursief relatietype • vb. SUPERVISION 23Wednesday 22 February 12
  • 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 23Wednesday 22 February 12
  • 46. 24Wednesday 22 February 12
  • 47. 25Wednesday 22 February 12
  • 48. 26Wednesday 22 February 12
  • 49. 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 27Wednesday 22 February 12
  • 50. 28Wednesday 22 February 12
  • 51. Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 28Wednesday 22 February 12
  • 52. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 28Wednesday 22 February 12
  • 53. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 28Wednesday 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 28Wednesday 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 28Wednesday 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 28Wednesday 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 28Wednesday 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 28Wednesday 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 28Wednesday 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 28Wednesday 22 February 12
  • 61. beperkingen op relatietypes 29Wednesday 22 February 12
  • 62. 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 29Wednesday 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" 29Wednesday 22 February 12
  • 64. 1:n en totaal voor employee en department 30Wednesday 22 February 12
  • 65. 1:n en partieel voor supervisor en supervisee rol 31Wednesday 22 February 12
  • 66. 1:1, totaal voor department en partieel voor employee 32Wednesday 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 33Wednesday 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 34Wednesday 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 35Wednesday 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 36Wednesday 22 February 12
  • 71. – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN) – RELATIE : • vervoegd werkwoord – Attribuut – Sleutelattribuut – rolnaam 37Wednesday 22 February 12
  • 72. 38Wednesday 22 February 12
  • 73. 39Wednesday 22 February 12
  • 74. alternatieve notatie (min,max) annotatie bij rol hoe vaak kan een entiteit die rol spelen in een relatie? min = 0 → partieel min > 0 → totaal 40Wednesday 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 41Wednesday 22 February 12
  • 76. ontwerpkeuzes 42Wednesday 22 February 12
  • 77. ontwerpkeuzes • attribuut verwijst naar ander entiteitstype ➡ relatie • vb. manager als attribuut bij DEPARTMENT of als relatie ts. DEPARTMENT en EMPLOYEE 42Wednesday 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 42Wednesday 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 42Wednesday 22 February 12
  • 80. UML klasse diagram 43Wednesday 22 February 12
  • 81. 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? 44Wednesday 22 February 12
  • 82. 45Wednesday 22 February 12
  • 83. Quantity SuppNo ProjNo (0,N (1,N SUPPLIER SUPPLIES_FOR PROJECT (0,N PartNo PART 46Wednesday 22 February 12
  • 84. een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) PART PartNo 47Wednesday 22 February 12
  • 85. een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART PartNo 47Wednesday 22 February 12
  • 86. een ternair relatietype vervangen door drie binaire SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47Wednesday 22 February 12
  • 87. een ternair relatietype vervangen door drie binaire PARTICIPATES SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47Wednesday 22 February 12
  • 88. 48Wednesday 22 February 12
  • 89. 49Wednesday 22 February 12
  • 90. Vragen...? 50Wednesday 22 February 12

×