webForumDet fria alternativet
Logga in / Bli medlem

Relationer?

Databaser & SQL

3 svar · 175 visningar · startad av GrodanBoll

Medlem sedan sep. 2001788 inlägg
Frågan#1

Tjo

Ursäkta men här kommer nog den värsta nybörjarfrågan, har antagligen fått hjärnsläpp ;)

Håller på att bygga en db i MsSQL. Jag har byggt upp alla tabeller och allt verkar funka bra när jag frågar.

Men då slog mig.... ska jag inte skapa relationer mellan tabellerna? Men varför, när jag frågar så kopplar jag ju ändå ihop dem jö, så vad ska man ha dem till?
Som sagt har nog fått hjärnsläpp idag :r

Kan någon reda ut det? :q

/Grodan

Medlem sedan dec. 200012 464 inlägg
#2

Relationer (foreign keys) behövs inte för att kunna joina tabeller. De är mer till för att upprätthålla inegritet mellan tabeller.

I de flesta fall så innebär en foreign key att man också skapar ett index vilket i högsta grad är relevant för prestanda.

Medlem sedan sep. 2001788 inlägg
#3

Hej hej

Tackar för svaret :)

Så har man inte typ 10 000-als poster som behöver indexeras för prestandan så behöver man inte lägga in relationerna mellan tabellerna? :q

Eller ska man alltid göra det som en god vara?

Ger det inga andra fördelar?

/Grodan :)

Medlem sedan dec. 200012 464 inlägg
#4

Om du använder foreign keys så får du ju en automatisk kontroll, så att du kan inte lägga till underobjekt om inte huvudobjektet finns och tvärtom, du kan inte ta bort huvudobjektet om underobjektet finns.

Det går ju att kontrollera det själv med triggers/procedurer men det är ju enklare att låta databashanteraren sköta det.

377 ms totalt · 4 externa anrop · v20260731065814-full.05830320
119 ms — deklarationer (db)
120 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)