CSIE, seria F, grupa 1062 Doroga Roxana
PROIECT BAZE DE DATE
Descrierea bazei de date
In acest proiect va fi prezentata proiectarea si implementarea unei baze de date
utilizând limbajul SQL pentru o afacere de închiriat mașini.
Baza de date permite gestionarea clienților, mașinilor, rezervarilor si toate detaliile
aferente acestora, precum înregistrarea datelor personale ale clienților, nivelul de benzina din
rezervor al masinii la predare și primire, punctul de unde a fost închiriată masina etc.
Scopul principal însă este gestionarea rezervarilor. Baza de date este configurată astfel
incat aceeași masina sa nu poate fi rezervată in aceiasi perioada de doi clienti diferiți, verifica
automat dacă clienții au varsta legala de 18 ani etc.
Tabela “Masini” - conține datele referitoare la model, culoare, nr de înmatriculare a
unei mașini identificată printr-un id unic nenul
Tabela “Persoane” - conține datele personale ale clienților întreprinderii, identificați
printr un id unic nenul
Tabela “Stări masini” - conține datele referitoare la starea mașinii în momentul
primirii de către client, și în momentul predarii acesteia înapoi
Tabela “Puncte pp” - reprezinta toate punctele unde o masina poate fi predata/primită
de către client
Tabela “Tarife” - contine tarifele modificate de-a lungul timpului. În funcție de data în
care rezervarea a fost efectuata, clientului respectiv îi va fi aplicat tariful valabil la acel
moment
Tabela “Rezervari” - conține toate datele necesare efectuarii, anulării și modificării
unei rezervari
, Schema bazei de date
Crearea, actualizarea și modificarea tabelelor și a restricțiilor de integritate
Scriptul utilizat pentru crearea, modificarea și actualizarea tabelelor și restricțiilor de
integritate este regasit în fișierul “script.ddl”.
Adaugarea de înregistrări în tabele
Adaugarea inregistrarilor
in tabele a fost făcută și manual,
folosind instrucțiunea INSERT
INTO, dar și prin generarea de
fișiere “.txt” și “.csv” de către un
data spawner si folosind
opțiunea “Load data” regasita in
Oracle Apex.
Toate fișierele folosite
pentru adaugarea inregistrarilor
in tabele sunt regasite sub forma
nume_tabela.txt/.csv.
, Actualizarea inregistrarilor
Pentru actualizarea înregistrării unei note de exterior a mașinii asociate rezervarii cu
id-ul 2 în tabela stari_masini vom rula instrucțiunea:
SELECT
r.id,
s1.noteexterior AS note_exterior_start,
s1.noteinterior AS note_interior_start,
s2.noteexterior AS note_exterior_stop,
s2.noteinterior AS note_interior_stop
FROM rezervari r
JOIN stari_masini s1 ON r.id_stare_masina_start = s1.id
JOIN stari_masini s2 ON r.id_stare_masina_stop = s2.id
UPDATE stari_masini SET noteexterior = 'masina are o zgarietura pe usa
dreapta-spate' WHERE id IN (SELECT id_stare_masina_start FROM
rezervari WHERE id=2)
Înainte de a rula codul:
PROIECT BAZE DE DATE
Descrierea bazei de date
In acest proiect va fi prezentata proiectarea si implementarea unei baze de date
utilizând limbajul SQL pentru o afacere de închiriat mașini.
Baza de date permite gestionarea clienților, mașinilor, rezervarilor si toate detaliile
aferente acestora, precum înregistrarea datelor personale ale clienților, nivelul de benzina din
rezervor al masinii la predare și primire, punctul de unde a fost închiriată masina etc.
Scopul principal însă este gestionarea rezervarilor. Baza de date este configurată astfel
incat aceeași masina sa nu poate fi rezervată in aceiasi perioada de doi clienti diferiți, verifica
automat dacă clienții au varsta legala de 18 ani etc.
Tabela “Masini” - conține datele referitoare la model, culoare, nr de înmatriculare a
unei mașini identificată printr-un id unic nenul
Tabela “Persoane” - conține datele personale ale clienților întreprinderii, identificați
printr un id unic nenul
Tabela “Stări masini” - conține datele referitoare la starea mașinii în momentul
primirii de către client, și în momentul predarii acesteia înapoi
Tabela “Puncte pp” - reprezinta toate punctele unde o masina poate fi predata/primită
de către client
Tabela “Tarife” - contine tarifele modificate de-a lungul timpului. În funcție de data în
care rezervarea a fost efectuata, clientului respectiv îi va fi aplicat tariful valabil la acel
moment
Tabela “Rezervari” - conține toate datele necesare efectuarii, anulării și modificării
unei rezervari
, Schema bazei de date
Crearea, actualizarea și modificarea tabelelor și a restricțiilor de integritate
Scriptul utilizat pentru crearea, modificarea și actualizarea tabelelor și restricțiilor de
integritate este regasit în fișierul “script.ddl”.
Adaugarea de înregistrări în tabele
Adaugarea inregistrarilor
in tabele a fost făcută și manual,
folosind instrucțiunea INSERT
INTO, dar și prin generarea de
fișiere “.txt” și “.csv” de către un
data spawner si folosind
opțiunea “Load data” regasita in
Oracle Apex.
Toate fișierele folosite
pentru adaugarea inregistrarilor
in tabele sunt regasite sub forma
nume_tabela.txt/.csv.
, Actualizarea inregistrarilor
Pentru actualizarea înregistrării unei note de exterior a mașinii asociate rezervarii cu
id-ul 2 în tabela stari_masini vom rula instrucțiunea:
SELECT
r.id,
s1.noteexterior AS note_exterior_start,
s1.noteinterior AS note_interior_start,
s2.noteexterior AS note_exterior_stop,
s2.noteinterior AS note_interior_stop
FROM rezervari r
JOIN stari_masini s1 ON r.id_stare_masina_start = s1.id
JOIN stari_masini s2 ON r.id_stare_masina_stop = s2.id
UPDATE stari_masini SET noteexterior = 'masina are o zgarietura pe usa
dreapta-spate' WHERE id IN (SELECT id_stare_masina_start FROM
rezervari WHERE id=2)
Înainte de a rula codul: