Download de presentatie
GepubliceerdAdriaan Vermeiren Laatst gewijzigd meer dan 10 jaar geleden
1
SQL deel 2: datamodel ontwerp
Datamodel + DB schema Criteria
2
Zelf een database maken, zie maar …
DVD/ CD collectie Artiesten, groepen, platen, nummers, etc Sporttoernooi Teams, wedstrijden, uitslagen, etc Schoolorganisatie Studenten, klassen , vakken, werkgroepen, docenten, beoordelingen, etc Familiebanden Ouders, kinderen, huwelijken, etc.
3
Op te leveren in week 9: één document met daarin
Domein afbakening Entiteiten Relatie Diagram + toelichting Tabel Definities Eventueel voorbeeld Data Queries ( VIEWS )
4
Ontwerpen Afbakening van het domein Conceptueel model: ERD op papier !
Beschrijven van de relevante informatie Beschrijven van gebruiksmogelijkheden (use cases) Conceptueel model: ERD op papier ! Benoemen van entiteiten, attributen en relaties Entity relation diagram Functionele toetsing Fysiek model: ERD in mySQL WorkBench Datatypen Primary Keys & Foreign Keys Views
5
Hoe maak je een ERD? Zoek entiteiten
Meer dan één attribuut Betekenisvolle business termen Vraag je af welke relaties (soorten) er zijn tussen de entiteiten : 1 – op – 1, 1 – op – n , n – op – n Vraag je af of de relatie verplicht is of optioneel
6
Entiteiten Betekenisvolle business termen Voorbeelden:
Het is gebruikelijk om namen van entiteiten in hoofdletters te schrijven. VGM12
7
Achterhalen van de kardinaliteit
Vragen: één student, hoeveel afstudeerderbegeleiders kan deze maximaal hebben? kan een student ook géén afstudeerbegeleider hebben? Maximum: één afstudeerbegeleider, hoeveel studenten kan deze maximaal begeleiden? kan een afstudeerbegeleider ook géén studenten begeleiden? VGM12
8
Achterhalen van de kardinaliteit
Een student heeft geen ( bolletje) of één afstudeerbegeleider. Een afstudeerbegeleider begeleidt één (minimum) of meer (harkje) studenten. child tabel parent tabel VGM12
9
Opdracht. Maak een eerste versie van een ERD voor Jari amusement op papier Controleer Zijn alle belangrijkste entiteiten gevonden? Zijn de attributen in kaart gebracht? Zijn de relaties in kaart gebracht?
10
Van ERD naar Database schema
1 – op – 1 : in één van beide tabellen verwijssleutel 1 – op – n : alleen aan de n- kant een verwijssleutel ( harkje) n – op – n : extra (koppel) tabel Optioneel verwijssleutel mag NULL zijn Verplicht verwijssleutel mag NIET NULL zijn (NN) Gelukkig regelt MySQL Workbench .. Dit voor het grootste deel zelf.
11
MySQl workbench Identifying 1 – op – 1 , 1 – op – n , n – op – n
Tabellen, recht toe recht aan Relaties, Identifying 1 – op – 1 , 1 – op – n , n – op – n NON identifying Klik eerst de child tabel, dan de parent tabel Geef vervolgens op de juiste plek aan mandatory yes/no
12
Criteria voor een goed datamodel
13
Naamgeving Geen spaties ( eventueel underscore _ )
Geen gekke karakters Geen afkortingen Niet beginnen met een cijfer Consistent gebruik hoofdletters Beschrijvend De naam beschrijft het element precies, Laat niets te raden over. Liever een lange naam, dan een onduidelijke naam
14
Tabelnaam: enkelvoud forum berichtID auteur tekst datum berichten
15
Naamgeving attribuut/kolom
bericht berichtID berichtauteur berichtTekst datum bericht berichtID auteurID tekst datum
16
Data-elementen zijn ‘atomair’
Geen samengestelde waarden in één kolom Fout: Voor+achternaam, straat+nummer+plaats Geen herhalende waarden in één tabelcel Fout: Komma gescheiden lijst productnummers (wel: gebruik een aparte tabel) Laat de betekenis niet afhangen van andere elementen Fout: Bij temperatuur de ene keer Kelvin en de andere keer Celcius.
17
Vermijdt redundantie Iedere rij in een tabel bevat attributen van één entiteit en niets dan attributen van die ene entiteit, of is een verwijssleutel Iedere rij heeft een unieke sleutel ( of gecombineerde sleutel ) Data-elementen die afgeleid kunnen worden mogen niet in de tabel voor komen
18
“3de normaalvorm” Regel 1: eenvoud Data-elementen zijn atomair
Regel 2: vermijdt redundantie Per rij, een entiteit (zo niet dan tabel splitsen ) Geen kolommen die berekend kunnen worden Geen relaties die afgeleid kunnen worden
19
huiswerk Download mySQLWorkBench
Maak een genormaliseerde versie van een ERD voor jouw database, waarbij de nadruk ligt op volledigheid Zijn alle belangrijkste entiteiten gevonden Zijn de attributen in kaart gebracht Zijn de relaties in kaart gebracht 3de normaalvorm Atomaire data-elementen Geen redundante data Geen redundante relaties
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.