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