'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)
|
||||
|
||||
|
||||
![](erd2.png)
|
||||
|
||||
## Model relacyjny (RM)
|
||||
@ -30,4 +29,19 @@ Oznaczenia: <u>klucz podstawowy</u>, *klucz obcy*
|
||||
![](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.
|
@ -19,9 +19,9 @@ CREATE TABLE Uzytkownicy
|
||||
ostatnia_aktywnosc datetime,
|
||||
saldo_konta money NOT NULL DEFAULT 0,
|
||||
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_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),
|
||||
stan varchar(16),
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user