Janusze
26.04.2011, 19:19:46
Zaprojektowałem bazę najprostszego sklepu internetowego i chciałem zapytać jakie błędy popełniłem?
Wersja 1:
http://k.min.us/ilj1R4.pngWersja 2:
http://k.min.us/in4h0q.pngDzięki!
pmir13
26.04.2011, 21:38:48
1. Trochę trudno jest mi wyobrazić sobie w dzisiejszych czasach sklep, który nie ma zagnieżdżonych kategorii produktów.
2. Jeśli tabele nie są ze sobą w relacji, po co używasz PFK? Rozumiem że to ma być primary foreign key, czyli raczej coś co służy do jednoznacznego określania rekordu z innej tabeli, z którą dana tabela jest w relacji.
3. Jeżeli możemy powiedzieć, że prawdą jest iż w jednym zamówieniu może być wiele różnych produktów oraz jeden produkt może być wykorzystany w wielu zamówieniach, to wtedy jest to relacja wiele do wielu. Nie widzę na tym diagramie żadnej tego typu relacji. Ewentualnie koszyk-produkt są w ten sposób połączone przez pośrednią tabelę zamówienia, ale wtedy nie jest to zbyt fortunna nazwa. Bardziej pasowałaby nazwa w stylu pozycje_koszyka, natomiast zamówienia powinny być gdzie indziej. Nie każdy koszyk idzie do zamówień, klient może się rozmyślić. Zamówienie może składać się z kilku koszyków, w których w środku są produkty. Czyli bardziej coś w stylu produkt -< pozycje_koszyka >- koszyk >- zamówienia
Janusze
26.04.2011, 23:57:30
@pmir13, czy o to chodziło?
Dodałem jeszcze tabelę z meta tagami, link w pierwszym poście.
elektrrrus
27.04.2011, 07:07:48
Dalej jest źle, nie rób sztywnego powiązania kategorii z produktem, dalej nie jest to elastyczne. Musisz zrobić klucz obcy wiązany z kategoriami w osobnej tabeli, tak samo metatagi. Pozatym drzewko kategorii warto zrobić w pełnej strukturze drzewa np. nested set albo drzewa depesza, zamiast ograniczać się do hierarchii kategoria-podkategoria.
Janusze
27.04.2011, 16:45:59
@elektrrrus, przyznam szczerze że niebyt rozumiem o co chodzi z tym sztywnym powiązaniem... Może
coś takiego?
Z drzewem kategorii to dam sobie chyba spokój, bo tak jak mówiłem wcześniej mikrosklep wymaga tylko jednego poziomu kategorii.