200 likes | 419 Views
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
E N D
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
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 sleutel • Klant • Adres • Postcode • Woonplaats • Telefoon • E-mail • Soort ----------- • Afmeting | repeterende groep • Aantal | • Prijs ----------- • (Bedrag) procesgegeven
Normaliseren – 1NV • Verwijder procesgegevens • Splits repeterende groepen af • Neem sleutel mee uit oorspronkelijke groep • Breid sleutel van de nieuwe groep uit
Pizza – 1NV • BestelnummerBestelnummer key1 • Klant Soort key2 • Adres Afmeting • Postcode Aantal • Woonplaats Prijs • Telefoon • E-mail
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 • BestelnummerBestelnummer • Klant Soort • Adres Afmeting • Postcode Aantal • Woonplaats • Telefoon Soort • E-mail 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 BestelnummerBestelnummer Klant Soort Afmeting Klant Aantal Adres Postcode Soort Woonplaats Prijs Telefoon E-mail