[MySQL] struktura bazy, system oceniania |
[MySQL] struktura bazy, system oceniania |
1.05.2008, 00:44:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) |
Witam
Mam problem z zaprojektowanie struktury bazy w taki sposób aby można było głosować na dodany materiał. Głosować mogą tylko zalogowaniu użytkownicy. Nie mam pomysłu jak zaprojektować tabele żeby nie było redundacji danych w tej chwili ma ona taką postać i działa wszystko dobrze oprócz głosowania, czy mogłby ktoś podsunąć pomysł z tabelą do głosowania. obecnie tabela marks ma przechowywać głosy ale chyba jednak nie pasuje do tego ps. to może ktoś ma jakiś link do stronki gdzie jest przedstawiony podobny problem, jak powinna wyglądać tabela takiego systemu co przechowuje oceny?? Ten post edytował bliitz 3.05.2008, 14:28:01 -------------------- |
|
|
5.05.2008, 20:50:45
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Czy ja dobrze rozumiem user może głosować na record, tak?
No to masz tabelę user_id record_id ocena UNIQUE( user_id, record_id ) Jeśli to ma być szybkie, to dodajesz statystyczną tabelę, z głosami na poszczególne pozycje i co jakiś czas aktualizujesz, bo wyliczanie średniej za każdym razem zabije serwer. (chyba że ja nie rozumiem problemu) -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
6.05.2008, 00:29:45
Post
#3
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) |
tak user może głosować na record, ale jak powinna wyglądać ta tabela oceny, bo to musi być tabela czy ustawić to jako pole w tabeli records, ale wtedy gdzie zapisywać ilość głosów oddanych i jak zablokować możliwość ponownego głosowania przez tego samego użytkownika?
-------------------- |
|
|
6.05.2008, 06:42:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Przecież podałem jak ma wyglądać taka tabela?
Masz w niej id record, user i ocenę jaką wystawiła ta osoba na ten record. Ile głosów na dany record to
tu na record o id = 1. Masz też informację kto głosował na co. Cały problem to wydajność, ale na to są już różne rozwiązania. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
6.05.2008, 10:13:10
Post
#5
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) |
ok, a ta tabela statystyczna o której wspomniałeś wyżej i "wyliczanie co jakiś czas" czyli trzeba użyć crona do tego? czy jakiś inny sposób żeby sumowanie odbywało się co jakiś czas?
-------------------- |
|
|
6.05.2008, 11:14:13
Post
#6
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Można Crona, można trigger ale to przy małym obciążeniu, można też to i to, czyli triggery które robią z grubsza, wiedzą ile było głosów i jak jest średnia więc mogą aktualizować na tych informacjach, z małą dokładnością, ale wynik miej więcej będzie od razu widoczny, a Cron potem zlicz dokładniej.
(bo mi nic nie wiadomo o tym aby odpalały się jakieś rzeczy automatycznie co jakiś czas na bazie) -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 02:50 |