Go to file
2019-06-10 13:03:49 +02:00
PizzaFat.sql init-commit 2019-06-10 12:19:10 +02:00
README.nd add-readme 2019-06-10 13:03:49 +02:00
schemat_bazy.png add-readme 2019-06-10 13:03:49 +02:00

### 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.