47 lines
2.3 KiB
Markdown
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. |