· 7 years ago · Mar 02, 2019, 09:32 PM
1--USE master;
2--DROP DATABASE Projekty;
3--GO
4
5--CREATE DATABASE Projekty;
6--GO
7
8--USE Projekty;
9--GO
10
11SET LANGUAGE polski;
12GO
13
14-------- USUŃ TABELE --------
15
16DROP TABLE IF EXISTS Realizacje;
17DROP TABLE IF EXISTS Projekty;
18DROP TABLE IF EXISTS Pracownicy;
19DROP TABLE IF EXISTS Stanowiska;
20
21--------- CREATE - UTWÓRZ TABELE I POWIĄZANIA --------
22
23CREATE TABLE Stanowiska
24(
25 nazwa VARCHAR(10) PRIMARY KEY,
26 placa_min MONEY,
27 placa_max MONEY,
28 CHECK (placa_min < placa_max)
29);
30
31CREATE TABLE Pracownicy
32(
33 id INT NOT NULL PRIMARY KEY,
34 nazwisko VARCHAR(20) NOT NULL,
35 szef INT REFERENCES Pracownicy(id),
36 placa MONEY,
37 dod_funkc MONEY,
38 stanowisko VARCHAR(10) REFERENCES Stanowiska(nazwa),
39 zatrudniony DATETIME
40);
41
42CREATE TABLE Projekty
43(
44 id INT IDENTITY(10,10) NOT NULL PRIMARY KEY,
45 nazwa VARCHAR(20) NOT NULL UNIQUE,
46 dataRozp DATETIME NOT NULL,
47 dataZakonczPlan DATETIME NOT NULL,
48 dataZakonczFakt DATETIME NULL,
49 kierownik INT REFERENCES Pracownicy(id),
50 stawka MONEY
51);
52
53CREATE TABLE Realizacje
54(
55 idProj INT REFERENCES Projekty(id),
56 idPrac INT REFERENCES Pracownicy(id),
57 godzin REAL DEFAULT 8
58);
59
60GO
61
62---------- INSERT - WSTAW DANE --------
63
64INSERT INTO Stanowiska VALUES ('profesor', 3000, 5000);
65INSERT INTO Stanowiska VALUES ('adiunkt', 2000, 3000);
66INSERT INTO Stanowiska VALUES ('doktorant', 900, 1300);
67INSERT INTO Stanowiska VALUES ('sekretarka', 1500, 2500);
68INSERT INTO Stanowiska VALUES ('techniczny', 1500, 2500);
69INSERT INTO Stanowiska VALUES ('dziekan', 2700, 4800);
70
71INSERT INTO Pracownicy VALUES (1, 'Wachowiak', NULL, 4500, 900, 'profesor', '01-09-1980');
72INSERT INTO Pracownicy VALUES (2, 'Jankowski', 1, 2500, NULL, 'adiunkt', '01-09-1990');
73INSERT INTO Pracownicy VALUES (3, 'Fiołkowska', 1, 2550, NULL, 'adiunkt', '01-01-1985');
74INSERT INTO Pracownicy VALUES (4, 'Mielcarz', 1, 4000, 400, 'profesor', '01-12-1980');
75INSERT INTO Pracownicy VALUES (5, 'Różycka', 4, 2800, 200, 'profesor', '01-09-2001');
76INSERT INTO Pracownicy VALUES (6, 'Mikołajski', 4, 1000, NULL, 'doktorant', '01-10-2002');
77INSERT INTO Pracownicy VALUES (7, 'Wójcicki', 5, 1350, NULL, 'doktorant', '01-10-2003');
78INSERT INTO Pracownicy VALUES (8, 'Listkiewicz', 1, 2200, NULL, 'sekretarka', '01-09-1980');
79INSERT INTO Pracownicy VALUES (9, 'Wróbel', 1, 1900, 300, 'techniczny', '01-01-1999');
80INSERT INTO Pracownicy VALUES (10, 'Andrzejewicz', 5, 2900, NULL, 'adiunkt', '01-01-2002');
81
82INSERT INTO Projekty VALUES ('e-learning', '01-01-2015', '31-05-2016', NULL, 5, 100);
83INSERT INTO Projekty VALUES ('web service', '10-11-2009', '31-12-2010', '20-04-2011', 4, 90);
84INSERT INTO Projekty VALUES ('semantic web', '01-09-2017', '01-09-2019', NULL, 4, 85);
85INSERT INTO Projekty VALUES ('neural network', '01-01-2008', '30-06-2010', '30-06-2010', 1, 120);
86
87INSERT INTO Realizacje VALUES (10, 5, 8);
88INSERT INTO Realizacje VALUES (10, 10, 6);
89INSERT INTO Realizacje VALUES (10, 9, 2);
90INSERT INTO Realizacje VALUES (20, 4, 8);
91INSERT INTO Realizacje VALUES (20, 6, 8);
92INSERT INTO Realizacje VALUES (20, 9, 2);
93INSERT INTO Realizacje VALUES (30, 4, 8);
94INSERT INTO Realizacje VALUES (30, 6, 6);
95INSERT INTO Realizacje VALUES (30, 10, 6);
96INSERT INTO Realizacje VALUES (30, 9, 2);
97INSERT INTO Realizacje VALUES (40, 1, 8);
98INSERT INTO Realizacje VALUES (40, 2, 4);
99INSERT INTO Realizacje VALUES (40, 3, 4);
100INSERT INTO Realizacje VALUES (40, 9, 2);
101
102------------ SELECT --------
103
104SELECT * FROM Stanowiska;
105SELECT * FROM Pracownicy;
106SELECT * FROM Projekty;
107SELECT * FROM Realizacje;