Normaliseren Datamodellering 2006.

Slides:



Advertisements
Verwante presentaties
SQL deel 2: datamodel ontwerp
Advertisements

Normaliseren Uitgangspunt
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Normaliseren Inleiding.
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Datamodellering en –verwerking 8C020 college 3
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
Van Nul naar Drie Normaliseren.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Databases.
Relationele Databases
<Mdl01 hoorcollege 1>
Databases I Van EER naar relationeel
Opleiding AI cursus Databases
LauwersCollege Buitenpost Informatica
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
Databanken by Steven Stinis.
Hoofdstuk 12: Oefeningen
Relationele databases: Fysiek databaseontwerp en SQL
ontwerp een datamodel Criteria voor een goed model Ontwerppatronen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
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
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
Databases I Functionele Afhankelijkheden en Normaalvormen
Databases I Relationeel Model Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam definitieve versie 2002.
Workshop PHP Een productencatalogus Met database.
Databases.
Bioinformatica Datamodellering.
Windows Verkenner Tips en Trucs woensdag 14 januari 2015
Anonimisering van testgegevens Privacy Paleis 28 januari 2015
LauwersCollege Buitenpost Informatica
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
1 XSLT processing & control Datamodellering 2006.
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.
Databases I (H. 7: 1-3) Het Relationele Model Wiebren de Jonge Vrije Universiteit, Amsterdam versie 2003.
1 Attributen Datamodellering Attribuut legt één feit vast over een entiteit  atomair overloaded attributes splitsen, b.v. NAW-gegevens correspondeert.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
ANALYSE 3 INFANL01-3 WEEK 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.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
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
Informatica-Actief Thema: Databases en informatiemodellering
LauwersCollege Buitenpost Informatica
Normaliseren.
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
ERD maken.
Transcript van de presentatie:

Normaliseren Datamodellering 2006

Wat is normaliseren? - 1 Data organiseren in tabelvorm, zó dat: er minimale redundantie is update-operaties (toevoegen, wijzigen, verwijderen) eenvoudig zijn uit te voeren records in een tabel te identificeren zijn m.b.v. een unieke sleutel

Redundantie: voorbeeld Suppliers-and-Parts: wat als een leverancier verhuist?

Wat is normaliseren? - 2 Normaliseren: bottom-up datamodelleringstechniek vgl. ER-methode: top-down Omvat een aantal stappen (= normaalvormen): 1NF 2NF 3NF BCNF 4NF 5NF 6NF 1NF 2NF 3NF BCNF 4NF 5NF 6NF 2NF veronderstelt, dat de dataset al in 1NF is, etc.

Normaliseren & DBMS-model Normaliseren in de praktijk gekoppeld aan het relationele database model: tabellen Normaliseren vereist enige basiskennis van het relationele model

Enkele principes RDBMS Relationele database: verzameling tabellen Relationele tabel rechthoekig (dus  spreadsheet tabel!) rijen (records = tuples) en kolommen (velden, attributen) cardinaliteit: aantal rijen graad (degree): aantal kolommen geen vaste ordening rijen en kolommen cel: atomaire waarde Relationele operaties  tabel Tabellen gekoppeld via sleutels primary key (pk) – foreign key (fk)

Functionele afhankelijkheid - 1 S# City P# Qty S# is de determinant van City City is functioneel afhankelijk van S#

Functionele afhankelijkheid - 2 Given a relation R: attribute Y of R is functionally dependent on attribute X in symbols, R.X  R.Y (read: “R.X functionally determines R.Y”) if and only if each X-value in R has associated with it precisely one Y-value in R (at any one time). Attributes X and Y may be composite.

Sleutels Candidate key: unique niet-reduceerbare combinatie van attributen (indien composite) fungeert als determinant voor andere attributen in de tuple Primary key: een candidate key gekozen als identifier Foreign key: kruisverwijzing naar primary key

Normaliseren: document

Normaliseren: NFNF NFNF (of: NF²) = Not in First Normal Form NOTA (Naam, Adres, Plaats, Postcode, ClientNr, NotaNr, NotaDatum, {DierId, DierNaam, Verrichting, Bedrag})

Normaliseren: 1NF Geen repeating groups: NOTA (Naam, Adres, Plaats, Postcode, ClientNr, NotaNr, NotaDatum) NOTA_DIER (NotaNr*, DierID, DierNaam, Verrichting, Bedrag)

Normaliseren: 2NF Elk niet-sleutel attribuut is volledig afhankelijk van de hele primary key: NOTA (Naam, Adres, Plaats, Postcode, ClientNr, NotaNr, NotaDatum) NOTA_DIER (NotaNr*, DierID*, Verrichting, Bedrag) DIER (DierID, DierNaam)

Normaliseren: 3NF Er is geen transitieve afhankelijkheid: als A  B en B  C, dan A  C (transitief) NOTA (ClientNr*, NotaNr, NotaDatum) CLIENT (ClientNr, Naam, Adres, Plaats, Postcode) NOTA_DIER (NotaNr*, DierID*, Verrichting, Bedrag) DIER (DierID, DierNaam)

Maar... zó niet goed Verrichting repeteert! - NFNF had moeten zijn: NOTA (Naam, Adres, Plaats, Postcode, ClientNr, NotaNr, NotaDatum, {DierId, DierNaam, {VerID, Verrichting, Bedrag}}) Vraag: zijn bedragen voor elke verrichting standaard? Of uurtarief? Bovendien is het in dit ontwerp bewerkelijk om alle dieren van een client te achterhalen

Boyce/Codd Normal Form Verschuift aandacht van primaire sleutels naar kandidaat-sleutels: BCNF: elke determinant is een kandidaat-sleutel In de praktijk zijn de meeste relaties in 3NF ook in BCNF

Meer… Rules of Data Normalization [DataModel.org] http://www.datamodel.org/NormalizationRules.html Database eLearning, ch. 4: http://db.grussell.org/ch4.html Normalization [University of Texas]: http://www.utexas.edu/its/windows/database/datamodeling/rm/rm7.html