Entiteit Relatie Model

1,618 views
1,478 views

Published on

Presented in my course on databases on 24 Feb 2011.

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

  • Be the first to like this

No Downloads
Views
Total views
1,618
On SlideShare
0
From Embeds
0
Number of Embeds
212
Actions
Shares
0
Downloads
76
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Entiteit Relatie Model

  1. 1. Gegevensbankenentiteit-relatie modelProf. Erik Duval2010-2011 1
  2. 2. http://www.slideshare.net/erik.duval2
  3. 3. 3
  4. 4. • ontwerp van een gegevensbank• conceptuele gegevensmodellen• voorbeeld• E-R model• E-R diagrammen• ontwerpkeuzes• niet-binaire relaties 4
  5. 5. ontwerp van eengegevensbank 5
  6. 6. • 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
  7. 7. 7
  8. 8. conceptueelgegevensmodel 8
  9. 9. • 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 9
  10. 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
  11. 11. • entiteiten ∈ entiteitstype• relaties ∈ relatietype• attributen: waarden ∈ domein• sleutel • identificator v.e. entiteitstype / relatietype • waarde van sleutel bepaalt eenduidig de entiteit / relatie 11
  12. 12. voorbeeld:bedrijf 12
  13. 13. ... 13
  14. 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. 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
  16. 16. 16
  17. 17. 17
  18. 18. 18
  19. 19. 19
  20. 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. 21. ontwerp van ER schemaidentificeer• entiteitstypes• attributen van elk entiteitstype• sleutelattributen 21
  22. 22. Fname Minit Lname Number Salary Name Name Locations Sex AddressSsn EMPLOYEE DEPARTMENTBdate PROJECT DEPENDENT Name LocationName Relationship Sex Birthdate Number 22
  23. 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
  24. 24. 24
  25. 25. 25
  26. 26. 26
  27. 27. ontwerp van ER schemaidentificeer• 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. 28. Fnam Mini Lnam Numbe Salar Nam Nam WORKS_FO Location Se AddresSs StartDat EMPLOYE DEPARTMENBdat MANAGES Hour CONTROLS WORKS_O SUPERVISES HAS_DEP PROJEC Nam Locatio DEPENDENT Numbe Nam Relationshi Se BirthDat 28
  29. 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
  30. 30. 1:n en totaal voor employee en department 30
  31. 31. 1:n en partieel voor supervisor en supervisee rol 31
  32. 32. 1:1, totaal voor department en partieel voor employee 32
  33. 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. 34. Fnam Mini Lnam Numbe Salar Nam Nam N WORKS_FO 1 Location Se Addres Ss StartDat EMPLOYE DEPARTMEN 1Bdat 1 1 MANAGES Hour CONTROLSsuperviso supervise 1 N 1 N N SUPERVISES WORKS_O M HAS_DEP PROJEC N Nam Locatio DEPENDENT Numbe Nam Relationshi Se BirthDat 34
  35. 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. 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
  37. 37. – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN)– RELATIE : • vervoegd werkwoord– Attribuut– Sleutelattribuut– rolnaam 37
  38. 38. 38
  39. 39. 39
  40. 40. alternatieve notatie(min,max) annotatie bij rolhoe vaak kan een entiteit die rol spelen in een relatie? min = 0 → partieel min > 0 → totaal 40
  41. 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,NBdat MANAGES (0,1 hour CONTROLS (0,N supervise (1,Nsuperviso (0,N (1,1 WORKS_O (1,N SUPERVISES HAS_DEP PROJEC (1,1 Nam Locatio DEPENDENT Numbe Nam Relationshi Se BirthDat 41
  42. 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
  43. 43. UML klasse diagram 43
  44. 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
  45. 45. 45
  46. 46. QuantitySuppNo ProjNo (0,N (1,NSUPPLIER SUPPLIES_FOR PROJECT (0,N PartNo PART 46
  47. 47. 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 47
  48. 48. 48
  49. 49. 49
  50. 50. Vragen...? 50

×