j0achim Skrevet 24. august 2009 Del Skrevet 24. august 2009 (endret) Hei hei, Skal lage en bruker database i MySQL, i seg selv en enkel oppgave. Men den skal være dynamisk. Dette er hvordan jeg ser for meg at den skal fungere: Tabell: user Kolonner: id (int 9), username (char 25), password (char 32) Og i stedet for å lage XX antall kolonner for andre atributter så lager jeg en tabell nummer 2, hvor jeg lagerer Attributt XX som static, og verdi som value. Tabell: user_attributes Kolonner: id (int 9), user_id (int 9), static (char 50), value (char 50) eksempel: Logger inn henter UserID: 1,j0achim,md5_string_her Henter verdier som om konto er aktiv etc etc... 1,1,active,1 2,1,login,unix_time_stamp_her ... Dette er også for å slippe å ha en eventuell tabell med 100 kolonner å holde styr på. Det jeg lurer på er dette en effektiv måte å lage en tabell struktur hvor en bruker kansje bare har 5 - 6 attributter menst en annen kan ha 50-60? Noen tips til hvordan jeg kan gjøre det på en raskere måte? Målet er å ha noen tusen brukere og det kan fort bli mere enn 50 forskjellige "kolonner". Endret 24. august 2009 av j0achim Lenke til kommentar
kaffenils Skrevet 24. august 2009 Del Skrevet 24. august 2009 Det jeg lurer på er dette en effektiv måte å lage en tabell struktur hvor en bruker kansje bare har 5 - 6 attributter menst en annen kan ha 50-60? Det er mye mindre effektivt ytelsesmessig enn å ha alt i en tabell, evt. å splitte i noen få tabeller. Nå vet ikke jeg hvilke kolonner det er snakk om så det er vanskelig å komme med anbefalinger. Uten å vite noe særlig mye mer så så ser jeg også for meg at det blir lett mer komplekse spørringer og litt mer komplekst med presentasjon av dataene på klientsiden. Komplekst er selvfølgelig veldig relativt. Lenke til kommentar
duckers Skrevet 24. august 2009 Del Skrevet 24. august 2009 Det avhenger jo av hvilke attributter som er aktuelle i tabellen. Dersom det for noen brukere er aktuelt å ha 5 telefonnummer, mens ander ikke har noen kan feks telefon skilles ut i en egen tabell: id (int 9), user_id (int 9),telf_nr(int 9) Men som kaffenils nevner, å søke gjennom mange tabeller tar ekstra tid. 1000 brukere er ikke mange, så kanskje er det mer lønnsomt å lagre alle attributtene i en tabell. Lenke til kommentar
j0achim Skrevet 24. august 2009 Forfatter Del Skrevet 24. august 2009 Takk for innlegg Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå