Upload
adrian-birtoiu
View
9
Download
4
Embed Size (px)
Citation preview
Descrierea Bazei de Date
1. a) Scenariul problemei :
Am realizat o Baza de Date care descrie legaturile stranse dintre beri, baruri si studenti .
Stim ca fiecare student a avut perioadele lui de distractie si de aceea am hotarat sa realizez aceasta Baza de Date pentru a determina care sunt cele mai bune baruri si beri .
b) Schema conceptuala :
Fiecare bere apartine unei categorii(bere blonda, bere bruna, bere fara alcool,bere cu lamaie ).
O categorie contine una sau mai multe beri.
Un producator produce una sau mai multe beri .
O bere este produsa de un singur producator .
O categorie de bere este produsa de mai multi produc .
Intr-un bar pot exista mai multe tipuri de bere .
Un bar poate fi frecventat de unul sau mai multi studenti.
Un student frecventeaza un singur bar .
2.Diagrama Entitate-Asociere ( ERD )
1 M M 1
1
M
M 1
BERI
#COD_B *NUME *CATEGORIE*GRAMAJ #COD_P
PRODUCATORI
#COD_P *NUME *ADRESA*TELEFON
BARURI
#COD_BAR *NUME*ADRESA*SPECIFIC *CONTACT
STUDENTI
#COD_S *NUME*FACULTATE*BUGET *NR. BERI
CATEGORII
#COD_C *NUME *RATING
3. Cerinte :
1. Creati tabelele enuntate si afisati-le.
create table studenti (cod_c number(2) primary key, nume varchar2(20) not null ,
facultate varchar2(20)not null,
buget number(10) not null,
nr.beri number(2)) ;
create table producatori (cod_p number(2) primary key, nume varchar2(20) not null,
adresa varchar2(20) not null,
telefon number(10)not null ) ;
create table categorii (cod_c number(5) primary key, nume varchar2(20) not null,
rating number (2) not null) ;
create table baruri (cod_bar number(2) primary key, nume varchar2(20) not null ,
adresa varchar2(20) not null,
contact number(10) not null ,
specific varchar2(20) not null ) ;
create table beri (cod_b number(2) primary key, nume varchar2(20) not null
gramaj number(10) not null ,
cod_p number(2) not null,
constraint beri foreign key(cod_p)
references producatori ) ;
2. Introduceti valori in tabelele create si afisati datele acestora .
insert into studenti values(1,'Adrian','ASE','200','10');
insert into studenti values(2,'Andrei','ASE','120','7');
insert into studenti values(3,'Bogdan','ASE','70','8');
insert into studenti values(4,'Gheorghe','ATM','200','10');
insert into studenti values(5,'Stefan','POLITEHNICA','150','9');
select * from studenti
insert into producatori values (1,'Heineken ROMANIA SA','STR.TIPOGRAFIILOR','02142321');
insert into producatori values (2,'TUBORG RO''STR.BIRUINTEI', '021675890');
insert into producatori values (3,'Stella Artois RO','BDUL.PRECIZIEI','021834521');
insert into producatori values (4,'CIUC PREMIUM','STR.TRANDAFIRULUI','021345098');
insert into producatori values (5,'URSUS BREWERIES','BDUL.IULIU MANIU','02142321');
select * from producatori
insert into categorii values (1,'bere blonda','9');
insert into categorii values (2,'bere bruna','7');
insert into categorii values (3,'bere fara alcool','5');
insert into categorii values (4,'bere cu lamaie','8');
select * from categorii
insert into baruri values (1,'Oscars','str.Selari','pub','0754345543');
insert into baruri values (2,'La Belle Vie', 'str.Fericirii', 'restaurant', '07220300403');
insert into baruri values (3,'Vintage','str.Selari','pub','0766789043');
insert into baruri values (4,'Oktoberfest','str.Selari','pub',
'0754333222');
insert into baruri values (5,'Caru` cu bere', 'str.Selari', 'pub', '0216789');
select * from baruri
insert into beri values (1,'Heineken','bere blonda','330', 1);
insert into beri values (2,'Carlsberg', 'bere blonda','330',2);
insert into beri values ('Stella Artois' , 'Stella Artois RO', 'bere blonda','500',3);
insert into beri values('Ciuc Radler', 'CIUC PREMIUM','bere cu lamaie', '500',4);
insert into beri values('Ciuc ', 'CIUC PREMIUM','bere blonda', '500',4);
insert into beri values('Ursus ', 'URSUS BREWERIES','bere blonda', '500',5);
insert into beri values('Ursus fara alcool ', 'URSUS BREWERIES',bere fara alcool, '500',5);
insert into beri values('Timisoreana Bruna', 'URSUS BREWERIES','bere bruna', '500',5 );
select * from beri
3. Afisati berile produse de 'URSUS BREWERIES' .
select b.nume
from beri b , producatori p
where b.cod_p=p.cod_p and p.nume='URSUS BREWERIES';
4. Afisati rating-ul berii blonde .
select rating
from beri
where nume='bere blonda' ;
5. Afisati studentii care sunt la 'ASE' si cu un buget mai mare de 100 .
select nume
from studenti
where buget>100 and facultate='ASE';
6. Stergeti din tabela STUDENTI linia NR.BERI .
alter table studenti
drop column nr.beri ;
7. Afisati in ordine alfabetica barurile de pe strada Selari .
select nume from baruri
where adresa='str.Selari'
order by nume ;
8. Adaugati in tabela BARURI pretul unei beri .
alter table beri
add(pret number(4));
9. Afisati numele si specificul barurilor care au codul intre 1 si 3.
select nume, specific from baruri
where cod_bar between 1 and 3 ;
10. Afisati numele producatorilor a caror nume au prima litera 'H .
select nume
from producatori
where upper(nume) like'H%';
11. Afisati berile care au gramajul 330 si schimbati-le in 500.
update beri
set gramaj='500' where gramaj='330';
12. Creati o noua tabela care sa aiba aceeasi structura cu tabela Producatori si apoi stergeti inregistrarile .
create table producatori2 (cod_p number(2) primary key, nume varchar2(20) not null,
adresa varchar2(20) not null,
telefon number(10)not null )
as
select cod_p, nume ,adresa , telefon
from producatori ;
delete producatori2 ;