### 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] } 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* [zamowienia.id] *produkt_id* [produkty.id] ilosc cena kwota_sprzedazy koszt kwota_kosztu zysk } produkty { **id** nazwa_produktu cena } **produkty_przepisy** { *produkt_id* [produkty.id] *skladnik_id* [skladniki.id] ilosc } skladniki { **id** nazwa_skladnika koszt } sladniki_transakcje { **id** data_transakcji *skladnik_id* [skladniki.id] *zamowienia_wiersze_id* [zamowienia_wiersze.id] *zakupy_wiersze_id* [zakupy_wiersze.id] typ_transakcji ilosc koszt cena kwota_kosztu kwota_sprzedazy zysk } zakupy { **id** id_faktury *id_dostawcy* [dostawcy.id] data } zakupy_wiersze { **id** *id_zakupu* [zakupy.id] *skladnik_id* [skladniki.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.