-
Notifications
You must be signed in to change notification settings - Fork 0
/
BD_CW1_307354.sql
157 lines (130 loc) · 5.26 KB
/
BD_CW1_307354.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/* Kamil Sztandur 307354 Grupa 2*/
-- WE Informatyka Stosowana (2 semestr)
/* Tabele należy kasować w kolejnoœci od tych najbardziej wewnętrznych podrzędnych do najbardziej zewnętrznych typu master */
-- W przeciwnym wypadku próba usuniêcia tabeli zakoñczy siê niepowodzeniem z powodu powiązania kluczem obcym
IF OBJECT_ID('dbo.ETATY') IS NOT NULL
BEGIN
DROP TABLE ETATY
END
GO
IF OBJECT_ID('dbo.FIRMY') IS NOT NULL
BEGIN
DROP TABLE FIRMY
END
GO
IF OBJECT_ID('dbo.OSOBY') IS NOT NULL
BEGIN
DROP TABLE OSOBY
END
GO
IF OBJECT_ID('dbo.MIASTA') IS NOT NULL
BEGIN
DROP TABLE MIASTA
END
GO
IF OBJECT_ID('dbo.WOJ') IS NOT NULL
BEGIN
DROP TABLE WOJ
END
GO
/* Tymczasem zakładać tabele należy od tej najbardziej nadrzędnej do podrzędnej */
CREATE TABLE dbo.WOJ
( KOD_WOJ nchar(10) NOT NULL
CONSTRAINT PK_WOJ PRIMARY KEY
, NAZWA nvarchar(40) NOT NULL
)
GO
CREATE TABLE dbo.MIASTA
( ID_MIASTA int NOT NULL IDENTITY
CONSTRAINT PK_MIASTA PRIMARY KEY
, KOD_WOJ nchar(10) NOT NULL
CONSTRAINT FK_MIASTA_WOJ FOREIGN KEY
REFERENCES WOJ(KOD_WOJ)
, NAZWA nvarchar(40) NOT NULL
)
GO
CREATE TABLE dbo.OSOBY
( ID_MIASTA int NOT NULL
CONSTRAINT PK_CITY FOREIGN KEY
REFERENCES MIASTA(ID_MIASTA)
, IMIE nchar(15) NOT NULL
, NAZWISKO nchar(30) NOT NULL
, ADRES nchar(60) NOT NULL
, ID_OSOBY int NOT NULL IDENTITY
CONSTRAINT PK_OSOBY PRIMARY KEY
)
GO
CREATE TABLE dbo.FIRMY
( ID_MIASTA int NOT NULL
CONSTRAINT FK_PK_MIASTA FOREIGN KEY
REFERENCES MIASTA(ID_MIASTA)
, NAZWA_SKR nchar(10) NOT NULL
CONSTRAINT PK_FIRMY PRIMARY KEY
, NAZWA nchar(60) NOT NULL
, ULICA nchar(60) NOT NULL
, KOD_POCZTOWY nchar(12) NOT NULL
, ADRES AS CONVERT( nvarchar(130), KOD_POCZTOWY + ' ' + NAZWA_SKR + ' ' + 'ul. ' + ULICA )
)
GO
CREATE TABLE dbo.ETATY
( ID_OSOBY int NOT NULL
CONSTRAINT FK_PK_OSOBY FOREIGN KEY
REFERENCES OSOBY(ID_OSOBY)
, ID_FIRMY nchar(10) NOT NULL
CONSTRAINT FK_PK_FIRMY FOREIGN KEY
REFERENCES FIRMY(NAZWA_SKR)
, STANOWISKO nchar(50) NOT NULL
, PENSJA int NOT NULL
, OD DATETIME NOT NULL
, DO DATETIME NULL
, ID_ETATU int NOT NULL IDENTITY
CONSTRAINT PK_ETATY PRIMARY KEY
)
GO
INSERT INTO WOJ( KOD_WOJ, NAZWA ) VALUES ('MAL','Małopolska')
INSERT INTO WOJ( KOD_WOJ, NAZWA ) VALUES ('MAZ','Mazowieckie')
INSERT INTO WOJ( KOD_WOJ, NAZWA ) VALUES ('POM','Pomorskie')
INSERT INTO MIASTA(KOD_WOJ, NAZWA) VALUES ('MAL','Kraków')
INSERT INTO MIASTA( KOD_WOJ, NAZWA ) VALUES ( 'MAL', 'Tarnów' )
INSERT INTO MIASTA( KOD_WOJ, NAZWA ) VALUES ( 'MAZ', 'Warszawa' )
INSERT INTO MIASTA( KOD_WOJ, NAZWA ) VALUES ( 'MAZ', 'Wesoła' )
INSERT INTO MIASTA( KOD_WOJ, NAZWA ) VALUES ( 'POM', 'Gdañsk' )
INSERT INTO FIRMY( NAZWA_SKR, NAZWA, KOD_POCZTOWY, ULICA, ID_MIASTA )
VALUES ('KWM', 'Klub wielbicieli MS', '00-020', 'Zapolskiej 18', 1 )
INSERT INTO FIRMY( NAZWA_SKR, NAZWA, KOD_POCZTOWY, ULICA, ID_MIASTA )
VALUES ('ES', 'Eagle Spark', '02-931', 'Robotnicza 19', 2 )
INSERT INTO FIRMY( NAZWA_SKR, NAZWA, KOD_POCZTOWY, ULICA, ID_MIASTA )
VALUES ('OGR', 'Ogrodnicy', '03-233', 'Pulaska 12', 3 )
INSERT INTO FIRMY( NAZWA_SKR, NAZWA, KOD_POCZTOWY, ULICA, ID_MIASTA )
VALUES ('NOW', 'Now', '03-784', 'Narutowicza 16', 4 )
INSERT INTO FIRMY( NAZWA_SKR, NAZWA, KOD_POCZTOWY, ULICA, ID_MIASTA )
VALUES ('EDI', 'Edifier', '06-343', 'Debowa 5', 5 )
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 1, 'Jan', 'Kowalski', 'Prosta 7' )
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 3, 'Krystian', 'Lewandowski', 'Zielona 14')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 2, 'Ania', 'Zzielonegowzgórza', 'Mickiewicza 18')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 5, 'Ola', 'Tartak', 'Aleje Jerozolimskie 12')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 4, 'Ala', 'Makota', 'Sobieskiego 4')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 1, 'Krystyna', 'Czubówna', 'Polna 2')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 3, 'Grzegorz', 'Markowski', 'Jana Pawla 4')
INSERT INTO OSOBY( ID_MIASTA, IMIE, NAZWISKO, ADRES ) VALUES ( 2, 'Kazio', 'Sasin', 'Brudna 5')
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'KWM', 1, CONVERT( datetime, '20111230', 112 ), 11000, 'Konsultant' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'ES', 2, CONVERT( datetime, '20120227', 112 ), 5000, 'Stolarz' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'ES', 3, CONVERT( datetime, '20120122', 112 ), 6000, 'Minister śmiesznych kroków' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'OGR', 4, CONVERT( datetime, '20110630', 112 ), 34000, 'Malarz' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'OGR', 5, CONVERT( datetime, '20100609', 112 ), 6000, 'Spawacz' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'NOW', 6, CONVERT( datetime, '20130411', 112 ), 5400, 'Kasjer' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'NOW', 7, CONVERT( datetime, '20151202', 112 ), 3200, 'Magazynier' )
INSERT INTO ETATY( ID_FIRMY, ID_OSOBY, OD, PENSJA, STANOWISKO )
VALUES( 'EDI', 8, CONVERT( datetime, '20180701', 112 ), 1000, 'Kierowca' )
SELECT * FROM dbo.WOJ
SELECT * FROM dbo.MIASTA
SELECT * FROM dbo.OSOBY
SELECT * FROM dbo.FIRMY
SELECT * FROM dbo.ETATY