webForumDet fria alternativet

Relationer?

3 svar · 175 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001789 inlägg
#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

LarsGMedlem sedan dec. 200012 465 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.

------------------
essentitia preter non sans multiplicandum

GrodanBollMedlem sedan sep. 2001789 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 :)

LarsGMedlem sedan dec. 200012 465 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.

------------------
essentitia preter non sans multiplicandum

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb