This commit is contained in:
Cezary Pukownik 2019-06-10 13:36:34 +02:00
commit abe567c564
2 changed files with 152 additions and 145 deletions

View File

@ -1,3 +1,5 @@
CREATE DATABASE PizzaFat;
CREATE TABLE 'zamowienia'
(
'id' int PRIMARY KEY,

295
README.md
View File

@ -1,145 +1,150 @@
### 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.
# 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.