· 8 years ago · Mar 07, 2018, 06:38 PM
1#@(#) script.ddl
2
3DROP TABLE IF EXISTS MOKEJIMAS;
4DROP TABLE IF EXISTS SASKAITA;
5DROP TABLE IF EXISTS itraukta;
6DROP TABLE IF EXISTS turi;
7DROP TABLE IF EXISTS SUTARTIS;
8DROP TABLE IF EXISTS KOMPIUTERIS;
9DROP TABLE IF EXISTS DARBUOTOJAS;
10DROP TABLE IF EXISTS PERIFERIJOS_IRENGINYS;
11DROP TABLE IF EXISTS KOMPIUTERIO_KOMPONENTAS;
12DROP TABLE IF EXISTS FILIALAS;
13DROP TABLE IF EXISTS EKRANAS;
14DROP TABLE IF EXISTS SUTARTIES_BUSENOS;
15DROP TABLE IF EXISTS PERIFERIJOS_TIPAI;
16DROP TABLE IF EXISTS KOMPIUTERIO_TIPAI;
17DROP TABLE IF EXISTS KOMPIUTERIO_KOMPONENTU_TIPAI;
18DROP TABLE IF EXISTS EKRANO_TIPAI;
19DROP TABLE IF EXISTS EKRANO_REZOLIUCIJOS;
20DROP TABLE IF EXISTS EKRANO_ISTRIZAINES;
21DROP TABLE IF EXISTS NUOLAIDA;
22DROP TABLE IF EXISTS MIESTAS;
23DROP TABLE IF EXISTS KLIENTAS;
24CREATE TABLE KLIENTAS
25(
26 kliento_id int NOT NULL AUTO_INCREMENT,
27 telefono_nr varchar (64) NOT NULL,
28 vardas varchar (64) NOT NULL,
29 pavarde varchar (64) NOT NULL,
30 el_pastas varchar (64) NOT NULL,
31 pristatymo_adresas varchar (128) NULL,
32 PRIMARY KEY(kliento_id)
33);
34
35CREATE TABLE MIESTAS
36(
37 pavadinimas varchar (64) NOT NULL,
38 id_MIESTAS integer NOT NULL AUTO_INCREMENT,
39 PRIMARY KEY(id_MIESTAS)
40);
41
42CREATE TABLE NUOLAIDA
43(
44 kodas varchar (32) NOT NULL,
45 pavadinimas varchar (64) NOT NULL,
46 kiekis_procentais int NOT NULL,
47 galioja_nuo date NOT NULL,
48 galioja_iki date NOT NULL,
49 PRIMARY KEY(kodas)
50);
51
52CREATE TABLE EKRANO_ISTRIZAINES
53(
54 id_EKRANO_ISTRIZAINES integer NOT NULL AUTO_INCREMENT,
55 name char (4) NOT NULL,
56 PRIMARY KEY(id_EKRANO_ISTRIZAINES)
57);
58INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(1, '13');
59INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(2, '14');
60INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(3, '15');
61INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(4, '17');
62INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(5, '21');
63INSERT INTO EKRANO_ISTRIZAINES(id_EKRANO_ISTRIZAINES, name) VALUES(6, 'Kita');
64
65CREATE TABLE EKRANO_REZOLIUCIJOS
66(
67 id_EKRANO_REZOLIUCIJOS integer NOT NULL AUTO_INCREMENT,
68 name char (9) NOT NULL,
69 PRIMARY KEY(id_EKRANO_REZOLIUCIJOS)
70);
71INSERT INTO EKRANO_REZOLIUCIJOS(id_EKRANO_REZOLIUCIJOS, name) VALUES(1, '1366x768');
72INSERT INTO EKRANO_REZOLIUCIJOS(id_EKRANO_REZOLIUCIJOS, name) VALUES(2, '1920x1080');
73INSERT INTO EKRANO_REZOLIUCIJOS(id_EKRANO_REZOLIUCIJOS, name) VALUES(3, '2560x1440');
74INSERT INTO EKRANO_REZOLIUCIJOS(id_EKRANO_REZOLIUCIJOS, name) VALUES(4, '3840x2160');
75INSERT INTO EKRANO_REZOLIUCIJOS(id_EKRANO_REZOLIUCIJOS, name) VALUES(5, 'Kita');
76
77CREATE TABLE EKRANO_TIPAI
78(
79 id_EKRANO_TIPAI integer NOT NULL AUTO_INCREMENT,
80 name char (7) NOT NULL,
81 PRIMARY KEY(id_EKRANO_TIPAI)
82);
83INSERT INTO EKRANO_TIPAI(id_EKRANO_TIPAI, name) VALUES(1, 'Matinis');
84INSERT INTO EKRANO_TIPAI(id_EKRANO_TIPAI, name) VALUES(2, 'Blizgus');
85INSERT INTO EKRANO_TIPAI(id_EKRANO_TIPAI, name) VALUES(3, 'Kita');
86
87CREATE TABLE KOMPIUTERIO_KOMPONENTU_TIPAI
88(
89 id_KOMPIUTERIO_KOMPONENTU_TIPAI integer NOT NULL AUTO_INCREMENT,
90 name char (25) NOT NULL,
91 PRIMARY KEY(id_KOMPIUTERIO_KOMPONENTU_TIPAI)
92);
93INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(1, 'procesorius');
94INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(2, 'operatyvine_atmintis');
95INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(3, 'vaizdo_plokste');
96INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(4, 'vidinis_duomenu_kaupiklis');
97INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(5, 'ausintuvas');
98INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(6, 'korpusas');
99INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(7, 'maitinimo_blokas');
100INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(8, 'pagrindine_plokste');
101INSERT INTO KOMPIUTERIO_KOMPONENTU_TIPAI(id_KOMPIUTERIO_KOMPONENTU_TIPAI, name) VALUES(9, 'garso_plokste');
102
103CREATE TABLE KOMPIUTERIO_TIPAI
104(
105 id_KOMPIUTERIO_TIPAI integer NOT NULL AUTO_INCREMENT,
106 name char (11) NOT NULL,
107 PRIMARY KEY(id_KOMPIUTERIO_TIPAI)
108);
109INSERT INTO KOMPIUTERIO_TIPAI(id_KOMPIUTERIO_TIPAI, name) VALUES(1, 'Nesiojamas');
110INSERT INTO KOMPIUTERIO_TIPAI(id_KOMPIUTERIO_TIPAI, name) VALUES(2, 'Stacionarus');
111
112CREATE TABLE PERIFERIJOS_TIPAI
113(
114 id_PERIFERIJOS_TIPAI integer NOT NULL AUTO_INCREMENT,
115 name char (13) NOT NULL,
116 PRIMARY KEY(id_PERIFERIJOS_TIPAI)
117);
118INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(1, 'monitorius');
119INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(2, 'klaviatura');
120INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(3, 'pele');
121INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(4, 'koloneles');
122INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(5, 'ausines');
123INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(6, 'mikrofonas');
124INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(7, 'web_kamera');
125INSERT INTO PERIFERIJOS_TIPAI(id_PERIFERIJOS_TIPAI, name) VALUES(8, 'spausdintuvas');
126
127CREATE TABLE SUTARTIES_BUSENOS
128(
129 id_SUTARTIES_BUSENOS integer NOT NULL AUTO_INCREMENT,
130 name char (19) NOT NULL,
131 PRIMARY KEY(id_SUTARTIES_BUSENOS)
132);
133INSERT INTO SUTARTIES_BUSENOS(id_SUTARTIES_BUSENOS, name) VALUES(1, 'patvirtinta');
134INSERT INTO SUTARTIES_BUSENOS(id_SUTARTIES_BUSENOS, name) VALUES(2, 'laukiama_apmokejimo');
135INSERT INTO SUTARTIES_BUSENOS(id_SUTARTIES_BUSENOS, name) VALUES(3, 'vykdoma');
136INSERT INTO SUTARTIES_BUSENOS(id_SUTARTIES_BUSENOS, name) VALUES(4, 'ivykdyta');
137
138CREATE TABLE EKRANAS
139(
140 ekrano_id int NOT NULL AUTO_INCREMENT,
141 lietimams_jautrus boolean NOT NULL,
142 ekrano_istrizaine integer NOT NULL,
143 ekrano_rezoliucija integer NOT NULL,
144 ekrano_tipas integer NOT NULL,
145 PRIMARY KEY(ekrano_id),
146 FOREIGN KEY(ekrano_rezoliucija) REFERENCES EKRANO_REZOLIUCIJOS (id_EKRANO_REZOLIUCIJOS),
147 FOREIGN KEY(ekrano_istrizaine) REFERENCES EKRANO_ISTRIZAINES (id_EKRANO_ISTRIZAINES),
148 FOREIGN KEY(ekrano_tipas) REFERENCES EKRANO_TIPAI (id_EKRANO_TIPAI)
149);
150
151CREATE TABLE FILIALAS
152(
153 filialo_id int NOT NULL AUTO_INCREMENT,
154 telefono_nr varchar (64) NOT NULL,
155 el_pastas varchar (64) NOT NULL,
156 adresas varchar (128) NOT NULL,
157 fk_MIESTASid_MIESTAS integer NOT NULL,
158 PRIMARY KEY(filialo_id),
159 CONSTRAINT turi FOREIGN KEY(fk_MIESTASid_MIESTAS) REFERENCES MIESTAS (id_MIESTAS)
160);
161
162CREATE TABLE KOMPIUTERIO_KOMPONENTAS
163(
164 id int NOT NULL AUTO_INCREMENT,
165 gamintojas varchar (64) NULL,
166 modelis varchar (128),
167 kaina double NOT NULL,
168 tipas integer NOT NULL,
169 garantijos_laikas int NOT NULL,
170 PRIMARY KEY(id),
171 FOREIGN KEY(tipas) REFERENCES KOMPIUTERIO_KOMPONENTU_TIPAI (id_KOMPIUTERIO_KOMPONENTU_TIPAI)
172);
173
174CREATE TABLE KOMPIUTERIS
175(
176 id int NOT NULL AUTO_INCREMENT,
177 gamintojas varchar (64) NOT NULL,
178 modelis varchar (64) NOT NULL,
179 operacine_sistema varchar (64) NOT NULL,
180 kompiuterio_tipas integer NOT NULL,
181 fk_EKRANASekrano_id int NOT NULL,
182 PRIMARY KEY(id),
183 FOREIGN KEY(kompiuterio_tipas) REFERENCES KOMPIUTERIO_TIPAI (id_KOMPIUTERIO_TIPAI),
184 CONSTRAINT galimas FOREIGN KEY(fk_EKRANASekrano_id) REFERENCES EKRANAS (ekrano_id)
185);
186
187CREATE TABLE PERIFERIJOS_IRENGINYS
188(
189 id int NOT NULL AUTO_INCREMENT,
190 gamintojas varchar (64) NOT NULL,
191 modelis varchar (128) NOT NULL,
192 kaina double NOT NULL,
193 garantijos_laikas int NOT NULL,
194 tipas integer NOT NULL,
195 PRIMARY KEY(id),
196 FOREIGN KEY(tipas) REFERENCES PERIFERIJOS_TIPAI (id_PERIFERIJOS_TIPAI)
197);
198
199CREATE TABLE DARBUOTOJAS
200(
201 darbuotojo_kodas int NOT NULL AUTO_INCREMENT,
202 vardas varchar (64) NOT NULL,
203 pavarde varchar (64) NOT NULL,
204 fk_FILIALASfilialo_id int NOT NULL,
205 PRIMARY KEY(darbuotojo_kodas),
206 CONSTRAINT dirba FOREIGN KEY(fk_FILIALASfilialo_id) REFERENCES FILIALAS (filialo_id)
207);
208
209CREATE TABLE SUTARTIS
210(
211 nr int NOT NULL AUTO_INCREMENT,
212 sutarties_data date NOT NULL,
213 planuojamas_atlikimo_laikas date NOT NULL,
214 kaina double NOT NULL,
215 pristatymas boolean NOT NULL,
216 surinkimo_paslauga boolean NOT NULL,
217 busena integer NOT NULL,
218 fk_KOMPIUTERISid int NOT NULL,
219 fk_DARBUOTOJASdarbuotojo_kodas bigint NOT NULL,
220 fk_NUOLAIDAkodas varchar (32) NULL,
221 fk_KLIENTASkliento_id int NOT NULL,
222 PRIMARY KEY(nr),
223 FOREIGN KEY(busena) REFERENCES SUTARTIES_BUSENOS (id_SUTARTIES_BUSENOS),
224 CONSTRAINT itrauktas FOREIGN KEY(fk_KOMPIUTERISid) REFERENCES KOMPIUTERIS (id),
225 CONSTRAINT patvirtina FOREIGN KEY(fk_DARBUOTOJASdarbuotojo_kodas) REFERENCES DARBUOTOJAS (darbuotojo_kodas),
226 CONSTRAINT taikoma FOREIGN KEY(fk_NUOLAIDAkodas) REFERENCES NUOLAIDA (kodas),
227 CONSTRAINT sudaro FOREIGN KEY(fk_KLIENTASkliento_id) REFERENCES KLIENTAS (kliento_id)
228);
229
230CREATE TABLE turi
231(
232 fk_KOMPIUTERISid int NOT NULL,
233 fk_KOMPIUTERIO_KOMPONENTASid int NOT NULL,
234 PRIMARY KEY(fk_KOMPIUTERIO_KOMPONENTASid, fk_KOMPIUTERISid),
235 CONSTRAINT fk_komponentas FOREIGN KEY(fk_kompiuterio_komponento_id) REFERENCES KOMPIUTERIO_KOMPONENTAS (id),
236 CONSTRAINT fk_kompiuteris FOREIGN KEY(fk_kompiuterio_id) REFERENCES KOMPIUTERIS (id)
237);
238
239CREATE TABLE itraukta
240(
241 fk_PERIFERIJOS_IRENGINYSid int NOT NULL,
242 fk_SUTARTISnr int NOT NULL,
243 PRIMARY KEY(fk_PERIFERIJOS_IRENGINYSid, fk_SUTARTISnr),
244 CONSTRAINT fk_irenginys FOREIGN KEY(fk_PERIFERIJOS_IRENGINYSid) REFERENCES PERIFERIJOS_IRENGINYS (id),
245 CONSTRAINT fk_sutartis FOREIGN KEY(fk_SUTARTISnr) REFERENCES SUTARTIS (nr)
246);
247
248CREATE TABLE SASKAITA
249(
250 nr int NOT NULL AUTO_INCREMENT,
251 data date NOT NULL,
252 suma double NOT NULL,
253 fk_SUTARTISnr int NOT NULL,
254 PRIMARY KEY(nr),
255 CONSTRAINT israsoma FOREIGN KEY(fk_SUTARTISnr) REFERENCES SUTARTIS (nr)
256);
257
258CREATE TABLE MOKEJIMAS
259(
260 data date NOT NULL,
261 suma double NOT NULL,
262 id_MOKEJIMAS integer NOT NULL AUTO_INCREMENT,
263 fk_SASKAITAnr int NOT NULL,
264 fk_KLIENTASkliento_id int NOT NULL,
265 PRIMARY KEY(id_MOKEJIMAS),
266 CONSTRAINT apmoka FOREIGN KEY(fk_SASKAITAnr) REFERENCES SASKAITA (nr),
267 CONSTRAINT atlieka FOREIGN KEY(fk_KLIENTASkliento_id) REFERENCES KLIENTAS (kliento_id)
268);