Normaliseren inleiding

Download Report

Transcript Normaliseren inleiding

Normaliseren
Inleiding
Informatie verzamelen
 Pizzeria wil website +
bestelmogelijkheid
 4 soorten, 3 afmetingen
 3 vestigingen
 Bestelling via telefoon of in pizzeria
(nu)
 Bestelling via website (straks)
 Levering afhankelijk van postcode
Bepalen functies
 Use cases:
 Bestel pizza
 Vul in NAW + postcode, kies pizza, kies afmeting, kies
aantal
 Druk op verzenden
 Controleer postcode
 Als postcode tussen 1000 en 2000  Amsterdam
 Als postcode tussen 2000 en 3000  Utrecht
 Als postcode tussen 3000 en 4000  Rotterdam
 Lever pizza
 Vestiging A, U of R ontvangt gegevens bestelling
 Vestiging A, U of R levert pizza aan klant
Ontwerp
 Lay-out  logo, font, kleur, etc.
 Gegevens op formulier:







Naam klant
Adres, postcode, woonplaats,telefoon, e-mail
Selectie uit pizza’s: A, B, C en/of D
Selectie afmeting: klein, middel, groot
Aantal
Prijs en totaalbedrag
verzendknop
Opslagstructuur
Het vullen van de tabel
Wat valt op?
 Veel herhaling van gegevens
 Kans op fouten bij handmatige invoer
 Gegevens die berekend kunnen
worden staan in database (bedrag)
Normaliseren – 0NV
 Inventariseer alle elementaire
gegevens.
 Bepaal de sleutel (unieke
identificatie).
 Bepaal de repeterende groep.
 Bepaal de procesgegevens
Pizza – 0NV












Bestelnummer
Klant
Adres
Postcode
Woonplaats
Telefoon
E-mail
Soort
Afmeting
Aantal
Prijs
(Bedrag)
 sleutel
----------| repeterende groep
|
---------- procesgegeven
Normaliseren – 1NV
 Verwijder procesgegevens
 Splits repeterende groepen af
 Neem sleutel mee uit oorspronkelijke
groep
 Breid sleutel van de nieuwe groep uit
Pizza – 1NV







Bestelnummer
Klant
Adres
Postcode
Woonplaats
Telefoon
E-mail
Bestelnummer  key1
Soort
 key2
Afmeting
Aantal
Prijs
Normaliseren – 2NV
 Splits velden af die slechts van een
deel van de sleutel afhankelijk zijn
 Neem die velden + dat deel van de
sleutel mee naar nieuwe groep
Pizza – 2NV







Bestelnummer
Klant
Adres
Postcode
Woonplaats
Telefoon
E-mail
Bestelnummer
Soort
Afmeting
Aantal
Soort
Prijs
Normaliseren – 3NV
 Splits de attributen af die van een
niet-sleutelattribuut afhankelijk zijn
 Neem het niet-sleutelattribuut over
en maak dit sleutel
Pizza – 3NV
Bestelnummer
Klant
Klant
Adres
Postcode
Woonplaats
Telefoon
E-mail
Bestelnummer
Soort
Afmeting
Aantal
Soort
Prijs
Tabellen en Relaties Pizza 3NV