Jag sitter och pillar med en demo-community. Nu undrar jag vad som är mest optimalt, End egen tabell för kompisar eller samma tabell som medlemmar med en egen spalt och separera kompisarna med komma (,) eler liknande tecken. Och om det sistnämda är bäst, hur gör jag då för att updatera, separera varje kompis?
det finns många här som har gjort communitys, någon som vet?
------------------
En sak livet lärt mig är att idioterna oftast har rätt
Jag röstar för att du gör en egen tabell för "kompisar" som kopplas med användarna via användarens ID i användar tabellen.
Kanske blir det mer belastning på din databas-server på detta sätt, om många har inga eller få kompisar, men det blir mycket enklare att programmera (och bättre skalbarhet, som det heter ;) )
säker? vad menar du med skalbarhet? och det blir väll inte så mycket svårare att ta ut om man har det i samma tabell som användarnas inloggnings uppgifter... skall höra mig för med dem som har community´s tror jag
------------------
En sak livet lärt mig är att idioterna oftast har rätt
säker? Ja. Men detta är bara vad jag tycker ;) Du vet bäst, det är din commmunity, och du som skall programmera/underhålla.
Bättre skalbarhet kan i detta fall innebära att om du plötsligt vill lagra mer data är bara "kompis-numret" så är det oftast enklare att lösa det med den separata tabellen.
och det blir väll inte så mycket svårare att ta ut om man har det i samma tabell som användarnas inloggnings uppgifter
Det blir krångligare (om än möjligt), sämre och långsammare om du har kompislistan som en kommaseparerad sträng i användartabellen än om du gör en separat tabell. Det är en garanti.
Om du skulle oroa dig för prestandan säger jag som LarsG brukar göra: Indexera.
------------------ Vaddå HTLM design? Jag e UTVECKLARE för fan! /mrblonde
En ny tabell där du kopplar samman nyckeln och gör en främmande nyckel i Intressetabellen. Exempelvis:
tabKund
id - nyckel
namn - Text
tabIntresse
id - främmande nyckel mot tabKund.id
intresse - text
Det skall vara en 1:N relation och då kan det exmeplvis bli såhär:
5 Golf
5 Innebandy
5 Motorsport
Exempel #1 och #2 är fel att göra.
Exempel #1 bryter mot 1:a Normaliseringsformen och exempel #2 bryter mot 4:e
Det sista exemplet blir det bästa, då det är mycket enkelt att lägga till/ta bort nya poster, och man blir inte beroende av att en kund bara kan ha 3 Intressen.
jepp, håller med. En separat tabell är nästan ett måste. För det blir jävligt bökigt om man t ex vill ta bort en kompis som är t ex i mitten av strängen.