Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Oppgave 01 1NFFørste normalform ä Hver tabell skal ha en fast postlengde ä Det skal være kun en post-type pr tabell ä Hver post skal ha et eget identifikasjons-felt.

Liknende presentasjoner


Presentasjon om: "Oppgave 01 1NFFørste normalform ä Hver tabell skal ha en fast postlengde ä Det skal være kun en post-type pr tabell ä Hver post skal ha et eget identifikasjons-felt."— Utskrift av presentasjonen:

1 Oppgave 01 1NFFørste normalform ä Hver tabell skal ha en fast postlengde ä Det skal være kun en post-type pr tabell ä Hver post skal ha et eget identifikasjons-felt ( ID ) GNavnPNrStedDatoRNrRTypePris Hansen0900Oslo D900 Hansen0900Oslo D900 Olsen7500Bodø E700 Nilsen6400Molde D900 Nilsen6400Molde E700 Nilsen6400Molde E700 * * markerer ID-kolonne Pilenemarkerer kolonne-avhengighet

2 2NFAndre normalform ä Databasen må være på 1.normalform ä Deler av ID skal ikke kunne være determinantfelt for andre felt, dvs deler av ID skal ikke entydig kunne bestemme verdier i et annet felt GNavnPNrStedDatoRNr Hansen0900Oslo Hansen0900Oslo Olsen7500Bodø Nilsen6400Molde Nilsen6400Molde Nilsen6400Molde * RNrRTypePris 12D900 15E700 18E700 20D900 21E700 23D800 *

3 3NFTredje normalform ä Databasen må være på 2.normalform ä Det må ikke eksistere noen funksjonelle avhengigheter mellom egenskapsfeltene (felter utenom ID-feltene) GNavnDatoRNr Hansen Hansen Olsen Nilsen Nilsen Nilsen * RNrRtype 12D 15E 18E 20D 21E 23D * PNrSted 0900Oslo 7500Bodø 6400Molde GNavnPNr Hansen0900 Olsen7500 Nilsen6400 ** RTypePris E700 D900 *

4 Oppgave a) *ABC*ABC Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Videre er det ingen avhengighet mellom ikke-ID-kolonner. Tabellen er derfor allerede på 3NF.

5 02 b) *ABC*ABC *AB*AB *BC*BC + Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Ikke-ID-kolonnen B bestemmer entydig kolonnen C. Omforming til 3NF gjøres derfor ved å lage en ekstra tabell med de to kolonnene B og C med B som ID-kolonne.

6 02 c) *ABCD*ABCD *AB*AB *BC*BC + *CD*CD + Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Omforming til 3NF ved å lage ekstra tabeller for hver avhengighet mellom ikke-ID-kolonner.

7 02 d) *ABCD*ABCD *ABD*ABD C*DC*D + Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Omforming til 3NF ved å lage ekstra tabell for hver avhengighet mellom ikke-ID-kolonnene D og C.

8 02 e) A*BCDA*BCD *BD*BD AC*DAC*D + Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Omforming til 3NF ved å lage ekstra tabell for hver avhengighet mellom ikke-ID-kolonnene D, A og C.

9 02 f) AB*CDAB*CD AB*CAB*C *AD*AD + Alle 1NF-tabeller som ikke har mer enn en ID-kolonne må være på 2NF siden deler av ID (deler av ID finnes ikke) ikke kan bestemme verdier i ikke-ID-kolonner. Omforming til 3NF ved å lage ekstra tabell for hver avhengighet mellom ikke-ID-kolonnene A og D.

10 02 g) *A*BCD*A*BCD *A*BC*A*BC *BD*BD + Deler av ID (her B) bestemer entydig en ikke-ID-kolonne (her D). Altså er det brudd med 2NF (og derfor også 3NF). Lager tabeller med alle mulige delmengder av ID-kolonnene sammen med alle ikke-ID-kolonner som er direkte eller indirekte avhengige av disse nevnte ID-kolonnene. Denne omgjøringen fører her direkte til både 2NF og 3NF (3NF fordi vi her ikke har noen avhengighet mellom ikke-ID-kolonner.

11 02 h) *A*B*CDE*A*B*CDE *A*B*CE*A*B*CE *A*CD*A*CD + Deler av ID (her A og C) bestemer entydig en ikke-ID-kolonne (her D). Altså er det brudd med 2NF (og derfor også 3NF). Lager tabeller med alle mulige delmengder av ID-kolonnene sammen med alle ikke-ID-kolonner som er direkte eller indirekte avhengige av disse nevnte ID-kolonnene. Denne omgjøringen fører her direkte til både 2NF og 3NF (3NF fordi vi her ikke har noen avhengighet mellom ikke-ID-kolonner.

12 02 i) *A*BC*DEF*A*BC*DEF *A*BC*D*A*BC*D *A*BF*A*BF *DE*DE ++ Deler av ID (her D samt A,B) bestemer entydig ikke-ID-kolonner (her E samt F). Altså er det brudd med 2NF (og derfor også 3NF). Lager tabeller med alle mulige delmengder av ID-kolonnene sammen med alle ikke-ID-kolonner som er direkte eller indirekte avhengige av disse nevnte ID-kolonnene. Denne omgjøringen fører her direkte til både 2NF og 3NF (3NF fordi vi her ikke har noen avhengighet mellom ikke-ID-kolonner.

13 02 j) AB*CDE*F*GHIJKAB*CDE*F*GHIJK Deler av ID bestemer entydig ikke-ID-kolonner. Altså er det brudd med 2NF (og derfor også 3NF). Lager tabeller med alle mulige delmengder av ID-kolonnene sammen med alle ikke-ID-kolonner som er direkte eller indirekte avhengige av disse nevnte ID-kolonnene. Denne omgjøringen fører til 2NF-tabeller.

14 02 j) B*CDE*F*GHIB*CDE*F*GHI *C*FJK*C*FJK A*C*GA*C*G ++ Alle disse tre tabellene er på 2NF (de to siste også på 3NF). Den første tabellen er ikke på 3NF siden vi har avhengighet mellom ikke-ID-kolonner (D/B, B/H og H/E). Den første tabellen må derfor splittes opp.

15 02 j) *C*FJK*C*FJK A*C*GA*C*G + *CD*F*GI*CD*F*GI B*DB*D *BH*BH E*HE*H Alle disse tabellene er på 3NF


Laste ned ppt "Oppgave 01 1NFFørste normalform ä Hver tabell skal ha en fast postlengde ä Det skal være kun en post-type pr tabell ä Hver post skal ha et eget identifikasjons-felt."

Liknende presentasjoner


Annonser fra Google