# 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ługę zakupów. ### Diagram związków encji ![](https://git.wmi.amu.edu.pl/s444337/projekt-bazy-danych-pizza-fat/raw/master/schemat_bazy.png) ### 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ść dodawania, 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. Pizzy - Wycena kosztu pizzy w czasie rzeczywistym na podstawie cen zakupu składników - Dodawanie składników, do kartoteki składników - Wprowadzanie faktur zakupowych oraz ilości zakupionych składników - Wprowadzanie dostawców składników - Śledzenie transakcji sprzedażowych oraz zakupowch na składnikach ### Opis logiki bazy danych #### Zakup - Tabelami do których prowadza się dane są tabele [zakupy] i [zakupy_wiersze]. Do tabeli zakupy wprowadzamy ogólne dane o fakturze zakupowej. Do tabeli [zakupy_wiersze] wprowadzamy dokładne pozycje składników oraz ich ilość. - Dostępne składniki wybieramy z tabeli [skladniki], która wcześniej została uzupełniona on potrzebne składniki. 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ż - Klienci mogą sie rejestrować internetowo na portalu, a informacje o nich zasilą tabelę [klienci]. - 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 lub osobistym. - Jeśli klient zamawia na dowóz telefonicznie lub osobiście, dodaje się klienta do kartoteki klientów i uzupełnia się dane dostawy w tabeli [klienci], lub wybiera się klienta detalicznego w przypadku zamówienia na miejscu. - W tabeli [zamowienia_wiersze] wybiera się produkty z tabeli [produkty], i wpisuje ich ilość. System automatycznie przepisze ustalona cenę, oraz obliczy jaki jest koszt produktu na podstawie jego składników z ostatnich zakupów. - Na podstawie zamówienia, system od razu sprawdzi czy ilość składników jest wystarczająca do zrealizowania zamówienia. - Po zatwierdzniu zamówienia, w tabeli [składniki_transakcje] dopisuje się odpowiednie rekordy składników z ilością ze stakiem ujemnym, w ilości poprzez ich definicję z 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. - Kliencie widzą skład produktu na podstawie jego składników na portalu. - Klienci nie mogą kupić składników, tylko produkty.