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