Sunteți pe pagina 1din 5

Ministerul Educației, Culturii și Cercetării al RM

Centrul de Excelență în Informatică și Tehnologii Informaționale


Catedra Informatică Nr.1
Examinat Aprobat
la ședința catedrei Director adjunct instruire
din 11 decembrie 2020 _______________ Obadă L.
Sarcina 19

Specialitatea: Programarea și analiza produselor program Grupe: P-1832, P-1833


Disciplina: Sisteme de gestiune a bazelor de date Anul de studii: 2020 - 2021

II. Proba practică


Timp alocat- 90 minute
__________________________________________________________________________

1) Scrieți scenariul de creare a bazei de date Hotel. În această bază de date creați
tabelele: Client, ServiciiHotel, Camere, Colaboratori. Asigurați relațiile dintre tabele
și populați tabelele cu câte 3-5 înregistrări.

2) Elaborați un declanșator pentru inserarea unui client și o tranzacție ce inserează un


nou client cu 2 servicii pentru baza creată. Aplicați tranzacția elaborată.

Şef de catedră: ____________ /Golub A./ Examinator  __________ / Petrovschi A. /


Scenariul:
Create database Hotel
Use Hotel;
create table Colaboratori(
IDColaborator int primary key,
Nume varchar(30),
Prenume varchar(30),
Salariu_ora int);
insert into Colaboratori values
(11, 'Chiril', 'Ion', 50),
(12, 'Bobeica', 'Loredan', 25),
(13, 'Erhan', 'Ecaterina', 60),
(14, 'Spataru', 'Vasile', 52),
(15, 'Magus', 'Violeta', 45),
(16, 'Cimpoi', 'Sergiu', 66);
select * from Colaboratori;

create table ServiciiHotel(


IDServiciu int primary key not null,
Nume_Serviciu varchar(50),
Durata_min int,
IDColaborator int, Foreign key (IDColaborator) references
Colaboratori(IDColaborator));

insert into ServiciiHotel values


(21, 'Stergerea prafului', 25, 11),
(22, 'Aranjarea patului', 15, 12),
(23, 'Schimbarea albiturilor', 15, 13),
(24, 'Curatenia umeda', 35, 14),
(25, 'Schimbarea prosoapelor', 5, 15),
(26, 'Aprovizionarea barului', 25, 16);
select * from ServiciiHotel;

create table Camere(


IDCamera int primary key,
Nr_camera int,
Etaj_camera int,
IDColaborator int, Foreign key (IDColaborator) references
Colaboratori(IDColaborator));

insert into Camere values


(11, 112, 4, 11),
(12, 113, 4, 12),
(13, 130, 5, 13),
(14, 125, 6, 14),
(15, 150, 4, 15),
(16, 155, 3, 16);
select * from Camere

create table Client(


IDClient int primary key,
Nume_Client varchar(30),
Prenume_Client varchar(30),
Adresa varchar(50),
Oraș varchar(30),
IDCamera int, Foreign key (IDCamera) references Camere(IDCamera));
insert into Client values
(1, 'Spataru', 'Eugen','str. Voluntarilor', 'Chisinau', 11),
(2, 'Cimpoi', 'Ana', 'str. Independentei', 'Cahul', 12),
(3, 'Enescu', 'Octavian', 'str. Nucarilor', 'Chisinău', 13),

Şef de catedră: ____________ /Golub A./ Examinator  __________ / Petrovschi A. /


(4, 'Petraru', 'Cristian', 'str. Mihai Eminescu', 'Orhei', 14),
(5, 'Rodideal', 'Ion', 'str. Alexei Mateevici', 'Chisinau', 15),
(6, 'Erhan', 'Victoria', 'str. Alexei Mateevici', 'Chisinau', 16);
Select * from Client;

Tabelele:
1. Colaboratori

2. ServiciiHotel

3. Camere

4. Clienti

Şef de catedră: ____________ /Golub A./ Examinator  __________ / Petrovschi A. /


Sarcini:
1. Declanșator pentru inserarea unui client

go
create trigger adaug_client
on Clienti
for insert, updat
go
insert into Clienti values (7, 'Mamaliga', 'Iulia', 'str. Nucarilor',
'Chisinau', 17)
go
update Clienti
go
select * from Clienti

2. Tranzacție ce inserează un nou client cu 2 servicii


Begin tran adaug_client_serv
go
INSERT INTO Clienti VALUES ((8, 'Focsa', 'Silvia', 'str. Ion Creanga,
'Chisinau', 14)
INSERT INTO ServiciiHotel VALUES (27,'Curatenia uscata', 30, 14)
INSERT INTO ServiciiHotel VALUES (28,'Curatenia generala', 60, 12)

Commit tran adaug_client_serv


select * from Clienti
select * from ServiciiHotel

Şef de catedră: ____________ /Golub A./ Examinator  __________ / Petrovschi A. /


Şef de catedră: ____________ /Golub A./ Examinator  __________ / Petrovschi A. /

S-ar putea să vă placă și