Gegevensbanken
entiteit-relatie model
       Prof. Erik Duval
         2009 - 2010




              1
http://www.slideshare.net/erik.duval




2
3
•   ontwerp van een gegevensbank
•   conceptuele gegevensmodellen
•   voorbeeld
•   E-R model
•   E-R diagrammen
•   ontwe...
ontwerp van een
gegevensbank
6
•   analyse
    •   welke behoeften? welk gegevens zijn hiervoor nodig?




                               6
•   analyse
    •   welke behoeften? welk gegevens zijn hiervoor nodig?
•   conceptueel ontwerp
    •   beschrijving van g...
•   analyse
    •   welke behoeften? welk gegevens zijn hiervoor nodig?
•   conceptueel ontwerp
    •   beschrijving van g...
•   analyse
    •   welke behoeften? welk gegevens zijn hiervoor nodig?
•   conceptueel ontwerp
    •   beschrijving van g...
7
conceptueel
gegevensmodel
9
•   bedoeling:
    •   relevant deel van de werkelijkheid beschrijven
        •   objecten + feiten




                  ...
•   bedoeling:
    •   relevant deel van de werkelijkheid beschrijven
        •   objecten + feiten
•   beschrijving = sch...
•   bedoeling:
    •   relevant deel van de werkelijkheid beschrijven
        •   objecten + feiten
•   beschrijving = sch...
10
•   waarom
    •   sluit nauwer aan bij realiteit dan een implementatiemodel
    •   bevat meer informatie omtrent beteken...
•   waarom
    •   sluit nauwer aan bij realiteit dan een implementatiemodel
    •   bevat meer informatie omtrent beteken...
11
•   entiteiten 

   ∈ entiteitstype




                         11
•   entiteiten 

   ∈ entiteitstype

•   relaties 
 
    ∈ relatietype




                         11
•   entiteiten 

       ∈ entiteitstype

•   relaties 
 
        ∈ relatietype

•   attributen: waarden 
 ∈ domein




   ...
•   entiteiten 

       ∈ entiteitstype

•   relaties 
 
        ∈ relatietype

•   attributen: waarden 
 ∈ domein




   ...
•   entiteiten 

           ∈ entiteitstype

•   relaties 
 
            ∈ relatietype

•   attributen: waarden 
 ∈ domein...
voorbeeld:
bedrijf
•   ...
•   bedrijf is georganiseerd in departementen

•   een departement heeft naam, nummer, een of meer locaties,
    departeme...
•   schema: mini-wereld

•   entiteit: object (fysisch of conceptueel)

    •   entiteit type: klasse

•   attribuut: eige...
sleutel

•   attribuut waarvan de waarden verschillen voor elke
    verschillende entiteit, in elke mogelijke instantie
• ...
ontwerp van ER schema

identificeer
 •   entiteitstypes
 •   attributen van elk entiteitstype
 •   sleutelattributen



   ...
22
Fname    Minit     Lname
                           Salary
        Name
 Sex             Address

Ssn      EMPLOYEE


Bdat...
Fname    Minit     Lname                        Number
                           Salary        Name
        Name         ...
Fname    Minit     Lname                               Number
                           Salary               Name
       ...
Fname    Minit     Lname                                                         Number
                           Salary ...
relatie

•   relatietype = verzameling verbanden (relaties)
                  over entiteitstypes E1, ..., En
•   graad = ...
24
25
26
ontwerp van ER schema
identificeer
 •   entiteitstypes en attributen van elk entiteitstype
     •   sleutelattributen
 •   ...
28
Fname    Minit     Lname
                           Salary
        Name
 Sex             Address

Ssn      EMPLOYEE


Bdat...
Fname    Minit     Lname                        Number
                           Salary        Name
        Name         ...
Fname    Minit     Lname                               Number
                           Salary               Name
       ...
Fname    Minit     Lname                                                         Number
                           Salary ...
Fname    Minit     Lname                                                         Number
                           Salary ...
Fname    Minit     Lname                                                           Number
                           Salar...
Fname    Minit     Lname                                                           Number
                           Salar...
Fname    Minit     Lname                                                           Number
                           Salar...
Fname    Minit     Lname                                                           Number
                           Salar...
Fname    Minit     Lname                                                           Number
                           Salar...
beperkingen op relatietypes
•   connectiviteit ("cardinality ratio")
     •   voor binaire relatietypes: 1:1, 1:n, m:n
   ...
1:n en totaal voor employee en department
                   30
1:n en partieel voor supervisor en supervisee rol
                       31
1:1, totaal voor department en partieel voor employee

                         32
attributen van relatietypes

•   vb. aantal uren / week dat werknemer aan project werkt
•   1 : 1 ➡ attribuut kan bij een ...
Fname         Minit     Lname                                                                      Number
                ...
zwakke entiteitstypes
•   zonder eigen sleutel
•   identificatie via entiteit van ander entiteitstype
•   identificerende en...
•   bestaansafhankelijkheid
    •   bestaan ene hangt af van bestaan van andere
    •   ondergeschikte entiteit - dominant...
– ENTITEIT :
   • enkelvoud (bv. PERSOON, niet PERSONEN)
– RELATIE :
   • vervoegd werkwoord
– Attribuut
– Sleutelattribuu...
38
39
alternatieve notatie

(min,max) annotatie bij rol

hoe vaak kan een entiteit die rol spelen in een relatie?
              ...
Fname          Minit     Lname                                                                      Number
               ...
ontwerpkeuzes
• attribuut verwijst naar ander entiteitstype ➡ relatie
  • vb. manager als attribuut bij DEPARTMENT
      o...
UML klasse diagram




        43
niet-binaire relaties

•   vb. van ternaire relatie: SUPPLY
    •   leverancier levert onderdelen voor project
    •   SUP...
45
Quantity
SuppNo                                                  ProjNo


           (0,N)                       (1,N)
SUP...
een ternair relatietype vervangen door drie binaire relatietypes?




    SuppNo                                          ...
een ternair relatietype vervangen door drie binaire relatietypes?




    SuppNo                                          ...
een ternair relatietype vervangen door drie binaire relatietypes?




    SuppNo                                          ...
een ternair relatietype vervangen door drie binaire relatietypes?




                                      PARTICIPATES

...
48
49
Vragen...?

    50
Entiteit-Relatie Model
Entiteit-Relatie Model
Entiteit-Relatie Model
Entiteit-Relatie Model
Upcoming SlideShare
Loading in …5
×

Entiteit-Relatie Model

2,618 views

Published on

Published in: Technology
2 Comments
0 Likes
Statistics
Notes
  • Veel andere tools kunnen een connectie maken met de gegevensbank, zodat je de gegevens van daarin kan aanspreken. Of anders kan je (een gedeelte van) de gegevens exporteren naar een formaat dat die andere tools kunnen importeren.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Vraag: en hoe vertaal je de database naar een olap cube, of naar een format dat handig bruikbaar is voor statistische analyses?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
2,618
On SlideShare
0
From Embeds
0
Number of Embeds
222
Actions
Shares
0
Downloads
73
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide
  • Entiteit-Relatie Model

    1. 1. Gegevensbanken entiteit-relatie model Prof. Erik Duval 2009 - 2010 1
    2. 2. http://www.slideshare.net/erik.duval 2
    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 een gegevensbank
    6. 6. 6
    7. 7. • analyse • welke behoeften? welk gegevens zijn hiervoor nodig? 6
    8. 8. • analyse • welke behoeften? welk gegevens zijn hiervoor nodig? • conceptueel ontwerp • beschrijving van gegevenstypes, relaties, restricties en operaties • volgens hoog-niveau gegevensmodel 6
    9. 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. 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
    11. 11. 7
    12. 12. conceptueel gegevensmodel
    13. 13. 9
    14. 14. • bedoeling: • relevant deel van de werkelijkheid beschrijven • objecten + feiten 9
    15. 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. 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
    17. 17. 10
    18. 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. 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
    20. 20. 11
    21. 21. • entiteiten ∈ entiteitstype 11
    22. 22. • entiteiten ∈ entiteitstype • relaties ∈ relatietype 11
    23. 23. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11
    24. 24. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11
    25. 25. • entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein • sleutel • identificator v.e. entiteitstype / relatietype • waarde van sleutel bepaalt eenduidig de entiteit / relatie 11
    26. 26. voorbeeld: bedrijf
    27. 27. • ...
    28. 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. 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. 30. sleutel • attribuut waarvan de waarden verschillen voor elke verschillende entiteit, in elke mogelijke instantie • soms combinatie van attributen • soms meer dan één sleutel 20
    31. 31. ontwerp van ER schema identificeer • entiteitstypes • attributen van elk entiteitstype • sleutelattributen 21
    32. 32. 22
    33. 33. Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 22
    34. 34. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 22
    35. 35. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 22
    36. 36. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location DEPENDENT Number Name Relationship Sex Birthdate 22
    37. 37. 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
    38. 38. 24
    39. 39. 25
    40. 40. 26
    41. 41. 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
    42. 42. 28
    43. 43. Fname Minit Lname Salary Name Sex Address Ssn EMPLOYEE Bdate 28
    44. 44. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate 28
    45. 45. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location Number 28
    46. 46. Fname Minit Lname Number Salary Name Name Locations Sex Address Ssn EMPLOYEE DEPARTMENT Bdate PROJECT Name Location DEPENDENT Number Name Relationship Sex BirthDate 28
    47. 47. 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
    48. 48. 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
    49. 49. 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
    50. 50. 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
    51. 51. 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
    52. 52. 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
    53. 53. 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
    54. 54. 1:n en totaal voor employee en department 30
    55. 55. 1:n en partieel voor supervisor en supervisee rol 31
    56. 56. 1:1, totaal voor department en partieel voor employee 32
    57. 57. 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
    58. 58. 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
    59. 59. 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
    60. 60. • 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
    61. 61. – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN) – RELATIE : • vervoegd werkwoord – Attribuut – Sleutelattribuut – rolnaam 37
    62. 62. 38
    63. 63. 39
    64. 64. 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
    65. 65. 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
    66. 66. 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
    67. 67. UML klasse diagram 43
    68. 68. 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
    69. 69. 45
    70. 70. Quantity SuppNo ProjNo (0,N) (1,N) SUPPLIER SUPPLIES_FOR PROJECT (0,N) PartNo PART 46
    71. 71. een ternair relatietype vervangen door drie binaire relatietypes? SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) PART PartNo 47
    72. 72. een ternair relatietype vervangen door drie binaire relatietypes? SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART PartNo 47
    73. 73. een ternair relatietype vervangen door drie binaire relatietypes? SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47
    74. 74. een ternair relatietype vervangen door drie binaire relatietypes? PARTICIPATES SuppNo ProjNo Quantity SUPPLIER (0,N) (1,N) PROJECT SUPPLIES_FOR (0,N) CAN_SUPPLY PART USES PartNo 47
    75. 75. 48
    76. 76. 49
    77. 77. Vragen...? 50

    ×