# 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 ![](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ść 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.