22. januar 2016 - 11:50Der er
5 kommentarer og 2 løsninger
create table, når bruger oprettes
Hejsa.
Jeg er lidt i tvivl om hvordan man skal gøre følgende. Jeg er i gang med at lave en hjemmeside. Hver bruger på siden har sin egen database. Det betyder når en bruger opretter sig som bruger, skal der oprettes en database til denne bruger.
I databasen er der tre tables, som skal oprettes sammen med brugeren. Men hvordan gør man det rent praktisk.
Er det noget med at når man opretter sig som bruger og trykker "Submit", så
Ja, det ville være noget i den stil. Men vi er nok lige nødt til at spørge hvorfor hver bruger skal have sin egen database. Det er muligt det er gennemtænkt, men jeg har aldrig hørt noget lignende før, og det lyder umiddelbart som et design der kunne gøres bedre og nemmere.
Når i siger det, så VED jeg det er rigtigt :) Jeg skal tænke i helt andre baner så.
Jeg skitserer lige hurtig et eksempel op af en db:
user
u_id (PK, AI) user(varchar) password(varchar)
game:
g_id(PK, AI) flips(INT)
Hvis man betrager 'flips', som plat eller krone. Denne column kan sagtens have 20.000 values pr bruger. Hvis jeg skulle være helt ærlig, så havde jeg faktisk tænkt at hvis der var 2000 brugere, så skulle den løbe hele column 'flips' igennem, se at bruger x have 20.000 values, og returne de values til bruger x
Det vil sige user x kan via en query gå igennem se hvor mange gange krone har været der, og hvor mange gange plat har været der. Men det tænker jeg helt forkert så?
Det vil sige at HVER bruger får HVER deres column 'flips', så databasen kun går igennem bruger X column, ikke?
Med mindre jeg misforstår, så lyder det som et ret almindeligt setup. Altså, du skal have et antal brugere, og hver bruger skal kunne have et vilkårligt antal plat/krone slag tilknyttet?
Så skal du bare have en brugertabel med et unikt id (PK, AI som du selv siger), og en flips tabel med et bruger-id der relaterer til brugertabellen, samt flips og eget id.
Så længe du husker at sætte et alm. index på user_id i flips tabellen (og så længe den er et tal, ikke en streng) så kan alle moderne RDB'er sagtens håndtere adskillige millioner rækker, og at søge i dem med en "select from flips where user_id=?" (eller joine den på brugertabellen for at få navnet med det samme).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.