Gå til innhold

Anbefalte innlegg

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 av j0achim
Lenke til kommentar
Videoannonse
Annonse
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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...