Tweede Normaalvorm
Nu is het tijd om naar de Tweede Normaalvorm te gaan. Dit doen we ook weer met een aantal vaste stappen:
1. Geef de attributen aan die niet functioneel afhankelijk zijn van de volledige sleutel.
2. Formeer een aparte groep voor ieder deel van de sleutel waarvan de attributen functioneel afhankelijk zijn.
3. Neem in iedere groep de attributen met het bijbehorende sleuteldeel op en wijs de primaire sleutel aan.
4. Verwijder deze attributen uit de oorspronkelijke groep.
Het voorbeeld:
1. Geef de attributen aan die niet functioneel afhankelijk zijn van de volledige sleutel.
We herhalen nog even de Eerste Normaalvorm:
1NV
ORDERS
ordernr
orderdatum
klantnr
klantnaam
adres
postcode
plaats
BESTELDE_ARTIKELEN
ordernr
artnr
artomschrijving
aantal
prijs
De eerste groep komt niet in aanmerking voor deze stap omdat het niet beschikt over een samengestelde sleutel. Binnen de andere groep zijn er wel gegevens die functioneel afhankelijk zijn van een deel van de sleutel.
Kijk maar eens naar artomschrijving en prijs. Blijkbaar zijn deze afhankelijk van artnr en niet van ordernr. Je kunt dit nagaan door te kijken wat er veranderd als het artnr gewijzigd wordt.
We geven dit zo aan in het voorbeeld:
1NV
ORDERS
ordernr
orderdatum
klantnr
klantnaam
adres
postcode
plaats
BESTELDE_ARTIKELEN
ordernr
> artnr
> artomschrijving
aantal
> prijs
Let erop dat aantal niet alleen afhankelijk is van artnr. Het aantal per artikel kan verschillen per order.
2. Formeer een aparte groep voor ieder deel van de sleutel waarvan de attributen functioneel afhankelijk zijn.
Het kan gebeuren dat een samengestelde sleutel in meerdere delen gesplitst kan worden en dat van ieder deel afzonderlijk attributen functioneel afhankelijk zijn. Er moeten dan meerdere groepen gevormd worden. In het voorbeeld ontstaat slechts één nieuwe groep: ARTIKELEN.
3. Neem in iedere groep de attributen met het bijbehorende sleuteldeel op en wijs de primaire sleutel aan.
1NV
ORDERS
ordernr
orderdatum
klantnr
klantnaam
adres
postcode
plaats
BESTELDE_ARTIKELEN
ordernr
> artnr
> artomschrijving
aantal
> prijs
ARTIKELEN
artnr
artomschrijving
prijs
4. Verwijder deze attributen uit de oorspronkelijke groep.
Na deze stap hebben we onze Tweede Normaalvorm en begint het al lekker op te schieten:
2NV
ORDERS
ordernr
orderdatum
klantnr
klantnaam
adres
postcode
plaats
BESTELDE_ARTIKELEN
ordernr
artnr
aantal
ARTIKELEN
artnr
artomschrijving
prijs
Inhoudsopgave
- Normaliseren inleiding
- Nulde Normaalvorm
- Eerste Normaalvorm
- Tweede Normaalvorm
- Derde Normaalvorm
- Afsluiting
- Begrippen & Literatuur