Documente Academic
Documente Profesional
Documente Cultură
Bucuresti, 2011
Cuprins
1
CLIENTI_M
#id_client
INSTRUCTORI
Nume
#id_instructor
Prenume
Nume
Telefon
Prenume
Telefon
Ocupatie
Id_sport(FK)
Are
is
Practica
Este practicat
Este detinut
SPORTURI
#id_sport
ABONAMENTE
Este inclus
#numar_curent
Nume
Descrierea
data_inceput
Include
data_sfarsit
id_client(FK),
id_sport(FK),id_abonament(FK)
Se regaseste
corespunde
TIP_ABONAMEENTE
#id_abonament
Nume_ab
Pret
Numar sedinte
);
CREATE TABLE Sporturi
( id_sport NUMBER(7) CONSTRAINT pk_sport PRIMARY KEY,
nume VARCHAR2(50),
descriere VARCHAR2(100)
);
Tabela Clienti_M
insert into Clienti_M values('1','Popescu','Ion','0743898368','popescu_ion@gmail.com','student');
insert into Clienti_M
values('2','Marinescu','Mihaela','0745896378','marinescu_miha@gmail.com','pensionara');
insert into Clienti_M
values('3','Ungureanu','Virgina','0723498718','virginia_ungur@gmail.com','angajata');
insert into Clienti_M values('4','Pop','Amalia','0743598128','pop_allma@gmail.com','student');
insert into Clienti_M
values('5','Loghin','Malina','0742448333','loghin_malina@gmail.com','pensionara');
9
Tabela Sporturi
insert into Sporturi values('1','Aerobic',NULL);
insert into Sporturi values ('2','Gimnastica',' Pentru rezultatele asteptate este nevoie de minin 4 sedinte');
insert into Sporturi values ('3','Tae Bo',' Sanatate pentru minte si corp');
10
11
Tabela instructori
insert into Instructori values ('1','Bodnariu','Alexandru','0754321123','900.90','1');
insert into Instructori values ('2','Marinescu','Catalin','0734211123','850','1');
insert into Instructori values ('3','Copaceanu','Andreea','0724331329','999.70','2');
insert into Instructori values ('4','Besir','Levida','0765234555','550.89','3');
insert into Instructori values ('5','Adamboceanu','Roxana',NULL,'789','4');
insert into Instructori values ('6','Cazacu','Elena','0745578989','800','5');
12
Tabela Abonamente
insert into Abonamente values ('10','1',to_date('21-09-2011','dd-mm-yyyy'),to_date('21-10-2011','dd-mmyyyy'),'1','1');
insert into Abonamente values ('1','1',to_date('15-04-2011','dd-mm-yyyy'),to_date('15-04-2011','dd-mmyyyy'),'2','1');
insert into Abonamente values ('2','2',to_date('10-03-2011','dd-mm-yyyy'),to_date('17-03-2011','dd-mmyyyy'),'6','5');
insert into Abonamente values ('3','1',to_date('21-09-2011','dd-mm-yyyy'),to_date('21-10-2011','dd-mmyyyy'),'1','1');
insert into Abonamente values ('4','6',to_date('03-07-2011','dd-mm-yyyy'),to_date('03-10-2011','dd-mmyyyy'),'5','3');
insert into Abonamente values ('5','5',to_date('07-03-2011','dd-mm-yyyy'),to_date('15-09-2011','dd-mmyyyy'),'5','3');
insert into Abonamente values ('6','1',to_date('07-10-2011','dd-mm-yyyy'),to_date('07-10-2011','dd-mmyyyy'),'4','3');
insert into Abonamente values ('7','1',to_date('05-11-2011','dd-mm-yyyy'),to_date('05-11-2011','dd-mmyyyy'),'3','1');
13
14
15
Alter table Abonamente ADD Constraint ck_data CHECK (data_inceput >= to_date('01-012011','dd-mm-yyyy'));
3. Sa se adauge o constrangere astfel incat adresa de mail din tabela Clienti_M sa fie de forma
%@%.% si apoi sa se dezactiveze.
Alter table Clienti_M Add Constraint verfica_email CHECK (email LIKE '%@%.%');
16
17
5. Sa se
stearga
coloana
Salariu din
tabela Instructori.
Alter table Instructori DROP COLUMN salariu;
19
20
4.
Sa se scrie o
interogare din care sa rezulte numele si prenumele tuturor clientilor ce detin/au detinut
abonamente la sala de sport.
select nume_familie, prenume from Clienti_M
21
5. Sa se afiseze prenumele
angajatilor al caror nume de
familie incepe cu S.
22
7.
Sa se afiseze numele,
prenumele si telefonul
instructorului ce practica
sportul al carui id este 3
Select nume, prenume, telefon
From instructori
Where id_sport=3 ;
23
24
10. Sa se afiseze cate cliente au detinut/detin abonamente la sala de sport. (Se considera ca numele
unei persoane de gen feminine va avea terminatia prenumelui a)
Select count(id_client)
From Clienti_M
Where lower(prenume) Like '%a';
Select *
From Instructori
Where UPPER(substr(nume,1,1))='B';
12. Sa se afiseze informatii(nume, prenume, ocupatie) despre toti clientii ce si-au facut abonamente
in anul 2011.
Select nume, prenume, ocupatie
From clienti_m c, abonamente a
Where to_char(a.data_inceput, 'yyyy')='2011'
13. Sa se calculeze cat trebuie sa plateasca angajatorul pentru salariile instructorilor si sa se calculeze
si salariul mediu.
Select sum(salariu), round(avg(salariu))
26
From instructori;
27
29