baza-danych-rowerownia/README.md
Krzysztof Wołowiec 9c4d5311e9 'details'
2019-06-15 00:24:38 +02:00

47 lines
2.3 KiB
Markdown

# Rowerownia - baza danych dla systemu rowerów miejskich
**Tytuł projektu:** System rowerów miejskich
**Autor:** Krzysztof Wołowiec
Projekt bazy danych dla firmy, która dostarcza i prowadzi samoobsługowe wypożyczalnie rowerów miejskich, będące alternatywą dla komunikacji publicznej.
**Celem** bazy danych jest wsparcie organizowania usług wypożyczania rowerów miejskich, poprzez rejestrowanie wypożyczeń i zwrotów, kontrolę stanu poszczególnych stacji rowerowych i rejestrowanie aktywności marketingowej względem rowerów.
## Diagram związków encji (ERD)
![](erd.png)
![](erd2.png)
## Model relacyjny (RM)
Oznaczenia: <u>klucz podstawowy</u>, *klucz obcy*
1. Uzytkownicy: <u>UID</u>, login, imie, nazwisko, email, data_od, ostatnia_aktywnosc, saldo_konta, status_konta
2. Rowery: <u>RID</u>, typ, stan
3. Stacje: <u>SID</u>, miejsca, miejsca_zajete, miejsca_wolne, dl_geogr, szer_geogr, osiedle, ulica, stan
4. Stan_stacji: *stacja*, *rower*, data_dodania
5. Wypozyczenia; <u>WID</u>, *uzytkownik*, *rower*, *stacja_wyp*, godzina_wyp, *stacja_zwrotu*, godzina zwrotu, status
6. Kampanie: <u>nazwa</u>, firma, rowery, od, do
7. Reklamy: *RID*, *reklama*, od, do
![](baza-schemat.PNG)
## Opis funkcjonalności
* rejestrowanie/dodawanie/modyfikacja danych użytkowników,
* gromadzenie danych o wypożyczeniach z danej stacji w określonym czasie,
* możliwość określenia liczby wypożyczonych rowerów w czasie rzeczywistym,
* identyfikacja rowerów, promujących określoną markę,
* identyfikacja stacji zapełnionych lub pustych, celem określenia zapotrzebowanie na powiększenie stacji, dostarczenie dodatkowych rowerów i inne działania,
* możliwość określenia rowerów uszkodzonych i zaginionych.
## Logika bazy:
* jeden użytkownik w określonym momencie może wypożyczyć więcej niż jeden rower,
* imiona, nazwiska i login muszą zaczynać się z liter A-Z,
* mail musi zawierać wewnątrz znak '@' ,
* suma liczby zajętych i wolnych miejsc na stacji musi być równa liczbie miejsc na tej stacji,
* daty 'od' muszą być wcześniejsze niż daty 'do'
* stacja może mieć jeden spośród statusów: 'nieczynna', 'pełna', 'pusta', 'niepełna',
* rower może mieć jeden spośród statusów: 'sprawny','uszkodzony', 'w naprawie', 'zagubiony',
* konto użytkownika może być: aktywne, nieaktywne i zawieszone.