Kan någon förklara på ett enkelt sätt vad skillnaden mellan primära och främmande nycklar?
En primär nyckel är ett unikt värde i en kolumn i en tabell som används för att koppla samman en eller flera rader i en annan tabell (sekundär nyckel).
Exempel, en tabell med företag och en tabell med anställda. Ett företag kan ha många anställda... då har varje företag ett unikt id som är din primärnyckel och samma id används sedan i tabellen med dina anställda för att du ska veta på vilket företag den anställde arbetar på. Samma id på båda ställena alltså, men i tabellen anställda kan ju samma id förekomma flera gånger eftersom ett företag kan ha många anställda = sekundär nyckel. Det är alltså en teknik för att bestämma relationen mellan tabellerna.
Nej, en primärnyckel P är en eller flera kolumner som tillsammans unikt identifierar en rad i en tabell T. En sekundär nyckel har samma egenskaper som P, men har valts bort som primärnyckel i T till förmån för P.
En främmande nyckel är inte detsamma som en sekundär nyckel. En främmande nyckel i tabell U refererar till en annan tabells primärnyckel, men behöver inte vara - och är oftast inte - kandidatnyckel i U.
Nu har jag försökt göra en databas med primär nyckel och främmande nyckel.
Databas för biografer och deras filmer har jag kallat det jag har skissat.
Vad jag inte förstår är:
Ska jag skapa en primärnyckel som jag kallar ID+ tabellens namn?
Eller kan respektive tabell ändå fungera eftersom de har fått en främmande nyckel som referens till primär nyckeln?
Varje tabell behöver inte ha en primärnyckel, men utan [minst] en primärnyckel kan tabellerna inte indexeras - vilket [oftast] leder till sämre prestanda i dina applikationer då sökningar i tabellerna kommer att ta längre tid.
Relationerna mellan de tilltänkta tabellerna ser inte alldeles rätt ut. Fundera på vilka entiteter som hör ihop; i din skiss verkar alla (utom Bio då förstås) vara direkt relaterade till Bio och det är väl inte riktigt korrekt.
254 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9