Avatar billede chr.kj Nybegynder
26. maj 2009 - 10:03 Der er 5 kommentarer og
1 løsning

Spørgsmål til Normalisering (2NF)

Jeg har nu læst forskellige guides der findes her på eksperten og det har hjulpet mig en god del af vejen, men jeg i tvivl om jeg har forstået det korrekt og har derfor brug for lidt hjælp til om denne tabel er normaliseret korrekt.

Som jeg har forstået det kigger vi kun på sammensatte nøgler ved 2NF - Tabeller der ikke består af sammensatte nøgler opfylder automatisk 2NF.

Jeg har en tabel der består af følgende attributter:       
Udstyrs_id (Nøgle)
Udstyrs_navn (Nøgle)
Pris   
Sstart_tid   
Sslut_tid       

Som jeg har forstået det skal alle attributter være afhængig af primærnøglen og jeg har fundet frem til at attributterne Sstart_tid og Sslut_tid ikke er afhængig af primærnøglen da disse indeholder værdier som fortæller om booking tidspunktet for start og slut - Er det korrekt forstået?

Jeg vil derfor splitte tabellen op på følgende måde:
Udstyr:
Udstyrs_id (Nøgle)
Udstyrs_navn (Nøgle)
Pris   

Udstyrs_booking:
Sstart_tid   
Sslut_tid
Udstyrs_id (Nøgle som også er en FK til Udstyr)

Altså min ny tabel Udstyrs_booking indeholder nu start og slut tidspunkt for booking af udstyret og samtidig har jeg taget en del af den sammensatte nøgle fra Udstyr (eller skal man tage hele nøglen og føre med over, eller er det valgfrit?), som er Udstyrs_id og har tilføjet den til Udstyrs_booking som primærnøgle.

Er det korrekt forstået?
Avatar billede arne_v Ekspert
27. maj 2009 - 01:08 #1
Nej.

:-)

Mit forslag:

udstyr
------
id,PK
name (ikke PK da id er nik til at identificere udstyret)
pris 

booking
-------
id,PK
udstyrid,FK  (fordi der kan kan være flere bookninger af samme udstyr bare tiden er forskellig)
starttime
endtime
Avatar billede arne_v Ekspert
27. maj 2009 - 01:09 #2
Normaliseringsmæssigt kunne du droppe booking.id og lade de 3 andre felter være en delt PK.

Men det bliver du hurtigt træt af !
Avatar billede chr.kj Nybegynder
27. maj 2009 - 09:06 #3
Hej Arne.

Jeg kan se at jeg var/er inde på noget at rigtige :)

Er det ikke korrekt fortolkning af de 3 første normalformer:
1) Se på sammesatte attributter (multiværdi)
2) Se på felter med to eller flere primærnøgler
3) Se på transaktiv afhængighed

Smid et svar og tak for hjælpen arne :)
Avatar billede arne_v Ekspert
27. maj 2009 - 18:18 #4
1) yes
2) yes and no, se på afhængighed (multi felt primærnøgler er specielt interessante)
3) yes
Avatar billede arne_v Ekspert
27. maj 2009 - 18:18 #5
og svar
Avatar billede chr.kj Nybegynder
27. maj 2009 - 19:28 #6
Men kigger man ikke kun på tabeller med to eller flere primærnøgler, altså tabeller der kun har 1 primærnøgle opfylder allerede 2 normalform - Er det ikke korrekt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester