webForumDet fria alternativet

Unikt ID som primärnyckel eller ej?

Databaser & SQL

5 svar · 293 visningar · startad av Compusa

Medlem sedan jan. 20023 327 inlägg
Frågan#1

Jag undar om man som regel alltid skall ha ett unikt ID som en primärnyckel i en tabell. Ett exempel: Jag har en tabell med länkar...

LÄNKAR
namn
url
kommentar

Kombinationen namn och länkar skall vara unik i tabellen och på så vis har jag ju där en unik identifierare genom primärnyckel namn/url. Skall man ändå/istället slänga in ID som primärnyckel? Tex skippa namn/url som primärnyckel och ha det såhär:

LÄNKAR
ID (PK)
namn
url
kommentar

Medlem sedan dec. 19996 522 inlägg
#2

Du kan ju ha namn unique, och id som primärnyckel. Tal är lättare att hantera, samt snabbare att hantera rent generellt. Ska du använda det på webben är det mycket enklare att använda tal som nycklar

Medlem sedan nov. 20022 355 inlägg
#3

Om du sätter in ett id (i ditt senare exempel) så kan du ha samma url med olika namn.. Vill du det?

Medlem sedan dec. 19996 522 inlägg
#4

Det behöver han inte om han sätter namn till unique

Medlem sedan nov. 20022 355 inlägg
#5

Nej, jag kom ju på det efter mitt inlägg, blixten! ;)

Medlem sedan jan. 20023 327 inlägg
#6

Saken är ju den att jag vill inte kunna lagra en sida med samma namn och url (dubblet). Detta betyder ju att namn till sammans med url kan unikt identifiera kommentar. Därav är ju namn och url egentligen en primärnyckel.

Visst jag kan slänga in ett unikt ID som unik kan peka ut namn, url och kommenar men detta känns ju egentligen lite onödigt?

Om jag sätter:
Primary Key (namn, url)
Så måste ju kombination vara unik för att få lagras.

Jag skulle ju även kunna göra så här...
ID INT Primary KEY,
UNIQUE(url)

248 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)