webForumDet fria alternativet

Databas design fråga.

Webbutveckling

6 svar · 305 visningar · startad av Nson

Medlem sedan juni 2001145 inlägg
Frågan#1
Medlem sedan jan. 2004501 inlägg
#2

Om de bara kan vara ensama eller par är det mycket effektivare att ha två fält i tabellen med könID som sedan kopplar mot en könTabell. Så är det bara att köra en select för varje användare.

Medlem sedan maj 20018 027 inlägg
#3

Jag tycker du verkar ha komplicerat allting. Varför ha en tabell för kön? Det räcker ju med att ha en kolumn i användartabellen, där det kan vara tex 1 eller 2, beroende på kön. Det lär ju inte ske några biologiska revolutioner som ställer könsdefinitioner på ända.

För att lösa par-frågan, skulle du kunna ha en till tabell över inloggningsid. Den kan du referera till från användartabellen. Då klarar du även polygama förhållanden. ;)

Jag tänker mig något i den här stilen:

Användare
--------------
id userID(FK till user) kön(1 eller 2) samt annan data du vill ha

User (som man loggar in som, eller medlemsnummer eller vad det nu är)
---------------
userID(refererad till från användartabell)

Medlem sedan juni 2001145 inlägg
#4

UlfT, tanken är att jag vill splitta upp databaserna så mycket det går. Då jag har fått den informationen att detta är det bästa sättet att bygga databaser.

Medlem sedan juni 200032 967 inlägg
#5

Det låter inte så bra att übernormalisera där det inte behövs.
Ska du ha kön i en egen tabell är det ju lika bra att du bryter ut alla fält, och bara har ett användarid. Det är ju flera som heter Peter, så förnamnen kan man ha i en egen tabell?

Normalisering är bra, men onödigt om det inte behövs.

Medlem sedan feb. 20043 inlägg
#6

Varför inte skapa en tabell PARTNER som innehåller kolumnerna

ID
KÖN
NAMN
PARTNERID

Du kan ju sedan ställa sqlfrågan
select namn from partner a, partner b where a.idnr = b.partnerid and b.partnerid > ' '

Medlem sedan feb. 20043 inlägg
#7

Splitta info mellan tabeller skapar onödiga svarstider !!!

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)