De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Normaliseren Datamodellering 2006. 2 Wat is normaliseren? - 1 Data organiseren in tabelvorm, zó dat: er minimale redundantie is update-operaties (toevoegen,

Verwante presentaties


Presentatie over: "1 Normaliseren Datamodellering 2006. 2 Wat is normaliseren? - 1 Data organiseren in tabelvorm, zó dat: er minimale redundantie is update-operaties (toevoegen,"— Transcript van de presentatie:

1 1 Normaliseren Datamodellering 2006

2 2 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

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

4 4 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.

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

6 6 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)

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

8 8 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.

9 9 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

10 10 Normaliseren: document

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

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

13 13 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)

14 14 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)

15 15 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

16 16 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

17 17 Meer… Rules of Data Normalization [DataModel.org] Database eLearning, ch. 4: Normalization [University of Texas]: odeling/rm/rm7.html odeling/rm/rm7.html


Download ppt "1 Normaliseren Datamodellering 2006. 2 Wat is normaliseren? - 1 Data organiseren in tabelvorm, zó dat: er minimale redundantie is update-operaties (toevoegen,"

Verwante presentaties


Ads door Google