'details'
This commit is contained in:
parent
853de332c7
commit
9c4d5311e9
18
README.md
18
README.md
@ -13,7 +13,6 @@ Projekt bazy danych dla firmy, która dostarcza i prowadzi samoobsługowe wypoż
|
|||||||
|
|
||||||
![](erd.png)
|
![](erd.png)
|
||||||
|
|
||||||
|
|
||||||
![](erd2.png)
|
![](erd2.png)
|
||||||
|
|
||||||
## Model relacyjny (RM)
|
## Model relacyjny (RM)
|
||||||
@ -30,4 +29,19 @@ Oznaczenia: <u>klucz podstawowy</u>, *klucz obcy*
|
|||||||
![](baza-schemat.PNG)
|
![](baza-schemat.PNG)
|
||||||
|
|
||||||
## Opis funkcjonalności
|
## 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.
|
@ -19,9 +19,9 @@ CREATE TABLE Uzytkownicy
|
|||||||
ostatnia_aktywnosc datetime,
|
ostatnia_aktywnosc datetime,
|
||||||
saldo_konta money NOT NULL DEFAULT 0,
|
saldo_konta money NOT NULL DEFAULT 0,
|
||||||
status_konta varchar(16) NOT NULL,
|
status_konta varchar(16) NOT NULL,
|
||||||
CONSTRAINT ck_dane_osobowe_litery CHECK ((nazwisko LIKE '[A-Z]%') AND (imie LIKE '[A-Z]%')),
|
CONSTRAINT ck_dane_osobowe_litery CHECK ((nazwisko LIKE '[A-Z]%') AND (imie LIKE '[A-Z]%') AND (login LIKE '[A-Z]%')),
|
||||||
CONSTRAINT ck_mail CHECK (email LIKE '%@%'),
|
CONSTRAINT ck_mail CHECK (email LIKE '%@%'),
|
||||||
CONSTRAINT ck_status_konta CHECK (email LIKE '%@%')
|
CONSTRAINT ck_status_konta CHECK (status_konta IN ('zawieszone', 'aktywe', 'nieaktywne')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ CREATE TABLE Stacje
|
|||||||
ulica varchar(64),
|
ulica varchar(64),
|
||||||
stan varchar(16),
|
stan varchar(16),
|
||||||
CONSTRAINT ck_stan_stacji CHECK (stan IN ('nieczynna', 'pełna', 'pusta', 'niepełna')),
|
CONSTRAINT ck_stan_stacji CHECK (stan IN ('nieczynna', 'pełna', 'pusta', 'niepełna')),
|
||||||
CONSTRAINT ck_miejsca CHECK (miejsca_wolne + miejsca_zajete <= miejsca)
|
CONSTRAINT ck_miejsca CHECK (miejsca_wolne + miejsca_zajete = miejsca)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE Wypozyczenia
|
CREATE TABLE Wypozyczenia
|
||||||
|
Loading…
Reference in New Issue
Block a user