CREATE DATABASE instytucja1 USE instytucja1 CREATE TABLE Wydzialy ( nazwaW VARCHAR(55), idWydz VARCHAR(10) NOT NULL, kier VARCHAR(10) ); CREATE TABLE Projekty ( Wydz VARCHAR(10), idProj VARCHAR(10) NOT NULL, budżet INT NOT NULL ); CREATE TABLE Pracownicy ( Wydz VARCHAR(10), idPrac VARCHAR(10) NOT NULL, nazwisko VARCHAR(55), Proj VARCHAR(10) ); CREATE TABLE Zatrudnienie ( Prac VARCHAR(10) NOT NULL, od DATE NOT NULL, do DATE, stanow VARCHAR(55) NOT NULL, placa INT ); INSERT INTO Wydzialy(nazwaW,idWydz,kier) VALUES ('Kadry','W1','K2'), ('Place','W2','K1'), ('Ksiegowosc','W3','K3'); INSERT INTO Projekty(Wydz,idProj,budżet) VALUES ('W1','Prj1',12000), ('W1','Prj2',29000), ('W2','Prj3',30000), ('W3','Prj4',10000); INSERT INTO Pracownicy(Wydz,idPrac,nazwisko,Proj) VALUES ('W2','K1','Marecka','Prj1'), ('W1','K2','Zoltko','Prj1'), ('W1','K3','Nowak','Prj3'), ('W2','K4','Kowalski','Prj4'), ('W1','K5','Tkacz','Prj4'); INSERT INTO Zatrudnienie(Prac,od,do,stanow,placa) VALUES ('K1','2015/01/01','2017/12/31','st1',2000), ('K2','2018/01/01','','st2',2050), ('K1','2018/01/01','','st2',3100), ('K3','2019/01/01','','st1',4900), ('K4','2018/01/01','','st1',5500), ('K5','2019/01/01','','st1',6000); ALTER TABLE Wydzialy ADD CONSTRAINT PK_Wydzialy PRIMARY KEY(idWydz); ALTER TABLE Projekty ADD CONSTRAINT PK_Projekty PRIMARY KEY(idProj); ALTER TABLE Pracownicy ADD CONSTRAINT PK_Pracownicy PRIMARY KEY(idPrac); ALTER TABLE Zatrudnienie ADD CONSTRAINT PK_Zatrudnienie PRIMARY KEY(prac,od,stanow); ALTER TABLE Wydzialy ADD CONSTRAINT FK_Wydzialy FOREIGN KEY(kier) REFERENCES Pracownicy(idPrac); ALTER TABLE Projekty ADD CONSTRAINT FK_Projekty FOREIGN KEY(Wydz) REFERENCES Wydzialy(idWydz); ALTER TABLE Pracownicy ADD CONSTRAINT FK_Pracownicy FOREIGN KEY(Wydz) REFERENCES Wydzialy(idWydz); ALTER TABLE Pracownicy ADD CONSTRAINT FK_Pracownicy1 FOREIGN KEY(Proj) REFERENCES Projekty(idProj); ALTER TABLE Zatrudnienie ADD CONSTRAINT FK_Zatrudnienie FOREIGN KEY(Prac) REFERENCES Pracownicy(idPrac); SELECT Prac, Wydzialy.nazwaW FROM Zatrudnienie INNER JOIN Pracownicy ON Zatrudnienie.Prac = Pracownicy.idPrac INNER JOIN Wydzialy ON Pracownicy.Wydz = Wydzialy.idWydz WHERE Zatrudnienie.do =''; SELECT Prac FROM Zatrudnienie WHERE DATEDIFF(DAY, Zatrudnienie.do, GETDATE()) > 365; SELECT placa FROM Zatrudnienie z WHERE z.prac NOT IN(SELECT w.kier FROM Wydzialy w);