datamodellering en –verwerking 8c020 college 3. extra uren (7 en 8) op maandag, 22 oktober, in...
TRANSCRIPT
![Page 1: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/1.jpg)
Datamodellering en –verwerking8C020
college 3
![Page 2: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/2.jpg)
Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5
![Page 3: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/3.jpg)
Terugblik college week 2
• Aspecten van modelleren– Meerwaardige atribuut-type– Herhalende groep– Tijdsafhankelijke gegevens
• Classificeren
• ISA relatie
• Constraints (Beperkingen)
• UML
• Oefening E-R modeleren: Ziekenhuis
![Page 4: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/4.jpg)
Onderwerpen college week 3
• Relationeel Model
• Transformatie van ERM naar Relationeel Model
• Opdracht
![Page 5: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/5.jpg)
Software Life Cycle/Fasering
analyseren
eisen
specificeren
ontwerpen
coderen
testen
invoeren
onderhouden
Omgevings anlyse, ontwikkelingsplan (kosten en tijd)
Eisen, planning en begroting, haalbarheidsanalyse
Conceptueel model
Iplementatiemodel, handleidigen, testmodel
Code, onderhoudshandeling
tesrapporten
Installatie, acceptierapport
Correctief, preventief, modificatief
![Page 6: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/6.jpg)
Functie van databasemodel
• een volledig conceptueel model geeft een abstracte beschrijving van het te bouwen informatiesysteem
• datamodel – beschrijft de relevante gegevens
• databasemodel – beschrijft de relevante gegevens passend bij de te gebruiken
databasesoftware
• het databasemodel specificeert dus hoe de informatie concreet wordt ondergebracht in een database
![Page 7: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/7.jpg)
Relationeel model
• een databasemodel hangt af van het te gebruiken DBMS
• in dit college richten wij ons op relationele databases
• het begrip Relationeel Model (de relationele aanpak) duidt eigenschappen en randvoorwaarden aan voor het maken van databasemodellen voor relationele databases
• naam afgeleid van het belangrijkste concept: relatie
• relationeel (database)model – een databasemodel voor relationele databases
![Page 8: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/8.jpg)
Waarschuwing
• in het Nederlands kan verwarring ontstaan door dubbel gebruik van het woord relatie
in ER-model: relationship
in Relationeel Model: relation
![Page 9: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/9.jpg)
Transformatie
• een databasemodel is een uitbreiding van een datamodel
• wij willen dus een relationeel databasemodel maken op basis van een ER-model
• behoefte aan een transformatie van een ER-model naar een (relationeel) databasemodel
• stapsgewijze transformatie:
1. representatie van entiteiten
2. representatie van relaties
3. normalisatie
4. samennemen van relaties
![Page 10: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/10.jpg)
Relationele aanpak
• Relationeel Model – geïntroduceerd in 1970 door Edgar F. Codd
• Turing Award 1981• ook bijdrage in het gebied van cellulaire automaten, “self-
reproducing automata”
• de relationele aanpak wordt nu beschouwd als de standaard
• gegevens worden geordend in de vorm van relaties
• relaties worden gerepresenteerd in de vorm van tabellen
• de aanpak is gebaseerd op een wiskundige theorie: dit geeft een solide theoretische onderbouwing en vele praktische voordelen
![Page 11: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/11.jpg)
Drie componenten
• datastructuren– gegevens zijn georganiseerd in de vorm van tabellen
(relaties)
• datamanipulatie– krachtige operaties om de opgeslagen gegevens te
manipuleren
• data-integriteit– faciliteiten voor het specificeren van (het behouden van) de
integriteit
![Page 12: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/12.jpg)
Relatie
• een relatie is te beschouwen als een twee-dimensionale tabel met gegevens
• elke relatie heeft een – naam, – bestaat uit
• een verzameling van kolommen (elk voorzien van een naam) en uit
• een willekeurig aantal rijen
• elke kolom correspondeert met een attribuut van de relatie
• elke rij correspondeert met een record (instantie, entiteit)
![Page 13: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/13.jpg)
Voorbeeld
WN1WNID NAAM AFD SALARIS100 Anna Bruinsma Verkoop 50.000140 Carla Dik Administratie 41.000110 Eef Groen Informatiesystemen 49.000
190 Henk Israël Inkoop 39.500150 Janny Kramer Verkoop 45.000
Afkorting van de structuur van die relatie:
WN1(WNID, NAAM, AFD, SALARIS)
![Page 14: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/14.jpg)
Atomaire waarden
WN2a
WNID NAAM AFD SALARIS CURSUS DATUM
100 Anna Bruinsma
Verkoop 50.000 PRWord
6-6-941-12-94
140 Carla Dik Administratie 41.000 Belastingen 25-8-94
110 Eef Groen Informatiesystemen 49.000 C++Word
13-11-941-12-94
190 Henk Israël Inkoop 39.500 Logistiek 8-3-94
150 Janny Kramer Verkoop 45.000 PRWorkflow
6-6-9411-12-94
De waarden in de kolommen moeten atomair (ondeelbaar) zijn
![Page 15: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/15.jpg)
Atomaire waarden
WN2
WNID NAAM AFD SALARIS CURSUS DATUM
100 Anna Bruinsma Verkoop 50.000 PR 6-6-94
100 Anna Bruinsma Verkoop 50.000 Word 1-12-94
140 Carla Dik Administratie 41.000 Belastingen 25-8-94
110 Eef Groen Informatiesystemen 49.000 C++ 13-11-94
110 Eef Groen Informatiesystemen 49.000 Word 1-12-94
190 Henk Israël Inkoop 39.500 Logistiek 8-3-94
150 Janny Kramer Verkoop 45.000 PR 6-6-94
150 Janny Kramer Verkoop 45.000 Workflow 11-12-94
![Page 16: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/16.jpg)
Domain
• bij elke kolom hoort een collectie van waarden die mogen voorkomen in de kolom (als waarden voor dat attribuut)
• zo'n collectie van waarden heet een domein
• Voorbeeld:– bij WNID hoort een domein van identificatienummers
– bij DATUM hoort een domein van examendata
![Page 17: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/17.jpg)
Unieke rijen
• elke rij is uniek:– dit drukt uit dat records (instanties) uniek zijn– deze eigenschap wordt gegarandeerd door het aanwijzen van
een primaire sleutel (uit de verzameling kandidaat-sleutels)
• WN1: WNID of NAAM
• WN2: WNID,CURSUS of NAAM,CURSUS
• de waarden van de primaire sleutel mogen niet null zijn
![Page 18: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/18.jpg)
Volgorde irrelevant
• de volgorde van kolommen is irrelevant: het maakt niet uit in welke volgorde de attributen worden vermeld– in de relationele aanpak wordt dit bereikt door te kiezen voor
een verzameling van kolommen
• de volgorde van rijen is irrelevant: het maakt niet uit in welke volgorde de records worden vermeld– in de relationele aanpak wordt dit bereikt door te kiezen voor
een verzameling van records
![Page 19: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/19.jpg)
Goed gestructureerd
• bij het ontwerpen van relaties streef je naar – een minimum aan redundantie en – de situatie dat gebruikers rijen kunnen
• toevoegen, • veranderen, of • wegnemen
zonder dat er fouten ontstaan
![Page 20: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/20.jpg)
Een niet goed gestructureerde relatie
WN2
WNID NAAM AFD SALARIS CURSUS DATUM
100 Anna Bruinsma Verkoop 50.000 PR 6-6-94
100 Anna Bruinsma Verkoop 50.000 Word 1-12-94
140 Carla Dik Administratie 41.000 Belastingen 25-8-94
110 Eef Groen Informatiesystemen 49.000 C++ 13-11-94
110 Eef Groen Informatiesystemen 49.000 Word 1-12-94
190 Henk Israël Inkoop 39.500 Logistiek 8-3-94
150 Janny Kramer Verkoop 45.000 PR 6-6-94
150 Janny Kramer Verkoop 45.000 Workflow 11-12-94
![Page 21: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/21.jpg)
Anomalieën
• anomalie van toevoegen– nieuwe werknemer toevoegen
• een waarde voor beide cursus en wind moet er ingevoerd worden
– werknemer zonder cursus?
• anomalie van verwijderen– verwijderen gegevens werknemer
• als werknemer 140 wordt verwijderd zijn we de informatie kwijt dat er op 25-8-94 iemand een cursus heeft afgerond
• anomalie van wijzigen– veranderen van salaris
• moet in elk van de rijen voor de weknemer gebeuren– niet efficient
![Page 22: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/22.jpg)
Normalisatie
• Probleem– WN2 bevat gegevens over twee entiteiten
• Oplossing – Verdeel zo’n relatie in twee relaties: WN1 en WN-CURSUS
![Page 23: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/23.jpg)
Normalisatie
WN1WNID NAAM AFD SALARIS100 Anna Bruinsma Verkoop 50.000140 Carla Dik Administratie 41.000110 Eef Groen Informatiesystemen 49.000
190 Henk Israël Inkoop 39.500150 Janny Kramer Verkoop 45.000
WN-CURSUS
WNID CURSUS DATUM
100 PR 6-6-94
100 Word 1-12-94
140 Belastingen 25-8-94
110 C++ 13-11-94
110 Word 1-12-94
190 Logistiek 8-3-94
150 PR 6-6-94
150 Workflow 11-12-94
![Page 24: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/24.jpg)
Transformatie van ERM naar Relationeel Model
• als we een relationeel databasemodel ontwerpen willen we het beschikbare datamodel gebruiken
• het transformeren van het datamodel naar een databasemodel is één van de belangrijkste stappen in de ontwikkeling
• (deel van) transformatiemethode:
1. het representeren van entiteiten
2. het representeren van relaties
![Page 25: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/25.jpg)
Representatie entiteiten
• Drie stappen:
1. elk entiteit-type wordt vertaald in een relatie
2. de primaire sleutel van het entiteit-type wordt de primaire sleutel van de relatie
3. elk niet-sleutel attribuut-type van het entiteit-type wordt een (niet-sleutel) attribuut van de relatie
• er volgen mogelijk nog veranderingen als het entiteit-type betrokken is in (ER)relatie-typen
![Page 26: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/26.jpg)
Voorbeeld
KLANT
NAAM
KLANTNUMMER
ADRES WOONPLAATS
KORTING
KLANT(KLANTNUMMER, NAAM, ADRES, WOONPLAATS, KORTING)
KLANT
KLANTNUMMER NAAM ADRES WOONPLAATS KORTING
1273 Super Spullen Markt 1 Eindhoven 10%
6333 Audiogigant Markt 3 Eindhoven 2%
ER:
RM:
![Page 27: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/27.jpg)
Representatie relaties
• onderscheid tussen soorten relatie-typen:– binaire één-op-veel relatie-typen– binaire veel-op-veel relatie-typen– unaire één-op-veel relatie-typen– unaire veel-op-veel relatie-typen– ISA-relatie-typen
![Page 28: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/28.jpg)
Voorbeeld binaire 1-op-veel relatie
ORDER
ORDERDATUM ORDERNUMMER LEVERDATUM
KLANT
Plaatst
NAAM
KLANTNUMMER
ADRES
WOONPLAATS
KORTING
KLANT(KLANTNUMMER, NAAM, WOONPLAATS, KORTING, ADRES)
ORDER(ORDERNUMMER, ORDERDATUM, LEVERDATUM)
PLAATST(KLANTNUMMER, ORDERNUMMER)
![Page 29: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/29.jpg)
Voorbeeld
ORDER
ORDERDATUMORDERNUMMER LEVERDATUM
KLANT
Plaatst
NAAM
KLANTNUMMER
ADRES
WOONPLAATS
KORTING
KLANT(KLANTNUMMER, NAAM, ADRES, WOONPLAATS, KORTING)ORDER(ORDERNUMMER, ORDERDATUM, LEVERDATUM, KLANTNUMMER)
![Page 30: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/30.jpg)
Voorbeeld
KLANT
KLANTNUMMER NAAM ADRES WOONPLAATS KORTING
1273 Super Spullen Markt 1 Eindhoven 10%
6333 Audiogigant Markt 3 Eindhoven 2%
ORDER
ORDERNUMMER ORDERDATUM LEVERDATUM KLANTNUMMER
57194 15-3-94 28-3-94 6333
63725 17-3-94 1-4-94 1273
80149 14-3-94 24-3-94 6333
![Page 31: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/31.jpg)
Binair één-op-veel relatie-type
• stel het datamodel bevat een binair één-op-veel relatie-type tussen A en B
• dit relatie-type wordt gerepresenteerd door het toevoegen van het primaire sleutel attribuut (of attributen) van A als attribuut van B
• zo'n niet-sleutel attribuut (ergens anders wel sleutel) heet een vreemde sleutel (foreign key)
![Page 32: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/32.jpg)
Voorbeeld binair veel-op-veel relatie-type
ORDER
ORDERDATUMORDERNUMMER LEVERDATUM
PRODUKT
Betreft HOEVEELHEID
PRODUKTNUMMER
KLANTNUMMER
BESCHRIJVING
![Page 33: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/33.jpg)
Voorbeeld binair veel-op-veel relatie-type
ORDER
ORDERNUMMER ORDERDATUM LEVERDATUM KLANTNUMMER
57194 15-3-94 28-3-94 6333
63725 17-3-94 1-4-94 1273
80149 14-3-94 24-3-94 6333
PRODUKT
PRODUKTNUMMER BESCHRIJVING
M128 Boekenkast
A261 Wandmeubel
R149 Kastje
ORDERREGEL
ORDERNUMMER PRODUKTNUMMER HOEVEELHEID
57194 M128 2
57194 A261 1
![Page 34: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/34.jpg)
Binair veel-op-veel relatie-type
• stel het datamodel bevat een binair veel-op-veel relatie-type tussen A en B
1. er wordt een nieuwe relatie C (tabel) gevormd
2. de primaire sleutel van C is een combinatie van die van A en B
3. eventuele attribuut-typen (van het relatie-type) worden niet-sleutel attributen van C
![Page 35: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/35.jpg)
Voorbeeld unair één-op-veel relatie-type
WERKNEMER
NAAMWNID GEBOORTEDATUM
Geeft-leiding- aan
WERKNEMER(WNID, NAAM, GEBOORTEDATUM, MANAGER-ID)
![Page 36: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/36.jpg)
Unair één-op-veel relatie-type
• stel het datamodel bevat een unair één-op-veel relatie-type met betrekking tot A
1. A wordt al gerepresenteerd via een relatie (tabel)
2. om het ER-relatie-type uit te drukken voegen we een attribuut (of attributen) toe aan de relatie (tabel) dat refereert naar de primaire sleutel
![Page 37: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/37.jpg)
Voorbeeld unair veel-op-veel relatie-type
PRODUKT
NAAMPRODUKTNUMMER PRIJS
BevatAANTAL
PRODUKT(PRODUKTNUMMER, NAAM, PRIJS)BEVAT(PRODUKTNUMMER, ONDERDEELNUMMER, AANTAL)
![Page 38: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/38.jpg)
Unair veel-op-veel relatie-type
• stel het datamodel bevat een unair veel-op-veel relatie-type met betrekking tot A
• A wordt al gerepresenteerd via een relatie (tabel)
• er wordt een nieuwe relatie B gevormd voor het ER-relatie-type– de primaire sleutel van B is een combinatie van tweemaal de
primaire sleutel van A – eventuele attribuut-typen van het ER-relatie-type worden niet-
sleutel attributen van B
![Page 39: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/39.jpg)
Voorbeeld ISA-relatie-type
STRANDHUIS
ADRES
SKI?
CHALET
AFSTAND-TOT-ZEE
VAKANTIEHUISADRES HUUR
PLAATS AANTAL-KAMERS
ISA ISA
PLAATS ADRES PLAATS
VAKANTIEHUIS(ADRES, PLAATS, AANTAL-KAMERS, HUUR)STRANDHUIS(ADRES, PLAATS, AFSTAND-TOT-ZEE)CHALET(ADRES, PLAATS, SKI?)
![Page 40: Datamodellering en –verwerking 8C020 college 3. Extra uren (7 en 8) op maandag, 22 oktober, in Auditorium 5](https://reader036.vdocuments.pub/reader036/viewer/2022070315/5551a0f04979591f3c8babae/html5/thumbnails/40.jpg)
ISA-relatie-type
• stel het datamodel bevat een ISA-relatie-type
• er is al een relatie voor elke betrokken (sub)klasse
• de tabel voor de superklasse heeft slechts die attributen die alle (sub)klassen gemeenschappelijk hebben
• de tabel van een subklasse heeft behalve de primaire sleutel slechts die attributen specifiek voor de subklasse