· 6 years ago · Dec 10, 2019, 08:06 AM
1use Gosp
2DROP TABLE IF EXISTS podawane_lekarstwa
3DROP TABLE IF EXISTS przebyte_choroby
4DROP TABLE IF EXISTS wplyw_choroby_na_gatunek
5DROP TABLE IF EXISTS dopasowanie_lekarstw
6DROP TABLE IF EXISTS dzialanie_lekarstw
7DROP TABLE IF EXISTS planowane_karmienia
8DROP TABLE IF EXISTS leczenie
9DROP TABLE IF EXISTS choroby
10DROP TABLE IF EXISTS gatunki
11DROP TABLE IF EXISTS lekarstwa
12DROP TABLE IF EXISTS pasze
13
14
15DROP TABLE IF EXISTS wydajnosc_paszy
16DROP TABLE IF EXISTS zwierzeta
17CREATE TABLE gatunki
18(
19 id INT IDENTITY PRIMARY KEY,
20 nazwa VARCHAR(30) NOT NULL,
21 dlugosc_zycia INT,
22);
23CREATE TABLE pasze
24(
25 id INT IDENTITY PRIMARY KEY,
26 nazwa VARCHAR(30) NOT NULL,
27 masa INT DEFAULT 0,
28);
29CREATE TABLE choroby
30(
31 id INT IDENTITY PRIMARY KEY,
32 nazwa VARCHAR(40) NOT NULL,
33 stopien_zagrozenia INT CHECK (stopien_zagrozenia >= 0 AND stopien_zagrozenia <=5),
34 czy_zakazne INT CHECK (czy_zakazne>= 0 AND czy_zakazne <=1),
35);
36CREATE TABLE lekarstwa
37(
38 id INT IDENTITY PRIMARY KEY,
39 nazwa VARCHAR(40) NOT NULL,
40 ilosc_dawek INT DEFAULT 0,
41 sposob_podawania VARCHAR(200),
42 czy_wymagany_weterynarz INT CHECK (czy_wymagany_weterynarz >= 0 AND czy_wymagany_weterynarz <=1) DEFAULT 0,
43
44);
45CREATE TABLE leczenie
46(
47 id INT IDENTITY PRIMARY KEY,
48 id_lekarstwa INT REFERENCES lekarstwa ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ,
49 id_choroby INT REFERENCES choroby ON UPDATE CASCADE ON DELETE CASCADE NOT NULL
50);
51
52CREATE TABLE wydajnosc_paszy
53
54(
55 id INT IDENTITY PRIMARY KEY,
56 wydajnosc INT,
57 id_pasze INT REFERENCES pasze ON UPDATE CASCADE ON DELETE CASCADE,
58 id_gatunki INT REFERENCES gatunki ON UPDATE CASCADE ON DELETE CASCADE
59
60);
61CREATE TABLE zwierzeta
62(
63 id INT IDENTITY PRIMARY KEY,
64 data_narodzin DATE DEFAULT GETDATE(),
65 pochodzenie VARCHAR(30),
66 id_gatunki INT REFERENCES gatunki ON UPDATE CASCADE ON DELETE CASCADE,
67 czy_zyje BIT DEFAULT 1
68);
69
70
71
72CREATE TABLE przebyte_choroby
73(
74 id INT IDENTITY PRIMARY KEY,
75 id_zwierzeta INT REFERENCES zwierzeta ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
76 id_choroby INT REFERENCES choroby ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
77 od DATE DEFAULT GETDATE(),
78 do DATE
79
80
81);
82CREATE TABLE podawane_lekarstwa
83(
84 id INT IDENTITY PRIMARY KEY,
85 ilosc_dawek INT NOT NULL,
86 id_lekarstwa INT REFERENCES lekarstwa ON UPDATE CASCADE ON DELETE CASCADE NOT NULL ,
87 id_zwierzeta INT REFERENCES zwierzeta ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
88 godzina TIME NOT NULL,
89 data_podania DATE NOT NULL
90);
91CREATE TABLE planowane_karmienia
92(
93 id INT IDENTITY PRIMARY KEY,
94 id_zwierzeta INT REFERENCES zwierzeta ON UPDATE CASCADE ON DELETE CASCADE,
95 id_pasze INT REFERENCES pasze ON UPDATE CASCADE ON DELETE CASCADE,
96 godzina TIME,
97 dzien_tygodnia INT CHECK (dzien_tygodnia >=0 AND dzien_tygodnia <=6),
98 masa INT CHECK (masa>=0)
99);
100CREATE TABLE dzialanie_lekarstw
101(
102 id INT IDENTITY PRIMARY KEY,
103 id_choroby INT REFERENCES choroby ON UPDATE CASCADE ON DELETE CASCADE,
104 id_lekarstwa INT REFERENCES lekarstwa ON UPDATE CASCADE ON DELETE CASCADE
105);
106CREATE TABLE dopasowanie_lekarstw
107(
108 id INT IDENTITY PRIMARY KEY,
109 id_choroby INT REFERENCES choroby ON UPDATE CASCADE ON DELETE CASCADE,
110 id_gatunki INT REFERENCES gatunki ON UPDATE CASCADE ON DELETE CASCADE,
111 czy_pasuje INT CHECK (czy_pasuje >= 0 AND czy_pasuje <=1) DEFAULT 1,
112 dawka_smiertelna FLOAT,
113 dawka_progowa FLOAT,
114 objawy_przedawkowania TEXT
115);
116
117
118
119INSERT INTO gatunki(nazwa,dlugosc_zycia) VALUES
120('Krowa azjatycka',20),
121('Krowa łaciata',15),
122('Świnia europejska',10),
123('Świnia arabska',12),
124('Kura pospolita',3),
125('Kundel bury',13),
126('Świnka morska',12),
127('Jeż powietrzny',5),
128('Dzięcioł rudy',1),
129('Żółw lądowy',2),
130('Świnia Puławska',4);
131
132INSERT INTO pasze(nazwa,masa) VALUES
133('Dossche',314),
134('Sauengold Lac',159),
135('Protamino pregna',265),
136('Poweramino',358),
137('Aminogold Forte',979),
138('Protamino Premium',323),
139('Protamino Premium Forte',846),
140('Bekonsan Finisher',626),
141('SanoCid',433),
142('Prela',832),
143('Prenata 1.0',7950),
144('Lateccino',288),
145('Lactoma HP',419);
146
147INSERT INTO lekarstwa(nazwa,ilosc_dawek,sposob_podawania,czy_wymagany_weterynarz) VALUES
148('Ibuprom Forte',32,'doustnie',1),
149('Interflox',12,'doustnie',0),
150('Morfina',0,'dożylnie',1),
151('Ketoject',2,'zastrzyk',0),
152('Exitel',16,'doustnie',1),
153('Medimec Plus',23,'zastrzyk',0),
154('NEOMAY',3,'doustnie - w wodzie',0),
155('Chanazone',2,'doustnie',0),
156('Velox Spray neutral',4,'spray',0),
157('Teraflu',40,'doustnie',1);
158INSERT INTO choroby(nazwa,stopien_zagrozenia,czy_zakazne) VALUES
159('Przeziębienie',5,1),
160('Świnka',2,0),
161('Tężec',4,0),
162('Choroba wściekłych krów',5,1),
163('Sarkazoida',2,1),
164('Wąglik',5,1),
165('Wścieklizna',5,0),
166('Ochwat',3,0),
167('Złamana kość',1,0),
168('Grypa',2,1);
169INSERT INTO leczenie(id_choroby,id_lekarstwa) VALUES
170(1,2),
171(9,3),
172(2,3),
173(4,5),
174(5,8),
175(4,2),
176(2,6),
177(6,5),
178(10,1),
179(7,2),
180(8,2),
181(7,3);
182
183INSERT INTO wydajnosc_paszy(wydajnosc,id_pasze,id_gatunki) VALUES
184(20,1,2),
185(30,9,3),
186(25,2,3),
187(12,4,5),
188(22,5,8),
189(24,4,2),
190(23,2,6),
191(39,6,5),
192(33,10,1),
193(30,7,2),
194(29,8,2),
195(31,7,3);
196
197INSERT INTO zwierzeta(data_narodzin,pochodzenie,id_gatunki,czy_zyje) VALUES
198('2019-11-20','Polska',10,1),
199('2015-12-21','Polska',9,1),
200('2013-01-03','Polska',8,0),
201('2010-01-15','Polska',7,1),
202('2009-01-21','Polska',6,1),
203('2012-02-12','Ukraina',5,1),
204('2013-05-14','Polska',4,1),
205('2016-07-15','Polska',3,1),
206('2012-02-18','Ukraina',2,1),
207('2011-01-04','Polska',1,1),
208('2016-09-01','Polska',5,1);
209
210INSERT INTO planowane_karmienia(id_zwierzeta,id_pasze,godzina,dzien_tygodnia,masa) VALUES
211(1,10,'6:00',0,5),
212(2,9,'8:00',1,7),
213(3,8,'12:00',2,3),
214(4,7,'10:00',4,6),
215(5,6,'6:00',5,1),
216(6,5,'6:00',6,8),
217(7,4,'8:00',3,4),
218(8,3,'5:00',4,2),
219(9,2,'3:00',5,123),
220(10,1,'18:00',2,53);
221
222
223
224INSERT INTO przebyte_choroby(id_zwierzeta,id_choroby,od,do) VALUES
225(1,10,'2019-01-23','2019-11-20'),
226(2,9,'2018-10-23','2019-11-10'),
227(3,8,'2017-09-23','2018-11-22'),
228(4,7,'2016-08-23','2019-06-25'),
229(5,6,'2015-07-23','2019-06-25'),
230(6,5,'2014-06-23','2019-10-27'),
231(7,4,'2013-05-23','2019-06-25'),
232(8,3,'2012-04-23','2013-10-20'),
233(9,2,'2011-03-23','2015-11-20'),
234(10,1,'2019-02-23','2019-06-25');
235
236INSERT INTO podawane_lekarstwa(ilosc_dawek,id_lekarstwa,id_zwierzeta,godzina,data_podania) VALUES
237(2,1,1,'12:13','2020-01-01'),
238(3,2,2,'11:00','2020-01-02'),
239(3,4,4,'13:00','2020-01-03'),
240(4,5,5,'12:00','2020-01-04'),
241(5,6,6,'13:00','2020-01-05'),
242(3,7,7,'15:00','2020-01-06'),
243(2,8,8,'14:00','2020-01-07'),
244(1,9,9,'17:00','2020-01-08'),
245(1,10,10,'6:00','2020-01-09');
246
247INSERT INTO dopasowanie_lekarstw(id_choroby,id_gatunki,czy_pasuje,dawka_smiertelna,dawka_progowa,objawy_przedawkowania) VALUES
248(1,10,1,30,20,'Rumieniec'),
249(2,9,1,20,10,'Gorączka'),
250(3,8,1,15,10,'Rumieniec'),
251(4,7,1,20,5,'Wysypka'),
252(5,6,0,69,50,'Drgawki'),
253(6,5,1,200,34,'Drgawki'),
254(7,4,0,20,5,'Ospałość'),
255(8,3,1,60,10,'Agresja'),
256(9,2,1,30,20,'Agresja'),
257(10,1,1,32,23,'Gorączka');
258
259
260SELECT * FROM lekarstwa
261UPDATE pasze SET masa=23 WHERE id=1; --dopisac opisy
262UPDATE lekarstwa SET ilosc_dawek=100 WHERE id=5;
263UPDATE lekarstwa SET ilosc_dawek = 5 WHERE ilosc_dawek<5
264DELETE planowane_karmienia WHERE id_zwierzeta=4
265DELETE podawane_lekarstwa WHERE ilosc_dawek > 3
266DELETE planowane_karmienia WHERE (dzien_tygodnia=6 AND masa>2)
267DELETE gatunki WHERE id=3
268SELECT * FROM lekarstwa