Sunteți pe pagina 1din 6

Ministerul Educatiei a Republicii Moldova

UNIVERSITATEA TEHNICĂ A
MOLDOVEI
Facultatea „Calculatoare, Informatică şi Microelectronică”

RAPORT

Lucrare de laborator nr. 6

Baze de date

A efectuat: Popa Cristian

st. gr. AI-182

A verificat: Varvara Ciorbă

Lector . univ.

Chisinau 2021
UPDATE profesori SET Adresa_Postala_Profesor = 'mun.Chisinau' WHERE
Adresa_Postala_Profesor IS NULL;

ALTER TABLE grupe ADD CONSTRAINT U_Cod_Grupa UNIQUE(Cod_Grupa);


ALTER TABLE grupe ALTER COLUMN Cod_Grupa char(6) NOT NULL;

ALTER TABLE grupe ADD Sef_grupa INT, Prof_Indrumar INT;


UPDATE grupe SET grupe.Sef_grupa = (
SELECT TOP 1
Id_Student from studenti_reusita WHERE studenti_reusita.Id_Grupa = grupe.Id_Grupa
GROUP BY Id_Student
ORDER BY AVG(Nota) DESC);

UPDATE grupe SET grupe.Prof_Indrumar = (


SELECT TOP 1
Id_Profesor from studenti_reusita WHERE studenti_reusita.Id_Grupa = grupe.Id_Grupa
GROUP BY Id_Profesor
ORDER BY COUNT(Id_Disciplina) DESC, Id_Profesor ASC);

UPDATE studenti_reusita SET Nota = Nota+1 WHERE Nota BETWEEN 1 AND 9;


CREATE TABLE profesori_new(
Id_Profesor INT NOT NULL,
Nume_Profesor VARCHAR(60),
Prenume_Profesor VARCHAR(60),
Localitate VARCHAR(70) DEFAULT('mun. Chisinau'),
Adresa_1 VARCHAR(255),
Adresa_2 VARCHAR(255),
PRIMARY KEY(Id_Profesor));

INSERT INTO profesori_new(Id_Profesor, Nume_Profesor, Prenume_Profesor, Localitate,


Adresa_1, Adresa_2)
SELECT Id_Profesor, Nume_Profesor, Prenume_Profesor, Adresa_Postala_Profesor,
Adresa_Postala_Profesor, Adresa_Postala_Profesor FROM profesori
UPDATE profesori_new SET Adresa_1 = SUBSTRING(Localitate, 15, 50) WHERE NOT
Localitate = 'mun.Chisinau';
UPDATE profesori_new SET Adresa_2 = SUBSTRING(Adresa_1, CHARINDEX(',',
Adresa_1)+1, LEN(Adresa_1))
CREATE TABLE orarul(Id_Disciplina INT, Id_Profesor INT, Cod_Grupa CHAR(6), Zi
CHAR(2), Ora TIME, Auditoriu INT, Bloc CHAR(1) DEFAULT ('B'));
INSERT orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu) VALUES(107,
'101', 'C1B171', 'Lu', '08:00', 202);
INSERT orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu) VALUES(108,
'101', 'C1B171', 'Lu', '11:30', 501);
INSERT orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu) VALUES(110,
'117', 'C1B171', 'Lu', '13:30', 501);

INSERT INTO orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu, Bloc)


SELECT DISTINCT d.Id_Disciplina, p.Id_Profesor, g.Id_Grupa, 'Lu' AS Zi, '08:00' AS Ora,
300 AS Auditoriu, 'B' AS Bloc
FROM discipline AS d, profesori AS p, grupe AS g, studenti_reusita AS r
WHERE r.Id_Disciplina = d.Id_Disciplina
AND r.Id_Grupa = g.Id_Grupa
AND r.Id_Profesor = p.Id_Profesor
AND Cod_Grupa = 'INF171' AND Disciplina IN ('Structuri de date si algoritmi');

INSERT INTO orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu, Bloc)


SELECT DISTINCT d.Id_Disciplina, p.Id_Profesor, g.Id_Grupa, 'Lu' AS Zi, '11:30' AS Ora,
405 AS Auditoriu, 'B' AS Bloc
FROM discipline AS d, profesori AS p, grupe AS g, studenti_reusita AS r
WHERE r.Id_Disciplina = d.Id_Disciplina
AND r.Id_Grupa = g.Id_Grupa
AND r.Id_Profesor = p.Id_Profesor
AND Cod_Grupa = 'INF171' AND Disciplina IN ('Programe aplicative');

INSERT INTO orarul(Id_Disciplina, Id_Profesor, Cod_Grupa, Zi, Ora, Auditoriu, Bloc)


SELECT DISTINCT d.Id_Disciplina, p.Id_Profesor, g.Id_Grupa, 'Lu' AS Zi, '13:00' AS Ora,
225 AS Auditoriu, 'B' AS Bloc
FROM discipline AS d, profesori AS p, grupe AS g, studenti_reusita AS r
WHERE r.Id_Disciplina = d.Id_Disciplina
AND r.Id_Grupa = g.Id_Grupa
AND r.Id_Profesor = p.Id_Profesor
AND Cod_Grupa = 'INF171' AND Disciplina IN ('Baze de date');

ALTER DATABASE universitatea ADD FILEGROUP userdatafgroup4


GO

ALTER DATABASE universitatea ADD FILE(


NAME = BDLab6,
FILENAME = 'C:\Users\Meral\Desktop\Universitate\BD\userdatafgroup4.ndf',
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH = 10%)

TO FILEGROUP userdatafgroup4;
GO
CREATE NONCLUSTERED INDEX create_index1 ON grupe(Id_Grupa) ON
[userdatafgroup4]

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