Avatar billede madiedk Nybegynder
14. november 2008 - 20:02 Der er 5 kommentarer og
1 løsning

hvorfor autonummering til primær id

Hej

Når man designer en database har jeg set at nogle anbefaler man bruger surrogatekey og ikke naturalkeys som primær nøgle.
jeg har lidt svært ved at se hvad fordelen ved at have en surrogate key er. Hvis man har naturalkeys kan man jo bruge den som søgekriterie, det er vel svært ved surrogate key!? hvad er fordelen så?
Avatar billede arne_v Ekspert
14. november 2008 - 20:33 #1
Fordelen er at man aldrig viser en surrogate key til brugerne og derfor skal den aldrig aendres.

Hvis du nummererer dine brugere 1, 2, 3, ... og aldrig viser nummeret i applikationen
saa vil du aldrig opleve at at nogen skal aendres fra 777 til 779.

Natural keys er kendte af brugerne og skal derfor aendres en gang imellem.

Folk tager navneforandring og faar nyt telefonnummer for et godt ord. Hvis folk faar en koensskifte operation
skifter de CPR nummer o.s.v..

Og det kan vaere tricky at aendre en primary key hvis der er mange foreign keys som
peger paa den.
Avatar billede arne_v Ekspert
14. november 2008 - 20:34 #2
Ioevrigt er jeg ikke imod brug af natural keys. Vaelger man en god, saa er problemerne
ikke stoerre end at man kan loese dem.
Avatar billede madiedk Nybegynder
20. november 2008 - 14:18 #3
jamen hvorfor så overhoved have en primær nøgle i de tilfælde. Hvis jeg har en tabel med disse 4 felter: afdeling, beløb, fradato, tildato.
Hvor at samme afdeling og beløb sagtens kan opstå flere gange bare med forskellige tildato og fradato og nogle gange vil der stå null i tildato og fradato hvis de ikke er kendte. Der er eneste mulighed at have en surrogate primærnøgle f.eks. autonummering. men hvad kan den bruges til så i forhold til ikke at have nogle primær nøgle?
Avatar billede arne_v Ekspert
20. november 2008 - 14:56 #4
Det er en doedssynd ikke at have en primaernoegle. Det er altid godt at
have en unik identifikation af en raekke. Ellers kan man ikke garantere at
man kan hente en bestemt raekke med en query.
Avatar billede madiedk Nybegynder
18. december 2008 - 23:54 #5
okay tak. hvis det er den eneste grund i det tilfælde. smid et svar
Avatar billede arne_v Ekspert
19. december 2008 - 00:30 #6
kommer her
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