Avatar billede Mik2000 Professor
08. februar 2012 - 00:07 Der er 4 kommentarer og
1 løsning

Giv stjerner

Hej

Hvordan er det smartest at lave en database struktur til et system hvor en bruger kan give stjerner til en artikel?

Min tanke er noget i stil med:
id
artikel_id
bruger_id
antal_stjerner

Men ser også problemer her, for hver gang man skal vise antal stjerner, så skal den hente ligeså mange poster som der er antal personer der har givet stjerner.

Alternativt tænkte jeg på noget med
id
artikel_id
antal_pers
antal_stjerner_ialt

Dette kunne også bygges direkte ind i tabellen med artikler.
Men her kan man ikke vise hvad en given bruger har stemt, og det er også sværre at sikre en bruger ikke stemmer flere gange.

--------------------------

Hvordan vil I gøre - hvad er smartest og hvad er mest normalt?
Avatar billede Slettet bruger
08. februar 2012 - 00:34 #1
Det giver sig selv. Du er nødt til at logge hvad den enkelte bruger har stemt, og evt. give ham mulighed for at ændre sin stemme.
Hvis du har rigtig mange brugere og det giver problemer med performance, må du gøre begge dele.
Avatar billede Mik2000 Professor
08. februar 2012 - 01:05 #2
Problemet er at med ca 2500 artikler og ca 5000 brugere kan det blive til rigtig mange poster.
Værst tænklige scenarie hvis alle voter på hver eneste: 2500 x 5000 poster = 12.500.000 poster.
Ved godt det er usandsynligt, men det er nok ikke usandsynligt at 2000 brugere rater i gennemsnit 50 artikler, og dermed ender med 100.000 poster

Derfor spørger jeg også til om der er andre måder at gøre det på end ovenstående.
Kunne jo forstille mig man også kunne gøre noget med at gemme i cookie mv.
Og der er sikkert også ting jeg ikke lige tænker over
Avatar billede Wally1973 Praktikant
08. februar 2012 - 04:37 #3
1 million poster af den type er typisk ikke et problem for selv en simpel database, hvis bare tabellen er indekseret rigtigt.

Den typiske flaskehals er når man skal have mange data ud af databasen, men her skal du rent faktisk ikke have andet ud end nogle få summe af kolonner i tabellen.
Avatar billede Mik2000 Professor
17. februar 2012 - 17:54 #4
Okay, jeg søgte nok mere lidt hjælp til struktur, men går videre med det jeg skrev så :)
Avatar billede Mik2000 Professor
17. februar 2012 - 17:55 #5
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester