Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL][SQL]Ocenianie produktów - relacje między tabelami
mattix19
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 11.07.2010

Ostrzeżenie: (0%)
-----


Witam,
tworzę serwis z opiniami produktów. Robię to czysto dla nauki programowania i sql dlatego jako początkujący mam problem z relacjami w bazie. Otóż serwis według moich założeń ma pozwalać na kategoryzowanie produktów ich opinię przeż użytkownika raz dziennie oraz dodawanie produktów. Dlatego stworzyłem sobie taką oto struktórę bazy:
<soon>
tabela kategorii zawiera implementację drzewa nesed set. Mój problem natomiast jest taki czy połączone relacje są prawidłowe oraz jaką relacją połączyć użytkowników? Głowię się również jak rozwiązać problem jednorazowego opiniowania czy dodać tabelę z adresami ip czy możę lepiej będzie zrobić to na plikach?

Ten post edytował mattix19 10.07.2012, 17:07:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ogólnie schemat wygląda nieźle. Niepotrzebnie jednak w tabelach opinions i photos masz pole z kategorią produktu. To redundancja, ta informacja wynika już z tabeli products.

Co do użytkowników do opinii, to występuje tu relacja jeden do wielu. Jedna opinia jest napisana przez jednego użytkownika, ale jeden użytkownik może napisać wiele opinii. Jeżeli nie chcesz, by Jan Kowalski napisał więcej niż jedną opinię do produktu Baton Mars, to w tabeli opinions, na grupę pól product_id i user_id musisz nałożyć indeks UNIQUE.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 23:51