Extras din proiect
Se considera o aplicatie pentru monitorizarea evenimentelor unei firme de paza.
Baza de date Oracle va contine urmatoarele informatii:
- Nume client
- CNP
- Adresa
- Eveniment (descriere)
- De plata
- data producerii evenimentului
- agentul care a constatat evenimentul
- timpul de reactie la eveniment (in cat timp a ajuns agentul la fata locului)
- timp mediu de reactie pe agent.
Stiind ca Nume client are maxim 14 caractere, CNP are exact 8 caractere, adresa are maxim 10 caractere, eveniment are maxim 20 caractere, agentul este de maxim 10 caractere, de plata este un numar cu 2 zecimale, pozitiv, timpul de reactie este pozitiv si exprimat in secunde, se cere:
1. Sa se realizeze proiectarea bazei de date aferente (structura de tabele, structura de coloane a fiecarei tabele, constrângeri).
2. Sa se scrie comenzile SQL pentru tabelele proiectate la punctul anterior.
Create table clienti
(
nume_client VARCHAR(14) NOT NULL ,
CNP VARCHAR(8) PRIMARY KEY,
adresa VARCHAR(10) NOT NULL,
cost_serviciu NUMERIC(15,2) DEFAULT 0 CHECK(cost_serviciu>=0)
);
describe clienti;
Primary key = valorile introduce trebuie s a nu fie nule si trebuie sa fie unice
Default = in cazul in care nu se introduce nimic in campul cost_serviciu se va face o inserare automata a valori care urmeaza dupa constrangerea default (in cazul d fata 0)
create table evenimente
(
CNP VARCHAR(8) REFERENCES clienti(CNP),
eveniment VARCHAR(20),
data DATE NOT NULL,
agent VARCHAR(10) NOT NULL,
timp_reactie INTEGER NOT NULL CHECK(timp_reactie>0)
);
describe evenimente;
References= face legatura intre tabela curenta si tabela clienti prin intermediul campului CNP. Legaturi de tipul references se pot face numai pe campuri de tip primary key sau unique.
OBS: legatura intre cele 2 tabele provoaca urmatoarea restrictie : o linie din tabela client nu poate fi stearsa pana cand toate liniile din tabela evenimente care contin CNP-ul liniei care se doreste a fi stearsa nu sunt sterse. Cu alte cuvinte trebuie sa se stearga mai intai toate evenimentele unui client cu cnp-ul X inainte ca clientul cu cnp-ul X sa poata fi sters din tabela d clienti. Pentru a corecta aceasta limitare de regula se foloseste ON DELETE CASCADE
3. Sa se scrie comenzile SQL pentru popularea bazei de date cu urmatoarele produse, cu 4 clienti, 2 avand cate 3 evenimente, unul un eveniment si altul nici un eveniment. Evenimentele sunt toate constatate de agenti diferiti.
Preview document
Conținut arhivă zip
- Baze de Date - Monitorizarea Evenimentelor unei Firme de Paza.doc