Avatar billede qqq Nybegynder
04. september 2005 - 23:40 Der er 5 kommentarer og
1 løsning

Relationer, primær, fremmednøgler osv.

Hej, måske er dette et dumt spørgsmål. Men jeg har i længere tid undret mig over hvorfor man ved design af databaser opretter relationer, nøgler osv. Hvad bruges dette til? Mig bekendt kan man selv uden disse foretage joins, forespørgelser på tværs af tabeller mv.

Er det kun for overskueligheden, eller er der en reel mening forbundet med det?
Avatar billede arne_v Ekspert
04. september 2005 - 23:44 #1
en primær nøgle sikrer at der er ihvertfald en måde at identificere en række på

du kan godt joine på felter uden at have en fremmed nøgle, men en contraint med
en fremmed nøgle sikrer at der er en værdi at joine på

person
------
navn,PK
adresse
postnr

post
----
postnr,PK
by

virker fint men du kan godt indsætte en række i person med et postnr som ikke
eksisterer i post tabellen

person
------
navn,PK
adresse
postnr,FK->post.postnr

post
----
postnr,PK
by

så undgår du det
Avatar billede arne_v Ekspert
04. september 2005 - 23:44 #2
[jeg håber du kan læse min notation]
Avatar billede ldanielsen Nybegynder
06. september 2005 - 13:59 #3
Et andet eksempel er en butik. hvis du har en vare, som du gerne vil slette, så vil det være forkert at gøre det hvis der findes en ordre der indeholder den vare. Igen kan FK'er forhindere at det sker.
Avatar billede claesdamlund Nybegynder
06. september 2005 - 23:57 #4
I Idas eksempel forhindrer fremmednøglen også at primærnøgleværdien (f.eks. varenummer i hendes eksempel) ændres, hvis den eksisterer som fremmednøgleværdi. Begge dele kan dog omgåes i databaser som understøtter Cascade Actions af typen Update og Delete på fremmednøglen.
Avatar billede qqq Nybegynder
28. marts 2006 - 21:06 #5
Jeg kan se at jeg helt har glemt dette spørgsmål - undskyld.

Venligt læg et svar, I der vil have point.
Avatar billede arne_v Ekspert
28. marts 2006 - 21:24 #6
.
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