SlideShare una empresa de Scribd logo
1 de 43
Gegevensbanken
(E)ER naar relationeel
       schema
       Prof. Erik Duval
         2009 - 2010




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




2
•   (E)ER schema afbeelden op relationele model?
    •   entiteitstypes
        (regulier, zwak)
    •   relatietypes
        (binaire of hogere graad)
    •   attributen
        (enkelvoudig, samengesteld, meerwaardig)
    •   restricties

•   ER
 → relationeel

•   EER
 → relationeel
                           3
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

                                                          4
EMPLOYEE
 Fname, Minit, Lname, Ssn, Bdate, Address,
Sex, Salary

DEPARTMENT
 Dname, Dnumber

PROJECT
 Pname, Pnumber, Plocation
                    5
1. voor elk regulier entiteitstype E:
 •   maak relatie R
 •   met alle enkelvoudige attributen van E
 •   kies één van sleutelattributen als primaire sleutel voor R

         EMPLOYEE
          Fname, Minit, Lname, Ssn, Bdate, Address,
         Sex, Salary

         DEPARTMENT
          Dname, Dnumber

         PROJECT
          Pname, Pnumber, Plocation
                               5
DEPENDENT
 Essn, Dependent_Name, Sex, Bdate, Relationship



                       6
stap 2. voor elk zwak entiteitstype W:
 •   maak een relatie R
 •   met alle enkelvoudige attributen van W
 •   en als verwijssleutel de primaire sleutel van eigenaar




     DEPENDENT
      Essn, Dependent_Name, Sex, Bdate, Relationship



                              6
DEPARTMENT
 Dname, Dnumber, Mgr_ssn, Mgr_start_date



                   7
stap 3. voor elk binair 1:1 relatietype R:
 •   S en T relaties voor deelnemende entiteitstypes van R
 •   neem primaire sleutel van T op als verwijssleutel in S
     (of omgekeerd) - vermijd nul-waarden
 •   neem ook enkelvoudige attributen op




         DEPARTMENT
          Dname, Dnumber, Mgr_ssn, Mgr_start_date



                               7
EMPLOYEE
  Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary,
  Super_ssn, Dno

PROJECT
 Pname, Pnumber, Plocation, Dnum


                                  8
stap 4. voor elk binair 1:N relatietype R:
     •   S relatie die entiteitstype van N-kant voorstelt
     •   voeg in S primaire sleutel relatie aan 1-kant toe
     •   neem ook enkelvoudige attributen op


EMPLOYEE
  Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary,
  Super_ssn, Dno

PROJECT
 Pname, Pnumber, Plocation, Dnum


                                  8
WORKS_ON
 Essn, Pno, Hours



        9
stap 5. voor elk binair N:M relatietype R:
 •   maak nieuwe relatie S
 •   met verwijssleutels primaire sleutels van deelnemende
     relaties
 •   met verwijssleutels samen als primaire sleutel
 •   neem ook enkelvoudige attributen van R op



                     WORKS_ON
                      Essn, Pno, Hours



                              9
DEPT_LOCATIONS
 Dnumber, Dlocation



        10
stap 6. voor elk meerwaardig attribuut A:
 •   creëer een relatie R
 •   met attribuut dat overeenkomt met A
 •   + verwijssleutel: primaire sleutel K van bijhorende relatie
 •   als primaire sleutel: A en K samen



                    DEPT_LOCATIONS
                     Dnumber, Dlocation



                              10
11
12
Stap 7: voor elk n-air relatietype R (n>2) :
 •   maak nieuwe relatie S
 •   met verwijssleutels: primaire sleutels van deelnemende
     entiteitstypes
 •   met alle enkelvoudige attributen van R
 •   met primaire sleutel: alle verwijssleutels samen




                               12
Stap 7: voor elk n-air relatietype R (n>2) :
 •   maak nieuwe relatie S
 •   met verwijssleutels: primaire sleutels van deelnemende
     entiteitstypes
 •   met alle enkelvoudige attributen van R
 •   met primaire sleutel: alle verwijssleutels samen




                               12
Stap 7: voor elk n-air relatietype R (n>2) :
 •   maak nieuwe relatie S
 •   met verwijssleutels: primaire sleutels van deelnemende
     entiteitstypes
 •   met alle enkelvoudige attributen van R
 •   met primaire sleutel: alle verwijssleutels samen




                               12
ER model                                relationeel model
•   entiteitstype                       •   “entiteits” relatie
•   1:1 of 1:N relationship type        •   verwijssleutel of relatie
•   M:N relationship type               •   relatie met 2 verwijssleutels
•   n-aire relationship type            •   relatie met n verwijssleutels
•   enkelvoudig attribuut               •   attribuut
•   samengesteld attribuut              •   verzameling attributen
•   meerwaardig attribuut               •   relatie of verwijssleutel
•   value set                           •   domein
•   sleutel attribuut                   •   primaire sleutel
                                   13
14
Stap 8: behandeling van super/subklasse-relaties




                              14
Stap 8: behandeling van super/subklasse-relaties
•    Elke specialisatie met m subklassen { S1, S2,..., Sm }
     en superklasse C met attributen { k, a1, ..., an }




                                    14
Stap 8: behandeling van super/subklasse-relaties
•    Elke specialisatie met m subklassen { S1, S2,..., Sm }
     en superklasse C met attributen { k, a1, ..., an }
•    Optie 8A
     •   maak relatie L voor C met attr(L) = { k, a1, ..., an }
         •   en primaire sleutel PK(L) = k
     •   en relaties Li voor elke subklasse Si met
         •   attr(Li) = { k } ∪ { attr(Si) }
         •   en PK(Li) = k

                                     14
15
16
•   Optie 8B
      •   maak voor elke subklasse Si een relatie Li
          met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an }
          en PK(Li) = k
      •   werkt enkel correct voor disjuncte, totale specialisatie
      •   niet totale specialisatie
 → verlies van gegevens (∉ Si)
      •   niet disjuncte specialisatie 
→ redundantie




                                  16
•   Optie 8B
      •   maak voor elke subklasse Si een relatie Li
          met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an }
          en PK(Li) = k
      •   werkt enkel correct voor disjuncte, totale specialisatie
      •   niet totale specialisatie
 → verlies van gegevens (∉ Si)
      •   niet disjuncte specialisatie 
→ redundantie




                                  16
•   Optie 8B
      •   maak voor elke subklasse Si een relatie Li
          met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an }
          en PK(Li) = k
      •   werkt enkel correct voor disjuncte, totale specialisatie
      •   niet totale specialisatie
 → verlies van gegevens (∉ Si)
      •   niet disjuncte specialisatie 
→ redundantie




                                  16
17
•   Optie 8C: één relatie L
    attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en
    PK(L) = k




                                     17
•   Optie 8C: één relatie L
    attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en
    PK(L) = k
•    waarbij t duidt aan tot welke subklasse elk tupel behoort
    •   weggelaten als specialisatie predikaatgedefinieerd
    •   enkel voor disjuncte subklassen
    •   veel verschillende attributen in subklassen: veel nul




                                     17
•   Optie 8C: één relatie L
    attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en
    PK(L) = k
•    waarbij t duidt aan tot welke subklasse elk tupel behoort
    •   weggelaten als specialisatie predikaatgedefinieerd
    •   enkel voor disjuncte subklassen
    •   veel verschillende attributen in subklassen: veel nul




                                     17
•   Optie 8C: één relatie L
    attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en
    PK(L) = k
•    waarbij t duidt aan tot welke subklasse elk tupel behoort
    •   weggelaten als specialisatie predikaatgedefinieerd
    •   enkel voor disjuncte subklassen
    •   veel verschillende attributen in subklassen: veel nul




                                     17
18
•   Optie 8D: één relatie L
    met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) }
    ∪ { t1, t2, ..., tm } en PK(L) = k
    •   ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit




                                     18
•   Optie 8D: één relatie L
    met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) }
    ∪ { t1, t2, ..., tm } en PK(L) = k
    •   ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit
•   gebruikt voor overlappende subklassen




                                     18
•   Optie 8D: één relatie L
    met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) }
    ∪ { t1, t2, ..., tm } en PK(L) = k
    •   ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit
•   gebruikt voor overlappende subklassen
•   ook hier gevaar voor veel nulwaarden




                                     18
•   Optie 8D: één relatie L
    met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) }
    ∪ { t1, t2, ..., tm } en PK(L) = k
    •   ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit
•   gebruikt voor overlappende subklassen
•   ook hier gevaar voor veel nulwaarden




                                     18
•   Optie 8D: één relatie L
    met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) }
    ∪ { t1, t2, ..., tm } en PK(L) = k
    •   ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit
•   gebruikt voor overlappende subklassen
•   ook hier gevaar voor veel nulwaarden




                                     18
Vragen...?

    19

Más contenido relacionado

Más de Erik Duval

InfoVis1415: slides sessie 3, 23 Feb 2015
InfoVis1415: slides sessie 3, 23 Feb 2015InfoVis1415: slides sessie 3, 23 Feb 2015
InfoVis1415: slides sessie 3, 23 Feb 2015
Erik Duval
 

Más de Erik Duval (20)

eCloud newspapers
eCloud newspaperseCloud newspapers
eCloud newspapers
 
InfoVis1415: slides sessie 12, 18 mei 2015
InfoVis1415: slides sessie 12, 18 mei 2015InfoVis1415: slides sessie 12, 18 mei 2015
InfoVis1415: slides sessie 12, 18 mei 2015
 
InfoVis1415: slides sessie 11, 11 mei 2015
InfoVis1415: slides sessie 11, 11 mei 2015InfoVis1415: slides sessie 11, 11 mei 2015
InfoVis1415: slides sessie 11, 11 mei 2015
 
InfoVis1415: slides sessie 10, 4 mei 2015
InfoVis1415: slides sessie 10, 4 mei 2015InfoVis1415: slides sessie 10, 4 mei 2015
InfoVis1415: slides sessie 10, 4 mei 2015
 
Evaluation
 of information visualisation
Evaluation
 of information visualisationEvaluation
 of information visualisation
Evaluation
 of information visualisation
 
InfoVis1415: slides sessie 9, 27 april 2015
InfoVis1415: slides sessie 9, 27 april 2015InfoVis1415: slides sessie 9, 27 april 2015
InfoVis1415: slides sessie 9, 27 april 2015
 
Social Media and Science a wedding made in Heaven...
 or in Hell?
Social Media and Science a wedding made in Heaven...
 or in Hell?Social Media and Science a wedding made in Heaven...
 or in Hell?
Social Media and Science a wedding made in Heaven...
 or in Hell?
 
Information visualisation: 
Data ink design principles
Information visualisation: 
Data ink design principlesInformation visualisation: 
Data ink design principles
Information visualisation: 
Data ink design principles
 
InfoVis1415: slides sessie 8, 20 april 2015
InfoVis1415: slides sessie 8, 20 april 2015InfoVis1415: slides sessie 8, 20 april 2015
InfoVis1415: slides sessie 8, 20 april 2015
 
A short history (and even shorter future)
 of information visualisation
A short history (and even shorter future)
 of information visualisationA short history (and even shorter future)
 of information visualisation
A short history (and even shorter future)
 of information visualisation
 
InfoVis1415: slides sessie 7, 30 March 2015
InfoVis1415: slides sessie 7, 30 March 2015InfoVis1415: slides sessie 7, 30 March 2015
InfoVis1415: slides sessie 7, 30 March 2015
 
InfoVis1415: slides sessie 6, 23 March 2015
InfoVis1415: slides sessie 6, 23 March 2015InfoVis1415: slides sessie 6, 23 March 2015
InfoVis1415: slides sessie 6, 23 March 2015
 
History of Human Computer Interaction
History of Human Computer InteractionHistory of Human Computer Interaction
History of Human Computer Interaction
 
InfoVis1415: slides sessie 5, 9 March 2015
InfoVis1415: slides sessie 5, 9 March 2015InfoVis1415: slides sessie 5, 9 March 2015
InfoVis1415: slides sessie 5, 9 March 2015
 
InfoVis1415: slides sessie 4, 2 March 2015
InfoVis1415: slides sessie 4, 2 March 2015InfoVis1415: slides sessie 4, 2 March 2015
InfoVis1415: slides sessie 4, 2 March 2015
 
InfoVis1415: slides sessie 3, 23 Feb 2015
InfoVis1415: slides sessie 3, 23 Feb 2015InfoVis1415: slides sessie 3, 23 Feb 2015
InfoVis1415: slides sessie 3, 23 Feb 2015
 
InfoVis1415: slides sessie 2, 16 Feb 2015
InfoVis1415: slides sessie 2, 16 Feb 2015InfoVis1415: slides sessie 2, 16 Feb 2015
InfoVis1415: slides sessie 2, 16 Feb 2015
 
Technology that makes HUMANS smarter
Technology that makes HUMANS smarterTechnology that makes HUMANS smarter
Technology that makes HUMANS smarter
 
InfoVis1415: slides sessie 1, 10 Feb 2015
InfoVis1415: slides sessie 1, 10 Feb 2015InfoVis1415: slides sessie 1, 10 Feb 2015
InfoVis1415: slides sessie 1, 10 Feb 2015
 
201502010 pen ocw_les1_erik
201502010 pen ocw_les1_erik201502010 pen ocw_les1_erik
201502010 pen ocw_les1_erik
 

Mapping EER to Relational Model

  • 1. Gegevensbanken (E)ER naar relationeel schema Prof. Erik Duval 2009 - 2010 1
  • 3. (E)ER schema afbeelden op relationele model? • entiteitstypes (regulier, zwak) • relatietypes (binaire of hogere graad) • attributen (enkelvoudig, samengesteld, meerwaardig) • restricties • ER → relationeel • EER → relationeel 3
  • 4. 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 4
  • 5. EMPLOYEE Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary DEPARTMENT Dname, Dnumber PROJECT Pname, Pnumber, Plocation 5
  • 6. 1. voor elk regulier entiteitstype E: • maak relatie R • met alle enkelvoudige attributen van E • kies één van sleutelattributen als primaire sleutel voor R EMPLOYEE Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary DEPARTMENT Dname, Dnumber PROJECT Pname, Pnumber, Plocation 5
  • 7. DEPENDENT Essn, Dependent_Name, Sex, Bdate, Relationship 6
  • 8. stap 2. voor elk zwak entiteitstype W: • maak een relatie R • met alle enkelvoudige attributen van W • en als verwijssleutel de primaire sleutel van eigenaar DEPENDENT Essn, Dependent_Name, Sex, Bdate, Relationship 6
  • 9. DEPARTMENT Dname, Dnumber, Mgr_ssn, Mgr_start_date 7
  • 10. stap 3. voor elk binair 1:1 relatietype R: • S en T relaties voor deelnemende entiteitstypes van R • neem primaire sleutel van T op als verwijssleutel in S (of omgekeerd) - vermijd nul-waarden • neem ook enkelvoudige attributen op DEPARTMENT Dname, Dnumber, Mgr_ssn, Mgr_start_date 7
  • 11. EMPLOYEE Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno PROJECT Pname, Pnumber, Plocation, Dnum 8
  • 12. stap 4. voor elk binair 1:N relatietype R: • S relatie die entiteitstype van N-kant voorstelt • voeg in S primaire sleutel relatie aan 1-kant toe • neem ook enkelvoudige attributen op EMPLOYEE Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno PROJECT Pname, Pnumber, Plocation, Dnum 8
  • 14. stap 5. voor elk binair N:M relatietype R: • maak nieuwe relatie S • met verwijssleutels primaire sleutels van deelnemende relaties • met verwijssleutels samen als primaire sleutel • neem ook enkelvoudige attributen van R op WORKS_ON Essn, Pno, Hours 9
  • 16. stap 6. voor elk meerwaardig attribuut A: • creëer een relatie R • met attribuut dat overeenkomt met A • + verwijssleutel: primaire sleutel K van bijhorende relatie • als primaire sleutel: A en K samen DEPT_LOCATIONS Dnumber, Dlocation 10
  • 17. 11
  • 18. 12
  • 19. Stap 7: voor elk n-air relatietype R (n>2) : • maak nieuwe relatie S • met verwijssleutels: primaire sleutels van deelnemende entiteitstypes • met alle enkelvoudige attributen van R • met primaire sleutel: alle verwijssleutels samen 12
  • 20. Stap 7: voor elk n-air relatietype R (n>2) : • maak nieuwe relatie S • met verwijssleutels: primaire sleutels van deelnemende entiteitstypes • met alle enkelvoudige attributen van R • met primaire sleutel: alle verwijssleutels samen 12
  • 21. Stap 7: voor elk n-air relatietype R (n>2) : • maak nieuwe relatie S • met verwijssleutels: primaire sleutels van deelnemende entiteitstypes • met alle enkelvoudige attributen van R • met primaire sleutel: alle verwijssleutels samen 12
  • 22. ER model relationeel model • entiteitstype • “entiteits” relatie • 1:1 of 1:N relationship type • verwijssleutel of relatie • M:N relationship type • relatie met 2 verwijssleutels • n-aire relationship type • relatie met n verwijssleutels • enkelvoudig attribuut • attribuut • samengesteld attribuut • verzameling attributen • meerwaardig attribuut • relatie of verwijssleutel • value set • domein • sleutel attribuut • primaire sleutel 13
  • 23. 14
  • 24. Stap 8: behandeling van super/subklasse-relaties 14
  • 25. Stap 8: behandeling van super/subklasse-relaties • Elke specialisatie met m subklassen { S1, S2,..., Sm } en superklasse C met attributen { k, a1, ..., an } 14
  • 26. Stap 8: behandeling van super/subklasse-relaties • Elke specialisatie met m subklassen { S1, S2,..., Sm } en superklasse C met attributen { k, a1, ..., an } • Optie 8A • maak relatie L voor C met attr(L) = { k, a1, ..., an } • en primaire sleutel PK(L) = k • en relaties Li voor elke subklasse Si met • attr(Li) = { k } ∪ { attr(Si) } • en PK(Li) = k 14
  • 27. 15
  • 28. 16
  • 29. Optie 8B • maak voor elke subklasse Si een relatie Li met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an } en PK(Li) = k • werkt enkel correct voor disjuncte, totale specialisatie • niet totale specialisatie → verlies van gegevens (∉ Si) • niet disjuncte specialisatie → redundantie 16
  • 30. Optie 8B • maak voor elke subklasse Si een relatie Li met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an } en PK(Li) = k • werkt enkel correct voor disjuncte, totale specialisatie • niet totale specialisatie → verlies van gegevens (∉ Si) • niet disjuncte specialisatie → redundantie 16
  • 31. Optie 8B • maak voor elke subklasse Si een relatie Li met attr(Li) = { attr(Si) } ∪ { k, a1, ..., an } en PK(Li) = k • werkt enkel correct voor disjuncte, totale specialisatie • niet totale specialisatie → verlies van gegevens (∉ Si) • niet disjuncte specialisatie → redundantie 16
  • 32. 17
  • 33. Optie 8C: één relatie L attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en PK(L) = k 17
  • 34. Optie 8C: één relatie L attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en PK(L) = k • waarbij t duidt aan tot welke subklasse elk tupel behoort • weggelaten als specialisatie predikaatgedefinieerd • enkel voor disjuncte subklassen • veel verschillende attributen in subklassen: veel nul 17
  • 35. Optie 8C: één relatie L attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en PK(L) = k • waarbij t duidt aan tot welke subklasse elk tupel behoort • weggelaten als specialisatie predikaatgedefinieerd • enkel voor disjuncte subklassen • veel verschillende attributen in subklassen: veel nul 17
  • 36. Optie 8C: één relatie L attr(L) = { k,a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t } en PK(L) = k • waarbij t duidt aan tot welke subklasse elk tupel behoort • weggelaten als specialisatie predikaatgedefinieerd • enkel voor disjuncte subklassen • veel verschillende attributen in subklassen: veel nul 17
  • 37. 18
  • 38. Optie 8D: één relatie L met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t1, t2, ..., tm } en PK(L) = k • ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit 18
  • 39. Optie 8D: één relatie L met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t1, t2, ..., tm } en PK(L) = k • ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit • gebruikt voor overlappende subklassen 18
  • 40. Optie 8D: één relatie L met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t1, t2, ..., tm } en PK(L) = k • ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit • gebruikt voor overlappende subklassen • ook hier gevaar voor veel nulwaarden 18
  • 41. Optie 8D: één relatie L met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t1, t2, ..., tm } en PK(L) = k • ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit • gebruikt voor overlappende subklassen • ook hier gevaar voor veel nulwaarden 18
  • 42. Optie 8D: één relatie L met attr(L) = { k, a1, ..., an } ∪ { attr(S1) } ∪ ... ∪ { attr(Sm) } ∪ { t1, t2, ..., tm } en PK(L) = k • ti, 1≤ i ≤ m is boolean die aangeeft of entiteit in Si zit • gebruikt voor overlappende subklassen • ook hier gevaar voor veel nulwaarden 18