· 6 years ago · Apr 13, 2019, 07:50 AM
1-- MySQL Script generated by MySQL Workbench
2-- Sat Apr 13 09:46:22 2019
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6/* SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; */
7/* SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; */
8/* SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; */
9
10-- -----------------------------------------------------
11-- Schema mydb
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema mydb
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8 ;
18USE mydb ;
19
20-- -----------------------------------------------------
21-- Table `mydb`.`adresy`
22-- -----------------------------------------------------
23CREATE SEQUENCE mydb.adresy_seq;
24
25CREATE TABLE IF NOT EXISTS mydb.adresy (
26 idadresy INT NOT NULL DEFAULT NEXTVAL ('mydb.adresy_seq'),
27 miasto VARCHAR(45) NOT NULL,
28 ulica VARCHAR(45) NOT NULL,
29 numer_budynku VARCHAR(45) NOT NULL,
30 numer_lokalu INT NULL,
31 kod_pocztowy VARCHAR(45) NOT NULL,
32 PRIMARY KEY (idadresy))
33;
34
35
36-- -----------------------------------------------------
37-- Table `mydb`.`filie`
38-- -----------------------------------------------------
39CREATE SEQUENCE mydb.filie_seq;
40
41CREATE TABLE IF NOT EXISTS mydb.filie (
42 Idfilie INT NOT NULL DEFAULT NEXTVAL ('mydb.filie_seq'),
43 nr_filii INT NOT NULL,
44 adresy_idadresy INT NOT NULL,
45 PRIMARY KEY (Idfilie)
46 CREATE INDEX fk_filie_adresy1_idx ON mydb.filie (adresy_idadresy ASC) VISIBLE,
47 CONSTRAINT fk_filie_adresy1
48 FOREIGN KEY (adresy_idadresy)
49 REFERENCES `mydb`.`adresy` (idadresy)
50 ON DELETE NO ACTION
51 ON UPDATE NO ACTION)
52ENGINE = InnoDB;
53
54
55-- -----------------------------------------------------
56-- Table `mydb`.`uzytkownik`
57-- -----------------------------------------------------
58CREATE SEQUENCE mydb.uzytkownik_seq;
59
60CREATE TABLE IF NOT EXISTS mydb.uzytkownik (
61 iduzytkownik INT NOT NULL DEFAULT NEXTVAL ('mydb.uzytkownik_seq'),
62 login VARCHAR(45) NOT NULL,
63 haslo VARCHAR(45) NOT NULL,
64 email VARCHAR(45) NOT NULL,
65 czyadmin SMALLINT NOT NULL DEFAULT 0,
66 PRIMARY KEY (iduzytkownik))
67;
68
69
70-- -----------------------------------------------------
71-- Table `mydb`.`osobafizyczna`
72-- -----------------------------------------------------
73CREATE SEQUENCE mydb.osobafizyczna_seq;
74
75CREATE TABLE IF NOT EXISTS mydb.osobafizyczna (
76 idosobafizyczna INT NOT NULL DEFAULT NEXTVAL ('mydb.osobafizyczna_seq'),
77 imie VARCHAR(45) NOT NULL,
78 nazwisko VARCHAR(45) NOT NULL,
79 uzytkownik_iduzytkownik INT NOT NULL,
80 PRIMARY KEY (idosobafizyczna)
81 CREATE INDEX fk_osobafizyczna_uzytkownik1_idx ON mydb.osobafizyczna (uzytkownik_iduzytkownik ASC) VISIBLE,
82 CONSTRAINT fk_osobafizyczna_uzytkownik1
83 FOREIGN KEY (uzytkownik_iduzytkownik)
84 REFERENCES `mydb`.`uzytkownik` (iduzytkownik)
85 ON DELETE NO ACTION
86 ON UPDATE NO ACTION)
87ENGINE = InnoDB;
88
89
90-- -----------------------------------------------------
91-- Table `mydb`.`pracownicy`
92-- -----------------------------------------------------
93CREATE SEQUENCE mydb.pracownicy_seq;
94
95CREATE TABLE IF NOT EXISTS mydb.pracownicy (
96 idpracownicy INT NOT NULL DEFAULT NEXTVAL ('mydb.pracownicy_seq'),
97 imie VARCHAR(45) NOT NULL,
98 nazwisko VARCHAR(45) NOT NULL,
99 stanowisko VARCHAR(45) NOT NULL,
100 wynagrodzenie DECIMAL(10,0) NOT NULL,
101 adresy_idadresy INT NOT NULL,
102 filie_Idfilie INT NOT NULL,
103 osobafizyczna_idosobafizyczna INT NOT NULL,
104 PRIMARY KEY (idpracownicy)
105 CREATE INDEX fk_pracownicy_adresy1_idx ON mydb.pracownicy (adresy_idadresy ASC) VISIBLE,
106 INDEX `fk_pracownicy_filie1_idx` (filie_Idfilie ASC) VISIBLE,
107 INDEX `fk_pracownicy_osobafizyczna1_idx` (osobafizyczna_idosobafizyczna ASC) VISIBLE,
108 CONSTRAINT fk_pracownicy_adresy1
109 FOREIGN KEY (adresy_idadresy)
110 REFERENCES `mydb`.`adresy` (idadresy)
111 ON DELETE NO ACTION
112 ON UPDATE NO ACTION,
113 CONSTRAINT fk_pracownicy_filie1
114 FOREIGN KEY (filie_Idfilie)
115 REFERENCES `mydb`.`filie` (Idfilie)
116 ON DELETE NO ACTION
117 ON UPDATE NO ACTION,
118 CONSTRAINT fk_pracownicy_osobafizyczna1
119 FOREIGN KEY (osobafizyczna_idosobafizyczna)
120 REFERENCES `mydb`.`osobafizyczna` (idosobafizyczna)
121 ON DELETE NO ACTION
122 ON UPDATE NO ACTION)
123ENGINE = InnoDB;
124
125
126-- -----------------------------------------------------
127-- Table `mydb`.`klienci`
128-- -----------------------------------------------------
129CREATE SEQUENCE mydb.klienci_seq;
130
131CREATE TABLE IF NOT EXISTS mydb.klienci (
132 idklienci INT NOT NULL DEFAULT NEXTVAL ('mydb.klienci_seq'),
133 imie VARCHAR(45) NOT NULL,
134 nazwisko VARCHAR(45) NOT NULL,
135 nazwa_firmy VARCHAR(45) NULL,
136 regon VARCHAR(45) NULL,
137 nip VARCHAR(45) NULL,
138 rodzaj_klienta VARCHAR(45) NOT NULL,
139 adresy_idadresy INT NOT NULL,
140 osobafizyczna_idosobafizyczna INT NOT NULL,
141 PRIMARY KEY (idklienci)
142 CREATE INDEX fk_klienci_adresy1_idx ON mydb.klienci (adresy_idadresy ASC) VISIBLE,
143 INDEX `fk_klienci_osobafizyczna1_idx` (osobafizyczna_idosobafizyczna ASC) VISIBLE,
144 CONSTRAINT fk_klienci_adresy1
145 FOREIGN KEY (adresy_idadresy)
146 REFERENCES `mydb`.`adresy` (idadresy)
147 ON DELETE NO ACTION
148 ON UPDATE NO ACTION,
149 CONSTRAINT fk_klienci_osobafizyczna1
150 FOREIGN KEY (osobafizyczna_idosobafizyczna)
151 REFERENCES `mydb`.`osobafizyczna` (idosobafizyczna)
152 ON DELETE NO ACTION
153 ON UPDATE NO ACTION)
154ENGINE = InnoDB;
155
156
157-- -----------------------------------------------------
158-- Table `mydb`.`lokalizacja`
159-- -----------------------------------------------------
160CREATE SEQUENCE mydb.lokalizacja_seq;
161
162CREATE TABLE IF NOT EXISTS mydb.lokalizacja (
163 idlokalizacja INT NOT NULL DEFAULT NEXTVAL ('mydb.lokalizacja_seq'),
164 kraj VARCHAR(45) NULL,
165 czy_w_filii SMALLINT NOT NULL DEFAULT 1,
166 filie_Idfilie INT NULL,
167 PRIMARY KEY (idlokalizacja)
168 CREATE INDEX fk_lokalizacja_filie1_idx ON mydb.lokalizacja (filie_Idfilie ASC) VISIBLE,
169 CONSTRAINT fk_lokalizacja_filie1
170 FOREIGN KEY (filie_Idfilie)
171 REFERENCES `mydb`.`filie` (Idfilie)
172 ON DELETE NO ACTION
173 ON UPDATE NO ACTION)
174ENGINE = InnoDB;
175
176
177-- -----------------------------------------------------
178-- Table `mydb`.`dostawcy`
179-- -----------------------------------------------------
180CREATE SEQUENCE mydb.dostawcy_seq;
181
182CREATE TABLE IF NOT EXISTS mydb.dostawcy (
183 iddostawcy INT NOT NULL DEFAULT NEXTVAL ('mydb.dostawcy_seq'),
184 nazwa VARCHAR(45) NOT NULL,
185 adresy_idadresy INT NOT NULL,
186 PRIMARY KEY (iddostawcy)
187 CREATE INDEX fk_dostawcy_adresy1_idx ON mydb.dostawcy (adresy_idadresy ASC) VISIBLE,
188 CONSTRAINT fk_dostawcy_adresy1
189 FOREIGN KEY (adresy_idadresy)
190 REFERENCES `mydb`.`adresy` (idadresy)
191 ON DELETE NO ACTION
192 ON UPDATE NO ACTION)
193ENGINE = InnoDB;
194
195
196-- -----------------------------------------------------
197-- Table `mydb`.`administratorzy`
198-- -----------------------------------------------------
199CREATE SEQUENCE mydb.administratorzy_seq;
200
201CREATE TABLE IF NOT EXISTS mydb.administratorzy (
202 idadministratorzy INT NOT NULL DEFAULT NEXTVAL ('mydb.administratorzy_seq'),
203 imie VARCHAR(45) NOT NULL,
204 nazwisko VARCHAR(45) NOT NULL,
205 uzytkownik_iduzytkownik INT NOT NULL,
206 PRIMARY KEY (idadministratorzy)
207 CREATE INDEX fk_administratorzy_uzytkownik1_idx ON mydb.administratorzy (uzytkownik_iduzytkownik ASC) VISIBLE,
208 CONSTRAINT fk_administratorzy_uzytkownik1
209 FOREIGN KEY (uzytkownik_iduzytkownik)
210 REFERENCES `mydb`.`uzytkownik` (iduzytkownik)
211 ON DELETE NO ACTION
212 ON UPDATE NO ACTION)
213ENGINE = InnoDB;
214
215
216-- -----------------------------------------------------
217-- Table `mydb`.`wyposazenie`
218-- -----------------------------------------------------
219CREATE SEQUENCE mydb.wyposazenie_seq;
220
221CREATE TABLE IF NOT EXISTS mydb.wyposazenie (
222 idwyposazenie INT NOT NULL DEFAULT NEXTVAL ('mydb.wyposazenie_seq'),
223 radio VARCHAR(45) NULL,
224 immobilizer SMALLINT NOT NULL,
225 klimatyzacja VARCHAR(45) NULL,
226 elektryczne_szyby SMALLINT NULL,
227 kola VARCHAR(45) NULL,
228 PRIMARY KEY (idwyposazenie))
229;
230
231
232-- -----------------------------------------------------
233-- Table `mydb`.`samochody`
234-- -----------------------------------------------------
235CREATE SEQUENCE mydb.samochody_seq;
236
237CREATE TABLE IF NOT EXISTS mydb.samochody (
238 idsamochody INT NOT NULL DEFAULT NEXTVAL ('mydb.samochody_seq'),
239 marka VARCHAR(45) NOT NULL,
240 model VARCHAR(45) NOT NULL,
241 rocznik VARCHAR(45) NOT NULL,
242 silnik VARCHAR(45) NOT NULL,
243 kolor VARCHAR(45) NOT NULL,
244 wyposazenie_idwyposazenie INT NOT NULL,
245 lokalizacja_idlokalizacja INT NOT NULL,
246 PRIMARY KEY (idsamochody)
247 CREATE INDEX fk_samochody_wyposazenie_idx ON mydb.samochody (wyposazenie_idwyposazenie ASC) VISIBLE,
248 INDEX `fk_samochody_lokalizacja1_idx` (lokalizacja_idlokalizacja ASC) VISIBLE,
249 CONSTRAINT fk_samochody_wyposazenie
250 FOREIGN KEY (wyposazenie_idwyposazenie)
251 REFERENCES `mydb`.`wyposazenie` (idwyposazenie)
252 ON DELETE NO ACTION
253 ON UPDATE NO ACTION,
254 CONSTRAINT fk_samochody_lokalizacja1
255 FOREIGN KEY (lokalizacja_idlokalizacja)
256 REFERENCES `mydb`.`lokalizacja` (idlokalizacja)
257 ON DELETE NO ACTION
258 ON UPDATE NO ACTION)
259ENGINE = InnoDB;
260
261
262-- -----------------------------------------------------
263-- Table `mydb`.`czesci`
264-- -----------------------------------------------------
265CREATE SEQUENCE mydb.czesci_seq;
266
267CREATE TABLE IF NOT EXISTS mydb.czesci (
268 idczesci INT NOT NULL DEFAULT NEXTVAL ('mydb.czesci_seq'),
269 nazwa_czesci VARCHAR(45) NOT NULL,
270 cena DECIMAL(10,0) NOT NULL,
271 stan_magazynowy INT NOT NULL,
272 dostawcy_iddostawcy INT NOT NULL,
273 PRIMARY KEY (idczesci)
274 CREATE INDEX fk_czesci_dostawcy1_idx ON mydb.czesci (dostawcy_iddostawcy ASC) VISIBLE,
275 CONSTRAINT fk_czesci_dostawcy1
276 FOREIGN KEY (dostawcy_iddostawcy)
277 REFERENCES `mydb`.`dostawcy` (iddostawcy)
278 ON DELETE NO ACTION
279 ON UPDATE NO ACTION)
280ENGINE = InnoDB;
281
282
283-- -----------------------------------------------------
284-- Table `mydb`.`zamowienia`
285-- -----------------------------------------------------
286CREATE SEQUENCE mydb.zamowienia_seq;
287
288CREATE TABLE IF NOT EXISTS mydb.zamowienia (
289 idzamowienia INT NOT NULL DEFAULT NEXTVAL ('mydb.zamowienia_seq'),
290 data DATE NOT NULL,
291 samochody_idsamochody INT NOT NULL,
292 klienci_idklienci INT NOT NULL,
293 PRIMARY KEY (idzamowienia)
294 CREATE INDEX fk_zamowienia_samochody1_idx ON mydb.zamowienia (samochody_idsamochody ASC) VISIBLE,
295 INDEX `fk_zamowienia_klienci1_idx` (klienci_idklienci ASC) VISIBLE,
296 CONSTRAINT fk_zamowienia_samochody1
297 FOREIGN KEY (samochody_idsamochody)
298 REFERENCES `mydb`.`samochody` (idsamochody)
299 ON DELETE NO ACTION
300 ON UPDATE NO ACTION,
301 CONSTRAINT fk_zamowienia_klienci1
302 FOREIGN KEY (klienci_idklienci)
303 REFERENCES `mydb`.`klienci` (idklienci)
304 ON DELETE NO ACTION
305 ON UPDATE NO ACTION)
306ENGINE = InnoDB;
307
308
309-- -----------------------------------------------------
310-- Table `mydb`.`serwis`
311-- -----------------------------------------------------
312CREATE SEQUENCE mydb.serwis_seq;
313
314CREATE TABLE IF NOT EXISTS mydb.serwis (
315 idserwis INT NOT NULL DEFAULT NEXTVAL ('mydb.serwis_seq'),
316 przeglad SMALLINT NOT NULL,
317 naprawa SMALLINT NOT NULL,
318 koszt DECIMAL(10,0) NOT NULL,
319 filie_Idfilie INT NOT NULL,
320 PRIMARY KEY (idserwis)
321 CREATE INDEX fk_serwis_filie1_idx ON mydb.serwis (filie_Idfilie ASC) VISIBLE,
322 CONSTRAINT fk_serwis_filie1
323 FOREIGN KEY (filie_Idfilie)
324 REFERENCES `mydb`.`filie` (Idfilie)
325 ON DELETE NO ACTION
326 ON UPDATE NO ACTION)
327ENGINE = InnoDB;
328
329
330/* SET SQL_MODE=@OLD_SQL_MODE; */
331/* SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; */
332/* SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; */