150 lines
4.5 KiB
Markdown
150 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ł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. |