Zapis ocen w osobnych tabelach
Osobne tabele (artrates, filerates, imgrates) będą zawierać pola:
Kod
ID pozycji | ocena | user | IP
1 ocena = 1 rekord. Pole USER będzie wypełniane w przypadku możliwości oceniania tylko przez zarejestrowanych, zaś IP - gdy ocenę będą mogli wystawiać również goście.
W przypadku większych serwisów tabele mogą zawierać dużo rekordów.
1000 ocen * 100 artykułów = 100 000 rekordów
Użytkownicy będą mogli poprawić swoją ocenę.
Zapis tylko ostatniego IP
Prawdopodobnie tak jest w Mambo (wynika to ze struktury tabeli). Każda pozycja (np. artykuł, plik) = 1 rekord. Tu by nawet wystarczyła 1 tabela (jednak 1000 pozycji = 1000 rekordów), choć można zrobić podział podobnie jak wyżej. Pola:
Kod
ID pozycji | średnia | ilość ocen | ostatni IP
2 użytkowników o innych IP może głosować w nieskończoność (nawet zmieniając ID sesji).
Rozwiązanie pośrednie
Podobnie jak wyżej, lecz zapisywanych będzie kilka adresów IP bądź ID użytkowników w ostatnim polu tabeli. Można ją np. ustalić w ustawieniach.
Które z nich jest najlepsze? Ważne, by sposób był sprawny również w większych serwisach.