PizzaFat.sql | ||
README.md | ||
schemat_bazy.png |
Projekt bazy danych pizzerii - PizzaFat
Tutuł projektu: Pizzeria - PizzaFat Autor: Cezary Pukownik Indeks: s444337
Celem bazy danych, jest zapewnienie obsługi pizzerii. Baza danych, pozwala na zbieranie zamówień, tworzenie produktów, śledzenie ilości składników oraz obsługi zakupów.
Diagram związków encji
Model relacyjny (RM)
klucz własny klucz obcy
zamowienia { id, data_zamowienia, id_faktury , id_klienta }
klienci { id, imie, nazwisko, miasto, ulica, nr_domu, nr_mieszkania, nazwa_firmy, nip, }
dostawcy { id, nazwa_firmy, nip, miasto, ulica, nr_domu, nr_mieszkania, }
zamowienia_wiersze { id, zamowienie_id, produkt_id, ilosc, cena, kwota_sprzedazy, koszt, kwota_kosztu, zysk, }
produkty { id, nazwa_produktu, cena, }
produkty_przepisy { produkt_id, skladnik_id, ilosc, }
skladniki { id, nazwa_skladnika, koszt, }
sladniki_transakcje { id, data_transakcji, skladnik_id, zamowienia_wiersze_id, zakupy_wiersze_id, typ_transakcji, ilosc, koszt, cena, kwota_kosztu, kwota_sprzedazy, zysk }
zakupy { id, id_faktury, id_dostawcy, data }
zakupy_wiersze { id, id_zakupu, skladnik_id, ilosc, koszt }
Opis funkcjonalności
- Dodawanie zamówień od klientów
- Dodawanie klientów do zamówienia, aby wiedzieć gdzie dostarczyć zamówienie
- Możliwość dodawanie, firm jako klientów
- Wystawianie faktur, na podstawie zamówień
- Dodawanie produktów do zamówienia
- Kompletowanie zamówień na podstawie bazy produktów
- Definiowanie produktów, na podstawie składników np. Składu Pizzy
- Wycena kosztu pizzy w czasie rzeczywistym, na podstawie cen zakupu składników
- Dodaniewanie składników, do kartoteki składników
- Wprowadzenie faktur zakupowych, oraz ilości zakupionych składników
- Wprowadzenie dostawców składników
- Śledzenie transackji sprzedażowych oraz zakupowch na skłądnikach
Opis logiki bazy danych
Zakup
- Tabelami do których prowadza się dane są tabele [zakupu] i [zakupy_wiersze]. Do tabeli zakupy wprowadzamy ogólne dane o fakturze zakupowej. Do tabeli [zakupy_wiersze] wprowadzamy dokładne pozycje skłądników oraz ich ilość.
- Dostępne skadniki wybieramy z tabeli [skladniki], która wcześniej została uzupełniona on potrzebne skłądniki. W razie braku składniku w kartotece składników, należy go dodać.
- Wybieramy również dostawcę, z tabeli [dostawcy].
- Po zatwierdzeniu faktury, automatycznie wprowadzają się pozycje do tabeli [składniki_transakcje] ze znakiem dodatnim.
Sprzedaż
- Zamówienia są importowane ze strony internetowej, gdzie klienci pizzerii mogą złożyć zamówienie, lub wprowadzane ręcznie przez personel przy zamówieniu telefonicznym oraz osobistym.
- Jesli klient zamawia na dowóz, wybiera się jego adres z kartoteki kleintów (tabela [klienci]), lub zostawia się puste pola w przypadku zamówienia na miejscu.
- Na podstawie zamówienia, system odrazu sprawdzi czy ilość skłądników jest wystarczająca do zrealizowania zamówienia.
- W tabeli [zamowienia_wiersze] wybiera się produkty z tabeli [produkty], i wpisuje ich ilość. System automatycznie przpeisze ustalona cenę, oraz obliczy jaki jest koszt produktu na podstawie jego skłądników z ostatnich zakupów.
- Po zatwierdzniu zamówienia, w tabeli [składniki_transakcje] odejmuje sią się odpowiednie składniki, w odpowiedniej ilości poprzed ich definicję w tabeli [produkty_przepisy]
Stan Magazynowy
- Stan magazynowy otrzymuje się poprzez zsumowanie wszystkich transkacji z tabeli [składniki_transakcje] zgrupowanych po składniku.
Produkty a składniki
- Produkty są to pozycje oferowane do sprzedaży przez pizzerię "PizzaFat".
- Każdy produkt skłąda się ze skłądników. np (Pizza Salami: Mąka, Drożdze, Sól, Ser, Pomidor, Salami)
- Definiuje się ilość każdego skłądnika potrzebnego do wyprodukowania produktu.
- Dopuszcza się produkty skłądające się z jednego składnika np. Butelka Coli składa sie z Butelki Coli.