SQL deel 2: datamodel ontwerp

Slides:



Advertisements
Verwante presentaties
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Advertisements

Normaliseren Inleiding.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Meerdere tabellen: Relaties en Joins
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Entiteit-Relatie Model
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Normaliseren Datamodellering 2006.
Databases.
<Mdl01 hoorcollege 1>
Databases I Van EER naar relationeel
Opleiding AI cursus Databases
LauwersCollege Buitenpost Informatica
Entity Relation Model (ER-model).
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Databanken by Steven Stinis.
ontwerp een datamodel Criteria voor een goed model Ontwerppatronen
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
SQL & datamodelleren.
ontwerp een datamodel Criteria voor een goed model Ontwerppatronen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Normalisatie Relationeel databaseontwerp:
Opleiding Kunstmatige Intelligentie cursus Databases voor AI
Vrij Technisch Instituut - Hasselt
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Presentatie Studiemiddag Indexen en Nadere Toegangen Ralph Stuyver, Projectmanager 4 maart 2010.
Workshop PHP Een productencatalogus Met database.
Databases & SQL Docent: Henny Klein
Databases.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vakgroep Telecommunicatie en Informatieverwerking 1 Relationele databases: Het relationeel databasemodel Hoofdstuk 4 Database, Document and Content Management.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Databases I Het Entity-Relationship Model
College 3 Hoofdstuk 3: Basis concepten van een relationele database
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 3 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 2 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
EERDER….. Tabellen rij (record, tuple, occurence) kolom (attribuut, veld) tabel (relatie) tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS)
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
Databases.
– Software development fundamentals
SQL Cursus deel
Entiteiten bedrijfsvoering (Extra)
Informatica-Actief Thema: Databases en informatiemodellering
LauwersCollege Buitenpost Informatica
Een computersysteem organiseert gegevens in een hiërarchie die begint bij een bit die de waarde 0 of een 1 vertegenwoordigt. Bits kunnen worden gegroepeerd.
Databases.
SQL Les 3 17 February 2019.
SQL Les 7 24 February 2019.
SQL Les 1 5 April 2019.
SQL Les 6 14 April 2019.
SQL en Datanormalisatie
– Software development fundamentals
Databases SQL.
Transcript van de presentatie:

SQL deel 2: datamodel ontwerp Datamodel + DB schema Criteria

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.

Op te leveren in week 9: één document met daarin Domein afbakening Entiteiten Relatie Diagram + toelichting Tabel Definities Eventueel voorbeeld Data Queries ( VIEWS )

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

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

Entiteiten Betekenisvolle business termen Voorbeelden: Het is gebruikelijk om namen van entiteiten in hoofdletters te schrijven. VGM12

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

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

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?

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.

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

Criteria voor een goed datamodel

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

Tabelnaam: enkelvoud forum berichtID auteur tekst datum berichten

Naamgeving attribuut/kolom bericht berichtID berichtauteur berichtTekst datum bericht berichtID auteurID tekst datum

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.

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

“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

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