Documente Academic
Documente Profesional
Documente Cultură
PROIECT BAZE DE
DATE
1. Definirea schemei bazei de date – tabele, restrictii de integritate. Se utilizează comenzile CREATE,
ALTER, DROP.
2. Exemple cu operatiile de actualizare a datelor (comenzile DML – INSERT, UPDATE, DELETE, MERGE
(optional) pentru inregistrari).
Proiectul are ca scop evidenta unui aeroport. Acest proiect este realizat prin programul
sqldeveloper si este prezentat intr-un format word. Proiectul contine notiuni fundamentale de baze de
date, descrierea lucrarii, tabele, atribute, relatii, restrictii, schema tabelelor, codul SQL pentru tabele si
comenzi sql.
Acesta baza de date trebuie sa contina informatii despre clienti (id, nume, prenume, cnp,
date de contact, adresa) si tipul acestora (persoana juridica sau fizica), clase (business sau economic)
companiile aeriene si avioanele detinute de acestea, aeropoartele, orasele si tarile de unde au loc
zborurile, cat si o evidenta clara a tuturor calatoriilor (data si ora plecarii, durata zborului, intarzieri,
pretul biletelor).
Tema aleasa are ca scop organizarea, evidenta si gestiunea clientilor, calatoriilor si a altor
elemente dintr-un aeroport. Asadar aceasta baza de date corespunde nevoilor organizatorice si de
gestiune ale unui aeroport intrucat:
baza de date pastreaza inregistrarea intregii activitati, facand activitatea mai usor de gestionat;
baza de date prezinta legaturi logice intre principalele elemente din proiect (clienti, calatorii,
avioane, aeroporturi, companii aeriene etc )
COMPANII TIP_CLIENT
#ID_COMPANIE #ID_TIP_CLIEN
T
NUME_COMPANIE TIP_CLIENT
CALATORIE
#ID_CALATORIE
ID_CLIENT CLIENTI
AVIOANE ID_CLASA #ID_CLIENT
#ID_AVION ID_COMPANIE ID_TIP_CLIENT
ID_COMPANIE ID_AVION CNP
MODEL ID_AEROPORT NUME
CAPACITATE DATA_PLECARE PRENUME
ORA_PLECARE SEX
DURATA_CALATORIE EMAIL
INTARZIERE TELEFON
CLASE
PRET_BILET TARA
#ID_CLASA
ORAS
NUME_CLASA ADRESA
COD_POSTAL
AEROPORT ORASE
3. CREAREA TABELELOR
TABELA TIP_CLIENT:
TIP_CLIENT varchar2(20)
TABELA CLIENTI:
ID_TIP_CLIENT number(5),
CNP number(13),
NUME varchar2(20),
PRENUME varchar2(20),
SEX varchar2(10),
EMAIL varchar2(30),
TELEFON varchar2(15),
TARA varchar2(20),
ORAS varchar2(20),
ADRESA varchar2(30),
COD_POSTAL number(6),
TABELA COMPANII:
NUME_COMPANIE varchar2(20));
TABELA CLASA:
NUME_CLASA varchar2(10)
TABELA AVIOANE:
ID_COMPANIE number(5),
MODEL varchar2(20),
CAPACITATE number(4),
TABELA TARI:
NUME_TARA varchar2(20));
TABELA ORASE:
ID_TARA number(5),
NUME_ORAS varchar2(20),
TABELA AEROPORT:
ID_ORAS number(5),
NUME_AEROPORT varchar2(50),
TABELA CALATORIE:
ID_CLIENT number(5),
ID_CLASA number(5),
ID_COMPANIE number(5),
ID_AVION number(5),
ID_AEROPORT number(5),
DATA_PLECARE date,
ORA_PLECARE varchar2(20),
DURATA_CALATORIE varchar2(10),
INTARZIERE varchar2(10),
PRET_BILET number(5),
describe calatorie;
describe calatorie;
describe calatorie;
describe aeroport;
insert into CALATORIE values(801, 111, 311, 211, 411, 711, to_date('02.02.2017','dd.mm.yyyy'),
'17:50','3 ore', '15 minute', 450);
insert into CALATORIE values(802, 112, 312, 212, 412, 712, to_date('10.03.2017','dd.mm.yyyy'), '11:00',
'2 ore', 'fara', 400);
insert into CALATORIE values(803, 113, 313, 213, 413, 713, to_date('27.05.2017','dd.mm.yyyy'), '16:30',
'2 ore','10 minute', 289);
insert into CALATORIE values(804, 114, 314, 214, 414, 714, to_date('14.12.2017','dd.mm.yyyy'), '12:00',
'3 ore', '20 minute', 349);
insert into CALATORIE values(805, 115, 315, 215, 415, 715, to_date('15.08.2017','dd.mm.yyyy'), '06:00',
'12 ore', 'fara', 129);
insert into CALATORIE values(806, 116, 316, 216, 416, 716, to_date('23.02.2017','dd.mm.yyyy'), '08:00',
'2 ore', '5 minute', 500);
insert into CALATORIE values(807, 117, 317, 217, 417, 717, to_date('04.06.2017','dd.mm.yyyy'), '10:00',
'1 ora', '10 minute', 220);
insert into CALATORIE values(808, 118, 318, 218, 418, 718, to_date('15.09.2017','dd.mm.yyyy'), '20:00',
'4 ore', 'fara', 500);
insert into CALATORIE values(809, 119, 319, 219, 419, 719, to_date('24.10.2017','dd.mm.yyyy'), '13:20',
'4 ore', '10 minute', 499);
insert into CALATORIE values(810, 120, 320, 220, 420, 720, to_date('22.11.2017','dd.mm.yyyy'), '04;40',
'16 ore', '5 minute', 370);
6. ACTUALIZAREA INREGISTRARILOR
update CLIENTI
set NUME='Chirita'
where ID_CLIENT=111;
select nume
from clienti
where id_client=111;
where lower(NUME)='grigore';
UNION:
select prenume
from clienti
where initcap(prenume)='Diana'
union all
select nume_companie
from companii
from companii
union
from clienti;
INTERSECT:
from avioane
intersect
from avioane;
from calatorie
intersect
from calatorie;
MINUS:
MINUS
MINUS
DECODE:
from calatorie;
from avioane;
CASE:
end clasificare_bilet
from calatorie;
else 1.3
end scumpire_bilete
from calatorie;
update CALATORIE
set PRET_BILET=PRET_BILET*0.2
update AVIOANE
set CAPACITATE=CAPACITATE-50
FUNCTII SINGLE-ROW:
FUNCTII DE GRUP:
JONCTIUNI:
where cl.ID_CLIENT=c.ID_CLIENT
and PRET_BILET>300
where a.id_avion=c.id_avion
and c.pret_bilet>500
VEDERI:
where ID_CLIENT=113;
update V_CLIENTI_113
set NUME='Minoiu';
from CALATORIE;
update V_CALATORIE
set PRET_BILET=PRET_BILET*1.2;
INDECSI:
SINONIME:
SECVENTE: