Van Nul naar Drie

advertisement
Van Nul naar Drie
Normaliseren
1
Inleiding
In deze presentatie kijken we naar het
normaliseren van de nulde naar de
derde normaalvorm.
2
Een afleverbon:
3
Voor deze bon ontwerpen we
een database:
sleutels
Nulde
procesg
egevens
eerste
derde
4
De nulde normaalvorm:
Dat is:
Een overzicht van alle velden (gegevens) die
in de database opgenomen worden.!!
5
De lijst met velden:
ORDERS:
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
Art.nr.
Art.omschrijving
Aantal
Prijs
Regeltotaal
Eindtotaal
6
De nulde normaalvorm is nu klaar..
7
De eerste normaalvorm:
 Verwijder
alle procesgegevens
 Geef de sleutel van de groep aan
 Geef de deelverzameling aan die
een herhaald aantal keren
voorkomt t.o.v de primaire sleutel.
(de repeterende groep)
8
Verwijder de procesgegevens:
Orders
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
Art.nr
Art.omschrijving
Aantal
Prijs
X regeltotaal (procesgegeven)
X eindtotaal (procesgegeven)
9
Geef een primaire sleutel:
Orders
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
Art.nr
Art.omschrijving
Aantal
Prijs
X regeltotaal (procesgegeven)
X eindtotaal (procesgegeven
10
Geef de deelverzameling die een
herhaald aantal keren voorkomt…
Orders
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
RG Art.nr
RG Art.omschrijving
RG Aantal
RG Prijs
X regeltotaal (procesgegeven)
X eindtotaal (procesgegeven
11
Maak een nieuwe groep voor
de herhalende gegevens:
BESTELDE_ARTIKELEN
Ordernr
Art.nr
Art.omschrijving
Aantal
Prijs
12
Verwijder de herhalende
deelverzameling uit de oorspronkelijke
groep..
ORDERS
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
13
De eerste normaalvorm:
ORDERS
Ordernr
Orderdatum
Klantnr
Klantnaam
Adres
Postcode
Plaats
BESTELDE_ARTIKELEN
Ordernr
Artnr
Artomschrijving
Aantal
Prijs
14
De tweede normaalvorm…
Geef de attributen aan die niet functioneel
afhankelijk zijn van de volledige sleutel!!
 Maak een aparte groep voor ieder deel van
de sleutel waarvan de attributen
afhankelijk zijn!!
 Verwijder deze attributen uit de
oorspronkelijke groep.!!

15
Geef de attributen aan die niet
functioneel afhankelijk zijn van de
volledige sleutel!!
In de tabel BESTELDE_ARTIKELEN zijn
een paar attributen die niet afhankelijk zijn
van de gehele sleutel!!
BESTELDE_ARTIKELEN
Ordernr
Artnr
Artomschrijving
Aantal
Prijs
16
De artomschrijving is is afhankelijk van het
artnummer
De prijs is afhankelijk van het artnummer.
BESTELDE_ARTIKELEN
Ordernr
>> Artnummer
>> Artomschrijving
Aantal
>> Prijs
17
Voor deze attributen maken we
een aparte groep. (we nemen de
sleutel mee)
ARTIKELEN
Artnr
Artomschrijving
Prijs
18
Verwijder de attributen uit de
oorspronkelijke groep…
BESTELDE_ARTIKELEN
Ordernr
Artnr
Aantal
19
We hebben nu de tweede
normaalvorm:
ORDERS
ARTIKELEN
Ordernr
Orderdatum
Klantnummer
Klantnaam
Adres
Postcode
Plaats
artnr
artomschrijving
prijs
BESTELDE_ARTIKELEN
Ordernr
Artnr
Aantal
20
De derde normaalvorm:




Geef de niet-sleutelattributen aan die
functioneel afhankelijk zijn van andere nietsleutelattributen!!
Maak een aparte groep voor ieder attribuut of
combinatie ervan waar andere attributen
functioneel van afhankelijk zijn.
Neem in iedere groep de attributen met
bijbehorende sleutel op en wijs de primaire
sleutel aan.
Verwijder de attributen uit de oorspronkelijke
groep.
(woordenlijst)
21
Geef de niet-sleutelattributen aan die
functioneel afhankelijk zijn van andere nietsleutelattributen!!
In de tabel ORDERS zijn een aantal
gegevens die niet afhankelijk zijn van het
ordernr.
Dat zijn:
klantnr, adres, postcode en plaats.
Deze zijn afhankelijk van het klantnr.
22
Maak een aparte groep voor ieder
attribuut of combinatie ervan waar
andere attributen functioneel van
afhankelijk zijn
KLANTEN
Klantnaam
Adres
Postcode
Plaats
23
Neem in iedere groep de attributen
met bijbehorende sleutel op en wijs de
primaire sleutel aan.
KLANTEN
Klantnr
Klantnaam
Adres
Postcode
Plaats
24
Verwijder de attributen uit de
oorspronkelijke groep.
ORDERS
Ordernr
Klantnr
Orderdatum
25
De derde normaalvorm:
Orders
Ordernr
Klantnr
Orderdatum
BESTELDE_ARTIKELEN
ordernr
artnr
aantal
Klanten
ARTIKELEN
Klantnr
Klantnaam
Adres
Postcode
Plaats
artnr
artomschrijving
prijs
26
.
Woordenlijst.
27
Procesgegevens: wat zijn dat?
Gegevens die door middel van berekeningen
kunnen worden afgeleid uit andere
gegevens !!
Procesgegevens nemen we nooit op in een
database.
Terug
28
Een niet-sleutel attribuut
Een veld in een tabel die geen primaire
sleutel is.
Voorbeeld:
Leerlingnummer
Naam
Adres
Woonplaats
Niet-sleutel attributen zijn hier naam, adres en woonplaats.
(Terug)
29
Attribuut / attributen:
Attributen zijn de gegevens in een tabel.
Bijvoorbeeld: naam, adres en woomplaats.
Dit zijn de velden die we in de tabel zullen
tegenkomen.
In plaats van gegevens of velden spreken we
vaak over attributen.
(Terug)
30
Download