· 7 years ago · Jan 27, 2019, 12:04 PM
1
2IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='pacjent')
3DROP TABLE pacjent;
4IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='karta')
5DROP TABLE karta;
6IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='lekarz')
7DROP TABLE lekarz;
8IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='gabinet')
9DROP TABLE gabinet;
10IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='wizyta')
11DROP TABLE wizyta;
12GO
13
14--ENCJA KARTA PACJENTA----------------------------------------------------------------------
15
16CREATE TABLE karta (
17 id_karta INT PRIMARY KEY,
18 ulica VARCHAR(24) NOT NULL,
19 numer VARCHAR(8) NOT NULL,
20 miasto VARCHAR(24) NOT NULL,
21 kod VARCHAR(6) NOT NULL,
22 telefon VARCHAR(16),
23
24);
25
26INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
27VALUES (1, 'Mickiewicza', '12', 'ElblÄ…g', '82-300', '228-277-097');
28
29INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
30VALUES (2, 'Grunwaldzka', '3', 'ElblÄ…g', '82-300', '388-299-086');
31
32INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
33VALUES (3, 'Kochanowskiego', '8', 'ElblÄ…g', '82-300', '222-312-498');
34
35INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
36VALUES (4, 'Lotnicza', '9', 'ElblÄ…g', '82-300', '778-512-044');
37
38INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
39VALUES (5, 'Królewiecka', '11', 'Elbląg', '82-300', '111-222-345');
40
41INSERT INTO karta (id_karta, ulica,numer, miasto,kod, telefon)
42VALUES (6, 'Mickiewicza', '22', 'ElblÄ…g', '82-300', '223-274-097');
43
44GO
45
46
47
48--ENCJA PACJENT-----------------------------------------------------------------------
49
50CREATE TABLE pacjent (
51 id_pacjent INT PRIMARY KEY,
52 imie VARCHAR(15) NOT NULL,
53 nazwisko VARCHAR(20) NOT NULL,
54 data_urodzenia DATETIME NOT NULL,
55 PESEL VARCHAR(11) NOT NULL,
56 id_karta INT FOREIGN KEY REFERENCES karta(id_karta) NOT NULL
57
58);
59
60INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
61VALUES (1, 'Wanda', 'Kamińska', '1997-01-01', 97010112345, 1);
62
63INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
64VALUES (2, 'Krzysztof', 'Adamski', '1987-05-01', 87050112345, 2);
65
66INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
67VALUES (3, 'Piotr', 'Michalski', '1978-06-01', 78050112345, 3);
68
69INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
70VALUES (4, 'Bożena', 'Domańska', '1953-02-01', 53021234522, 4);
71
72INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
73VALUES (5, 'Wojciech', 'Burzalski', '1949-12-01', 49120112345, 5);
74
75INSERT INTO pacjent (id_pacjent, imie, nazwisko, data_urodzenia,PESEL, id_karta)
76VALUES (6, 'Karolina', 'Åapa', '2002-01-12', 12345678910, 6);
77Go
78
79
80
81--ENCJA LEKARZ--------------------------------------------------------------------------------
82
83CREATE TABLE lekarz (
84 id_lekarz INT PRIMARY KEY,
85 imie VARCHAR(15) NOT NULL,
86 nazwisko VARCHAR(20) NOT NULL,
87 telefon VARCHAR(16),
88 );
89
90INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
91VALUES (1, 'Karina', 'Åuciw' , '244-283-701');
92
93INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
94VALUES (2, 'Krzysztof', 'Dobrowolski', '443-285-202');
95
96INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
97VALUES (3, 'Marcin', 'Krzykała', '442-211-109');
98
99INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
100VALUES (4, 'Aneta', 'Paprocka', '442-671-899');
101
102INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
103VALUES (5, 'Sebastian', 'Kownacki', '423-681-129');
104
105INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
106VALUES (6, 'Marian', 'Kawa', '423-682-229');
107
108INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
109VALUES (7, 'Aleksander', 'Korzeń', '423-681-129');
110
111INSERT INTO lekarz(id_lekarz, imie, nazwisko, telefon)
112VALUES (8, 'Anna', 'Kowalska' , '444-283-901');
113
114--ENCJA WYNAGRODZENIE--------------------------------------------------------------------------
115
116CREATE TABLE wynagrodzenie
117(
118id_lekarz INT FOREIGN KEY REFERENCES lekarz(id_lekarz) NOT NULL,
119pensja FLOAT NOT NULL
120);
121
122INSERT INTO wynagrodzenie(id_lekarz, pensja)
123VALUES (1, 8200.00);
124
125INSERT INTO wynagrodzenie(id_lekarz, pensja)
126VALUES (2, 7328.00);
127
128INSERT INTO wynagrodzenie(id_lekarz, pensja)
129VALUES (3, 3842.00);
130
131INSERT INTO wynagrodzenie(id_lekarz, pensja)
132VALUES (4, 4123.00);
133
134INSERT INTO wynagrodzenie(id_lekarz, pensja)
135VALUES (5, 5240.00);
136
137INSERT INTO wynagrodzenie(id_lekarz, pensja)
138VALUES (6, 5140.00);
139
140INSERT INTO wynagrodzenie(id_lekarz, pensja)
141VALUES (7, 5240.00);
142
143INSERT INTO wynagrodzenie(id_lekarz, pensja)
144VALUES (8, 7200.00);
145
146
147
148--ENCJA GABINET-------------------------------------------------------------------------------------
149
150CREATE TABLE gabinet (
151 id_gabinet INT PRIMARY KEY,
152 nr_gabinet VARCHAR(10)
153 );
154
155INSERT INTO gabinet(id_gabinet, nr_gabinet)
156VALUES (1, '101');
157
158INSERT INTO gabinet(id_gabinet, nr_gabinet)
159VALUES (2, '102');
160
161INSERT INTO gabinet(id_gabinet, nr_gabinet)
162VALUES (3, '103');
163
164INSERT INTO gabinet(id_gabinet, nr_gabinet)
165VALUES (4, '104');
166
167INSERT INTO gabinet(id_gabinet, nr_gabinet)
168VALUES (5, '105');
169GO
170
171--RELACJA WIZYTA------------------------------------------------------------------------------------
172
173CREATE TABLE wizyta (
174 id_wizyta INT PRIMARY KEY,
175 id_karta INT FOREIGN KEY REFERENCES karta(id_karta),
176 id_lekarz INT FOREIGN KEY REFERENCES lekarz(id_lekarz),
177 id_gabinet INT FOREIGN KEY REFERENCES gabinet(id_gabinet),
178 termin DATETIME NOT NULL,
179 zalecenia VARCHAR(100),
180 diagnoza VARCHAR(150)
181 );
182GO
183
184INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
185VALUES (1, 1, 5, 5, '2018-09-13', NULL, NULL)
186
187INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
188VALUES (2, 2, 3, 5, '2018-04-23', NULL, NULL)
189
190INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
191VALUES (3, 2, 4, 2, '2018-08-03', NULL, NULL)
192
193INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
194VALUES (4, 4, 1, 1, '2018-01-25', NULL, NULL)
195
196INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
197VALUES (5, 5, 1, 3, '2018-12-13', NULL, NULL)
198
199INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
200VALUES (6, 5, 3, 4, '2018-05-30', NULL, NULL)
201
202INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
203VALUES (7, 3, 2, 1, '2018-06-11', NULL, NULL)
204
205INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
206VALUES (8, 6, 5, 2, '2018-02-23', NULL, NULL)
207
208INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
209VALUES (9, 6, 6, 5, '2018-01-15', NULL, NULL)
210
211INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
212VALUES (10, 1, 5, 2, '2018-08-06', NULL, NULL)
213
214INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
215VALUES (11, 3, 3, 1, '2018-09-12', NULL, NULL)
216
217INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
218VALUES (12, 1, 8, 4, '2018-01-14', NULL, NULL)
219
220INSERT INTO wizyta (id_wizyta, id_karta, id_lekarz, id_gabinet, termin, zalecenia, diagnoza)
221VALUES (13, 4, 7, 3, '2018-12-08', NULL, NULL)
222GO
223
224--wyświetlenie zawartości tabel
225
226SELECT * FROM pacjent;
227SELECT * FROM karta;
228SELECT * FROM lekarz;
229SELECT * FROM gabinet;
230SELECT * FROM wizyta;
231GO
232
233--Ilości rekordów:
234SELECT
235 (SELECT COUNT(*) FROM pacjent) AS pacjent,
236 (SELECT COUNT(*) FROM karta) AS karta_pacjenta,
237 (SELECT COUNT(*) FROM lekarz) AS lekarz,
238 (SELECT COUNT(*) FROM gabinet) AS gabinet,
239 (SELECT COUNT(*) FROM wizyta) AS wizyta
240 GO