![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z zaprojektowaniem struktury bazy danych, gdzie koszt dostawy jest zalezny od kategorii, do ktorej nalezy produkt.
Zalozmy, ze koszt dostawy dla wanien jest nastepujacy: dostawa | platnosc | koszt odbior osobisty | platnosc gotowka | 0 zl odbior osobisty | platnosc przelewem | 0 zl kurier | platnosc przelewem | 100 zl kurier | platnosc za pobraniem | 120 zl dostawa firmowa | platnosc gotowka | 40 zl dostawa firmowa | platnosc przelewem | 40 zl Dla luster: dostawa | platnosc | koszt odbior osobisty | platnosc gotowka | 0 zl odbior osobisty | platnosc przelewem | 0 zl kurier | platnosc przelewem | 20 zl kurier | platnosc za pobraniem | 30 zl dostawa firmowa | platnosc gotowka | 40 zl dostawa firmowa | platnosc przelewem | 40 zl Produkt moze nalezec do kilku kategorii, wiec majac w koszyku kilka produktow z kilku kategorii, system powinien naliczac najwyzszy koszt dostawy, tzn. jesli klient zamowil lustro, dozownik i wanne koszt dostawy dla kuriera, platnosc przelewem powinien wyniesc 100 zl. W tej chwili mam tabele shipments, ktora przechowuje id, nazwe dostawy i jej koszt. Oprocz tego tabele platnosci: id | shimpment_id | name Platnosci sa polaczone z dostawami relacja wiele do jednego. Oprocz tego jest stworzona tabela laczaca, shimpents_categories, ktora przechowuje id dostawy i id kategorii. Na chwile obecna bedzie bardzo duzo mozliwosci wyboru dostawy i platnosci, kategorii jest 100 i zastanawiam sie, czy da rade jakos to wszystko uproscic. W koszyku musze sprawdzac kazdy produkt do jakiej kategorii nalezy, wybrac najwyzszy koszt dostawy dla niego z tabeli shipments, sprawdzic pozostale produkty i dopiero na samym koncu obliczyc finalny koszt dostawy. Jak widac, sporo jest operacji. Czy ktos z Was moze zaproponowac jakies bardziej optymalne rozwiazanie? Moze jakis inny model relacyjny? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:21 |