Formularz "telefoniczny" przeprowadzany przez konsultanta sprzedaży jabłek zawiera następująco:
Klient - (Imię, Nazwisko, telefon kontaktowy i adres email)
Produkt do wyboru (jeden z 3 lub 4) (np. Jabłka czerwone, jabłka zielone, jabłka z brzydką skórką)
Każdy produkt posiada swoją podklasę: np. Jabłka czerwone z ogonkiem i listkiem, jabłka czerwone z ogonkiem ale bez listka, jabłka czerwone z listkiem ale bez ogonka.
Oczywiście w danej podklasie, jabłka z ogonkiem i listkiem kosztują np:100 zł/kg, ale jabłka z ogonkiem bez listka 150zł/kg a bez listka i bez ogonka 70 zł/kg.
Analogicznie dzieje się w przypadku jabłek zielonych i jabłek z brzydką skórką.
Klient może zażądać oferty wyłącznie na jeden produkt (np. tylko jabłka czerwone), ale wśród czerwonych może mieszać. (np. 10 kg jabłek z listkiem i ogonkiem, 5 kg bez listka ale z ogonkiem, i 2 kg bez listka i ogonka)
Dodatkowo, klient może chcieć aby doliczyć mu do oferty usługi komplementarne tj. mycie jabłek, odważanie, pakowanie, oklejanie specjalną naklejką i woskowanie.
Transport lub brak transportu. Klient decuduje, jeśli decyduje się na transport podaje odległość do oferty i kalkulacji.
Co ma się dziać dalej. Całość zapytań ma wylądować w bazie.
Dodatkowo, ma przeliczyć i przechować w bazie kalkulację, dalej przygotować pdf i umożliwić wysyłkę szkicu oferty do klienta za pomocą danych zebranych podczas składanego zapytania.
I tak sobie wykombinowałem, że:
Baza system_ofertowy zawiera tabele:
Klienci (id, imię, nazwisko, telefon, mail)
Produkty (id, nazwa, podklasa, cena za kilogram)
Usługi (id, nazwa, cena_usługi)
Oferta (id, id, klienta, ilosc produktu ogólem, podklasaA_ilość, podklasaB_ilość, podklasaC_ilość, cenaA, cenaB, cenaC, Wartość CenyA, Wartość CenyB, Wartość CenyC, .... wartość usługiA, usługiB, usługiC, ilość usługA, ilość usługB.
Oraz wartość całkowitą oferty.)
Nie wiem czy nie przekombinowałem.... dlatego bardzo proszę o pomoc.
Teraz pytanie, czy jest sens Tworzyć tabelę klienci, skoro wymusi to przed dodaniem klienta sprawdzenie czy nie istnieje w bazie.
Jak już z klientów rezygnujemy, to może lepiej opisać wszystkie produkty i stworzyć jedną tabelę. Logika jednak podpowiada by to rozdrobnić.
Jak Wy byście to widzieli?
I taka refleksja na sam koniec że niby to tylko sprzedaż jabłek, a jak można skomplikować sobie życie
