Normalisatie
Kan iemand mij helpen met volgende oefening?
Weet niet goed hoe ik er aan moet beginnen.
Alvast bedankt!

Weet niet goed hoe ik er aan moet beginnen.
Alvast bedankt!

Gewijzigd op 10/06/2015 17:25:38 door Jan D
De afbeelding is wel erg klein.
Zie helemaal niks erop.
Zie helemaal niks erop.
http://postimg.org/image/xxmvuzqs3/
Hier een versie waarbij je geen vergrootglas nodig hebt.
Eigenlijk zou je inderdaad de juiste afbeelding moeten zien. Ik zal dit even meenemen naar achteren.
Hier een versie waarbij je geen vergrootglas nodig hebt.
Eigenlijk zou je inderdaad de juiste afbeelding moeten zien. Ik zal dit even meenemen naar achteren.
>> Weet niet goed hoe ik er aan moet beginnen.
Waaraan moet je beginnen dan? Het is toch maar een multiple choice-vraag?
Het is geen al te beste vraag overigens. Dat is misschien meteen de hint die je op weg helpt: de relatie "in bestelling" tussen de leverancier en een aankooporder is niet uitgewerkt in de tabellen. Het gevolg daarvan is tweeledig:
• Je weet niet of een order nog "in bestelling" is of al werd geleverd.
• Je weet vervolgens dus ook niet hoeveel je van een product in voorraad hebt: is de nieuwe voorraad nog "in bestelling" of ondertussen al toegevoegd aan de bestaande voorraad?
De huidige voorraad van een product is een attribuut in het model, namelijk hoev-in-voorraad in het diagram en HOEV_IN_VOORR in de tabel PRODUCT. Daarmee wordt niet voldaan aan één van de regels voor 3NF: er mogen geen transitieve relaties zijn.
Van een transitieve relatie is sprake als X -> Z bestaat uit X -> Y en Y -> Z. Een dergelijke transitieve relatie heb je hier, want kennelijk wordt "op enig moment" de actuele voorraad in de tabel PRODUCT gewijzigd door de bestelhoeveelheid BESTELHOEV uit de tabel AANKOOPORDERREGELS. Joost mag weten hoe dat verder in zijn werk zou moeten gaan: het model vult die relatie niet in en is dus niet af.
Het juiste antwoord is volgens mij daarom:
b) 2NF, maar niet hoger
Waaraan moet je beginnen dan? Het is toch maar een multiple choice-vraag?
Het is geen al te beste vraag overigens. Dat is misschien meteen de hint die je op weg helpt: de relatie "in bestelling" tussen de leverancier en een aankooporder is niet uitgewerkt in de tabellen. Het gevolg daarvan is tweeledig:
• Je weet niet of een order nog "in bestelling" is of al werd geleverd.
• Je weet vervolgens dus ook niet hoeveel je van een product in voorraad hebt: is de nieuwe voorraad nog "in bestelling" of ondertussen al toegevoegd aan de bestaande voorraad?
De huidige voorraad van een product is een attribuut in het model, namelijk hoev-in-voorraad in het diagram en HOEV_IN_VOORR in de tabel PRODUCT. Daarmee wordt niet voldaan aan één van de regels voor 3NF: er mogen geen transitieve relaties zijn.
Van een transitieve relatie is sprake als X -> Z bestaat uit X -> Y en Y -> Z. Een dergelijke transitieve relatie heb je hier, want kennelijk wordt "op enig moment" de actuele voorraad in de tabel PRODUCT gewijzigd door de bestelhoeveelheid BESTELHOEV uit de tabel AANKOOPORDERREGELS. Joost mag weten hoe dat verder in zijn werk zou moeten gaan: het model vult die relatie niet in en is dus niet af.
Het juiste antwoord is volgens mij daarom:
b) 2NF, maar niet hoger
@Randy Flujowa/Aar: Als je klikt op het blauwe schuine pijltje links onderaan het plaatje opent het wel in de juiste grootte. :-)
Quote:
The key, the whole key and nothing but the key, so help me Codd!!
Ward van der Put op 10/06/2015 18:04:36:
....... Daarmee wordt niet voldaan aan één van de regels voor 3NF: er mogen geen transitieve relaties zijn.
Van een transitieve relatie is sprake als X -> Z bestaat uit X -> Y en Y -> Z. Een dergelijke transitieve relatie heb je hier, want kennelijk wordt "op enig moment" de actuele voorraad in de tabel PRODUCT gewijzigd door de bestelhoeveelheid BESTELHOEV uit de tabel AANKOOPORDERREGELS. Joost mag weten hoe dat verder in zijn werk zou moeten gaan: het model vult die relatie niet in en is dus niet af.
Het juiste antwoord is volgens mij daarom:
b) 2NF, maar niet hoger
Van een transitieve relatie is sprake als X -> Z bestaat uit X -> Y en Y -> Z. Een dergelijke transitieve relatie heb je hier, want kennelijk wordt "op enig moment" de actuele voorraad in de tabel PRODUCT gewijzigd door de bestelhoeveelheid BESTELHOEV uit de tabel AANKOOPORDERREGELS. Joost mag weten hoe dat verder in zijn werk zou moeten gaan: het model vult die relatie niet in en is dus niet af.
Het juiste antwoord is volgens mij daarom:
b) 2NF, maar niet hoger
c) Minstens 3NF
Hetgeen jij uitlegt klopt wel, maar geldt alleen voor sleutel kolommen.
In de tabel PRODUCT kan je de voorraad niet afleiden uit de productnaam, dus de voorraad is functioneel alleen afhankelijk van het id.
Het feit dat je de voorraad zou kunnen afleiden uit de inkoop en verkoop, heeft niet zo veel te doen met normalisatie, dat is meer een beleidsbeslissing.
Naar mijn mening staat het model in 5NF.
Ger, waar staat dan of de order geleverd is?
Je kunt de voorraad immers (ongeacht hoe je dat doet) pas verhogen als je iets met de toestand "in bestelling" doet.
Linguïstisch is de voorwaarde "in bestelling" nogal dubbelzinnig uiteraard. Betekent dat "besteld maar moet nog geleverd worden"? Of betekent het domweg "zit in deze bestelling"? Dat is dubbelzinnig, maar die dubbelzinnigheid doet gelukkig niet ter zake als je niet eens registreert wanneer die bestelling dan geleverd wordt. De toestand verandert immers niet: besteld is besteld en Joost — die bij ons de inslag van nieuwe voorraden doet — mag weten wat er geleverd wordt.
>> Naar mijn mening staat het model in 5NF.
Naar mijn mening staat het model op instorten :)
Je kunt de voorraad immers (ongeacht hoe je dat doet) pas verhogen als je iets met de toestand "in bestelling" doet.
Linguïstisch is de voorwaarde "in bestelling" nogal dubbelzinnig uiteraard. Betekent dat "besteld maar moet nog geleverd worden"? Of betekent het domweg "zit in deze bestelling"? Dat is dubbelzinnig, maar die dubbelzinnigheid doet gelukkig niet ter zake als je niet eens registreert wanneer die bestelling dan geleverd wordt. De toestand verandert immers niet: besteld is besteld en Joost — die bij ons de inslag van nieuwe voorraden doet — mag weten wat er geleverd wordt.
>> Naar mijn mening staat het model in 5NF.
Naar mijn mening staat het model op instorten :)
Bedankt voor de reacties alleszins! Helpt me al een heel eind vooruit!
@Ward
Je hebt gelijk hoor, in de praktijk zal dit model de nodige problemen opleveren.
Je hebt gelijk hoor, in de praktijk zal dit model de nodige problemen opleveren.




