14
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 .

Descrierea Bazei de Date

Embed Size (px)

Citation preview

Page 1: Descrierea Bazei de Date

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 .

Page 2: Descrierea Bazei de Date

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

Page 3: Descrierea Bazei de Date

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) ;

Page 4: Descrierea Bazei de Date

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');

Page 5: Descrierea Bazei de Date

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');

Page 6: Descrierea Bazei de Date

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);

Page 7: Descrierea Bazei de Date

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 .

Page 8: Descrierea Bazei de Date

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 .

Page 9: Descrierea Bazei de Date

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 ;

Page 10: Descrierea Bazei de Date
Page 11: Descrierea Bazei de Date