Piszę sobie właśnie skrypt do oceniania. I teraz pytanie, jak stworzyć optymalną bazę danych. Najprościej wyglądałoby to tak: id, id_obiektu, id_oceniajacego, ocena; Takie coś zapewni mi dostęp do najważniejszych informacji, jak kto co oceniał oraz jak oceniał. Niestety rozmiar takiego cuda będzie rosnąć wykładniczo. Ma ktoś może jakiś lepszy pomysł?
Pewnie masz racje. Ale chciałem jeszcze usłyszeć odpowiedź kogoś “z zewnątrz”, żeby się upewnić, czy nic nie przeoczyłem rysując różne układy tabelek No ale jeśli ktoś dozna cudownego oświecenia, to zapraszam.
W niektórych przypadkach warto tabele Ocena podzielić na tyle tabel ile może być rożnych ocen. Wtedy do jednej z nich trafia rekord (id_obiektu,id_oceniajacego), ale przemyśl to kilka razy zanim zastosujesz.
Jedyną fajną sztuczkę jaką znam jest tableka: id_obiektu, ocena, ile_razy_wystawiona, (klucz: id_obiektu, ocena). Powoduje, że rozmiar tabelki ma tylko ilosc_mozliwuch_ocen*ilesc obiektow. Ale taka tabelka nie trzyma oceniajacego i jego oceny. Myślę, ze pomysł alexa mógłby się sprawdzić w małej bazie, ale w dużej to już będzie nie do opanowania.