Avatar billede foxmulder58 Praktikant
16. januar 2006 - 20:06 Der er 5 kommentarer og
1 løsning

Nødvendigt med primærnøgle

Hej eksperter,

hvorfor er det egenligt nødvendigt med en primærnøgle i en tabel i en MySQL database, også selvom tabellen ingen relationer har?
Avatar billede Slater Ekspert
16. januar 2006 - 20:48 #1
Er det da det?
Jeg bruger stort set aldrig primærnøgler, og har ingen problemer.
Avatar billede mahler Nybegynder
16. januar 2006 - 20:50 #2
Det er som sådan ikke nødvendigt. MySQL og andre databaser kan fungere fint uden.
Primær nøgler er en god ide i forhold til database disciplinen, og fortæller noget om dine data - nemlig hvad der (typisk) er den entydige identifikator.

Det behøver dog ikke at være et tal (et id-felt, der auto_incrementes). Jeg har i flere tilfælde haft kombinationer af felter som primærnøgle, datoer og andet, hvor jeg kunne være sikker på (i kraft af datamodellen og formålet med data), at det var den unikke nøgle til tabellens rækker, jeg havde fat i.
Avatar billede foxmulder58 Praktikant
16. januar 2006 - 21:43 #3
hej mahler du virker som en der er dygtig til relationer. Kna du hjælpe mig med at forklare denne model lidt nærmere:

http://www.netau.hotserv.dk/relationer/

Jeg mangler lidt hjælp til hvorfor relationerne er kopieret ud som de er.


mvh
Mads


Tak for hjælpen begge 2. Jeg synes så ost om dit svar mahler at jeg tilføjer dig disse point.


mvh
Mads
Avatar billede foxmulder58 Praktikant
16. januar 2006 - 21:45 #4
Det er denne tråd jeg søger hjælp til.


mvh
Mads
Avatar billede mahler Nybegynder
16. januar 2006 - 22:05 #5
På eksemplet er relationer trukket ud for at ophæve mange til mange relationer.

En film kan være i mange genrer og hver genre kan have mange film i sig.
Hvis "mellemtabellen" (film_genre og film_skuespiller) ikke fandtes, kunne hver film kun være i en genre (eller hver genre kun være knyttet til en film).

I tabellen film_genre er kombinationen mellem film og genre unik (en kombineret primærnøgle om du vil), og denne sørger for at der på ordentligt vise kan være flere film i hver genre og omvendt flere genrer til hver film.  Det samme princip gør sig gældende for film_skuespillere.
Avatar billede arne_v Ekspert
16. januar 2006 - 23:20 #6
det er en forudsætning for rigtige relations databaser at der er en primær nøgle

mange databaser tillader at man undlader det

med deraf følgende mange katastrofer til følge når folk undlader det

det er altid godt at have noget som unikt identificerer en enkelt række

derfor : altid primær nøgle
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