projekt-bazy-danych-pizza-fat/README.md

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.