Gegevensbanken
               entiteit-relatie model



               Prof. Erik Duval
               2011-2012

                                  1

Wednesday 22 February 12
http://www.slideshare.net/erik.duval




Wednesday 22 February 12
                           2
3


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
ontwerp van een
                gegevensbank

                           5
Wednesday 22 February 12
6


Wednesday 22 February 12
•           analyse: behoeften? gegevens?




                                     6


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
7


Wednesday 22 February 12
conceptueel
                gegevensmodel

                           8
Wednesday 22 February 12
9


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
10


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
11


Wednesday 22 February 12
•         entiteiten 	

 	

   ∈ entiteitstype




                                       11


Wednesday 22 February 12
•         entiteiten 	

 	

    ∈ entiteitstype
   •         relaties 	

	

 	

   ∈ relatietype




                                        11


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
voorbeeld:
                bedrijf

                           12
Wednesday 22 February 12
...




                           13
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
•      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
16
Wednesday 22 February 12
17
Wednesday 22 February 12
18
Wednesday 22 February 12
19
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
ontwerp van ER schema

         identificeer
         •        entiteitstypes
         •        attributen van elk entiteitstype
         •        sleutelattributen



                                            21


Wednesday 22 February 12
22


Wednesday 22 February 12
Fname          Minit      Lname

                                               Salary
                           Name
              Sex                   Address


             Ssn            EMPLOYEE



            Bdate




                                                    22


Wednesday 22 February 12
Fname          Minit      Lname                    Number

                                               Salary    Name
                           Name                                          Locations
              Sex                   Address


             Ssn            EMPLOYEE                     DEPARTMENT



            Bdate




                                                    22


Wednesday 22 February 12
Fname          Minit      Lname                         Number

                                               Salary       Name
                           Name                                               Locations
              Sex                   Address


             Ssn            EMPLOYEE                            DEPARTMENT



            Bdate




                                                                   PROJECT



                                                         Name                  Location


                                                                     Number

                                                    22


Wednesday 22 February 12
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
relatie




                              23


Wednesday 22 February 12
relatie

   •         relatietype = verzameling verbanden (relaties)
                           over entiteitstypes E1, ..., En




                                        23


Wednesday 22 February 12
relatie

   •         relatietype = verzameling verbanden (relaties)
                           over entiteitstypes E1, ..., En
   •         graad = aantal betrokken entiteitstypes
         •        binair, ternair, ...




                                            23


Wednesday 22 February 12
relatie

   •         relatietype = verzameling verbanden (relaties)
                           over entiteitstypes E1, ..., En
   •         graad = aantal betrokken entiteitstypes
         •        binair, ternair, ...
   •         1 entiteitstype meerdere keren: recursief relatietype
         •        vb. SUPERVISION



                                            23


Wednesday 22 February 12
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


Wednesday 22 February 12
24


Wednesday 22 February 12
25


Wednesday 22 February 12
26


Wednesday 22 February 12
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


Wednesday 22 February 12
28


Wednesday 22 February 12
Fname               Minit     Lname
                                             Salary
                       Name
        Sex                        Address

       Ssn                 EMPLOYEE


      Bdate




                                                      28


Wednesday 22 February 12
Fname               Minit     Lname                        Number
                                             Salary        Name
                       Name                                             Locations
        Sex                        Address

       Ssn                 EMPLOYEE                        DEPARTMENT


      Bdate




                                                      28


Wednesday 22 February 12
Fname               Minit     Lname                               Number
                                             Salary               Name
                       Name                                                    Locations
        Sex                        Address

       Ssn                 EMPLOYEE                               DEPARTMENT


      Bdate




                                                                   PROJECT



                                                           Name                   Location

                                                                      Number




                                                      28


Wednesday 22 February 12
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
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
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
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
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
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
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




                           29


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
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
1:n en totaal voor employee en department
                                              30


Wednesday 22 February 12
1:n en partieel voor supervisor en supervisee rol
                                             31


Wednesday 22 February 12
1:1, totaal voor department en partieel voor employee

                                        32


Wednesday 22 February 12
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
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
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
•         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
38


Wednesday 22 February 12
39


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
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




                                 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




                                           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
UML klasse diagram




                                   43


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
45


Wednesday 22 February 12
Quantity
                           SuppNo                                                 ProjNo



                                      (0,N                        (1,N
                           SUPPLIER          SUPPLIES_FOR                     PROJECT


                                                       (0,N

                                                                         PartNo
                                                PART




                                                 46


Wednesday 22 February 12
een ternair relatietype vervangen door drie binaire




                           SuppNo                                                            ProjNo

                                                                      Quantity

                           SUPPLIER          (0,N)                               (1,N)   PROJECT

                                                           SUPPLIES_FOR



                                                                      (0,N)


                                                                PART




                                                                 PartNo


                                                               47


Wednesday 22 February 12
een ternair relatietype vervangen 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
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


                                                               47


Wednesday 22 February 12
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


Wednesday 22 February 12
48


Wednesday 22 February 12
49


Wednesday 22 February 12
Vragen...?

                               50


Wednesday 22 February 12

GB: Entity Relationship Model

  • 1.
    Gegevensbanken entiteit-relatie model Prof. Erik Duval 2011-2012 1 Wednesday 22 February 12
  • 2.
  • 3.
  • 4.
    ontwerp van een gegevensbank • conceptuele gegevensmodellen • voorbeeld • E-R model • E-R diagrammen • ontwerpkeuzes • niet-binaire relaties 4 Wednesday 22 February 12
  • 5.
    ontwerp van een gegevensbank 5 Wednesday 22 February 12
  • 6.
  • 7.
    analyse: behoeften? gegevens? 6 Wednesday 22 February 12
  • 8.
    analyse: behoeften? gegevens? • conceptueel ontwerp: hoog-niveau gegevensmodel • gegevenstypes, relaties, beperkingen, operaties 6 Wednesday 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 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
  • 11.
  • 12.
    conceptueel gegevensmodel 8 Wednesday 22 February 12
  • 13.
  • 14.
    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
  • 17.
  • 18.
    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
  • 20.
  • 21.
    entiteiten ∈ entiteitstype 11 Wednesday 22 February 12
  • 22.
    entiteiten ∈ entiteitstype • relaties ∈ relatietype 11 Wednesday 22 February 12
  • 23.
    entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11 Wednesday 22 February 12
  • 24.
    entiteiten ∈ entiteitstype • relaties ∈ relatietype • attributen: waarden ∈ domein 11 Wednesday 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 11 Wednesday 22 February 12
  • 26.
    voorbeeld: bedrijf 12 Wednesday 22 February 12
  • 27.
    ... 13 Wednesday 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 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
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
    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
  • 36.
  • 37.
    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
  • 41.
    relatie 23 Wednesday 22 February 12
  • 42.
    relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En 23 Wednesday 22 February 12
  • 43.
    relatie • relatietype = verzameling verbanden (relaties) over entiteitstypes E1, ..., En • graad = aantal betrokken entiteitstypes • binair, ternair, ... 23 Wednesday 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 23 Wednesday 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 23 Wednesday 22 February 12
  • 46.
  • 47.
  • 48.
  • 49.
    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
  • 50.
  • 51.
    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
  • 61.
    beperkingen op relatietypes 29 Wednesday 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 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
  • 71.
    – ENTITEIT : • enkelvoud (bv. PERSOON, niet PERSONEN) – RELATIE : • vervoegd werkwoord – Attribuut – Sleutelattribuut – rolnaam 37 Wednesday 22 February 12
  • 72.
  • 73.
  • 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 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
  • 76.
    ontwerpkeuzes 42 Wednesday 22 February 12
  • 77.
    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
  • 80.
    UML klasse diagram 43 Wednesday 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? 44 Wednesday 22 February 12
  • 82.
  • 83.
    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
  • 88.
  • 89.
  • 90.
    Vragen...? 50 Wednesday 22 February 12