145 lines
4.5 KiB
Markdown
145 lines
4.5 KiB
Markdown
### 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. |