· 6 years ago · Apr 10, 2019, 01:08 PM
1-- MySQL Workbench Forward Engineering
2
3@OLD_UNIQUE_CHECKS:=@@UNIQUE_CHECKS, UNIQUE_CHECKS:=0;
4@OLD_FOREIGN_KEY_CHECKS:=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS:=0;
5@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';
6
7-- -----------------------------------------------------
8-- Schema mydb
9-- -----------------------------------------------------
10
11-- -----------------------------------------------------
12-- Schema mydb
13-- -----------------------------------------------------
14CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
15USE mydb ;
16
17-- -----------------------------------------------------
18-- Table `mydb`.`pracownicy`
19-- -----------------------------------------------------
20CREATE SEQUENCE `mydb`.`pracownicy`_seq;
21
22CREATE TABLE IF NOT EXISTS `mydb`.`pracownicy` (
23 id_pracownika INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`pracownicy`_seq'),
24 imie VARCHAR(45) NOT NULL,
25 nazwisko VARCHAR(45) NOT NULL,
26 data_urodzenia DATE NOT NULL,
27 miejsca_zamieszkania VARCHAR(45) NOT NULL,
28 seria_dowodu_osobisego CHAR(9) NOT NULL,
29 pesel CHAR(11) NOT NULL,
30 numer_kontaktowy VARCHAR(45) NOT NULL,
31 PRIMARY KEY (id_pracownika))
32ENGINE = InnoDB;
33
34
35-- -----------------------------------------------------
36-- Table `mydb`.`role`
37-- -----------------------------------------------------
38CREATE SEQUENCE `mydb`.`role`_seq;
39
40CREATE TABLE IF NOT EXISTS `mydb`.`role` (
41 id_roli INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`role`_seq'),
42 nazwa_roli VARCHAR(45) NULL,
43 PRIMARY KEY (id_roli))
44ENGINE = InnoDB;
45
46
47-- -----------------------------------------------------
48-- Table `mydb`.`uzytkownicy`
49-- -----------------------------------------------------
50CREATE SEQUENCE `mydb`.`uzytkownicy`_seq;
51
52CREATE TABLE IF NOT EXISTS `mydb`.`uzytkownicy` (
53 id_uzytkownika INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`uzytkownicy`_seq'),
54 email VARCHAR(45) NOT NULL,
55 haslo VARCHAR(100) NOT NULL,
56 ostatnie_logowanie VARCHAR(45) NOT NULL,
57 id_pracownika INT NOT NULL,
58 id_roli INT NOT NULL,
59 PRIMARY KEY (id_uzytkownika)
60 CREATE INDEX fk_uzytkownicy_pracownicy_idx ON `mydb`.`uzytkownicy` (id_pracownika ASC) VISIBLE,
61 INDEX `fk_uzytkownicy_role1_idx` (id_roli ASC) VISIBLE,
62 CONSTRAINT fk_uzytkownicy_pracownicy
63 FOREIGN KEY (id_pracownika)
64 REFERENCES `mydb`.`pracownicy` (id_pracownika)
65 ON DELETE NO ACTION
66 ON UPDATE NO ACTION,
67 CONSTRAINT fk_uzytkownicy_role1
68 FOREIGN KEY (id_roli)
69 REFERENCES `mydb`.`role` (id_roli)
70 ON DELETE NO ACTION
71 ON UPDATE NO ACTION)
72ENGINE = InnoDB;
73
74
75-- -----------------------------------------------------
76-- Table `mydb`.`klienci`
77-- -----------------------------------------------------
78CREATE SEQUENCE `mydb`.`klienci`_seq;
79
80CREATE TABLE IF NOT EXISTS `mydb`.`klienci` (
81 id_klienci INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`klienci`_seq'),
82 imie VARCHAR(45) NOT NULL,
83 nazwisko VARCHAR(45) NOT NULL,
84 numer_kontaktowy VARCHAR(45) NOT NULL,
85 email VARCHAR(45) NOT NULL,
86 nip CHAR(10) NULL,
87 regon VARCHAR(45) NULL,
88 PRIMARY KEY (id_klienci))
89ENGINE = InnoDB;
90
91
92-- -----------------------------------------------------
93-- Table `mydb`.`pojazdy`
94-- -----------------------------------------------------
95CREATE SEQUENCE `mydb`.`pojazdy`_seq;
96
97CREATE TABLE IF NOT EXISTS `mydb`.`pojazdy` (
98 id_pojazdu INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`pojazdy`_seq'),
99 marka VARCHAR(45) NOT NULL,
100 model VARCHAR(45) NOT NULL,
101 numer_rejestracyjny VARCHAR(45) NOT NULL,
102 vin VARCHAR(45) NOT NULL,
103 uwagi LONGTEXT NULL,
104 PRIMARY KEY (id_pojazdu))
105ENGINE = InnoDB;
106
107
108-- -----------------------------------------------------
109-- Table `mydb`.`naprawy`
110-- -----------------------------------------------------
111CREATE SEQUENCE `mydb`.`naprawy`_seq;
112
113CREATE TABLE IF NOT EXISTS `mydb`.`naprawy` (
114 id_naprawy INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`naprawy`_seq'),
115 id_pojazdu INT NOT NULL,
116 id_klienta INT NOT NULL,
117 id_pracownika INT NOT NULL,
118 spis_napraw LONGTEXT NOT NULL,
119 stan_licznika VARCHAR(45) NOT NULL,
120 data_przyjecia DATE NOT NULL,
121 data_oddania DATE NOT NULL,
122 uwagi LONGTEXT NULL,
123 PRIMARY KEY (id_naprawy)
124 CREATE INDEX fk_naprawy_klienci1_idx ON `mydb`.`naprawy` (id_klienta ASC) VISIBLE,
125 INDEX `fk_naprawy_pojazdy1_idx` (id_pojazdu ASC) VISIBLE,
126 INDEX `fk_naprawy_pracownicy1_idx` (id_pracownika ASC) VISIBLE,
127 CONSTRAINT fk_naprawy_klienci1
128 FOREIGN KEY (id_klienta)
129 REFERENCES `mydb`.`klienci` (id_klienci)
130 ON DELETE NO ACTION
131 ON UPDATE NO ACTION,
132 CONSTRAINT fk_naprawy_pojazdy1
133 FOREIGN KEY (id_pojazdu)
134 REFERENCES `mydb`.`pojazdy` (id_pojazdu)
135 ON DELETE NO ACTION
136 ON UPDATE NO ACTION,
137 CONSTRAINT fk_naprawy_pracownicy1
138 FOREIGN KEY (id_pracownika)
139 REFERENCES `mydb`.`pracownicy` (id_pracownika)
140 ON DELETE NO ACTION
141 ON UPDATE NO ACTION)
142ENGINE = InnoDB;
143
144
145-- -----------------------------------------------------
146-- Table `mydb`.`faktury`
147-- -----------------------------------------------------
148CREATE TABLE IF NOT EXISTS `mydb`.`faktury` (
149 numer_faktury INT NOT NULL,
150 id_pojazdu INT NOT NULL,
151 id_klienta INT NOT NULL,
152 data DATE NOT NULL,
153 kwota DECIMAL NOT NULL,
154 PRIMARY KEY (numer_faktury)
155 CREATE INDEX fk_faktury_klienci1_idx ON `mydb`.`faktury` (id_klienta ASC) VISIBLE,
156 INDEX `fk_faktury_pojazdy1_idx` (id_pojazdu ASC) VISIBLE,
157 CONSTRAINT fk_faktury_klienci1
158 FOREIGN KEY (id_klienta)
159 REFERENCES `mydb`.`klienci` (id_klienci)
160 ON DELETE CASCADE
161 ON UPDATE NO ACTION,
162 CONSTRAINT fk_faktury_pojazdy1
163 FOREIGN KEY (id_pojazdu)
164 REFERENCES `mydb`.`pojazdy` (id_pojazdu)
165 ON DELETE NO ACTION
166 ON UPDATE NO ACTION)
167ENGINE = InnoDB;
168
169
170-- -----------------------------------------------------
171-- Table `mydb`.`proby_logowania`
172-- -----------------------------------------------------
173CREATE SEQUENCE `mydb`.`proby_logowania`_seq;
174
175CREATE TABLE IF NOT EXISTS `mydb`.`proby_logowania` (
176 id_proby INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`proby_logowania`_seq'),
177 ip CHAR(15) NULL,
178 data TIMESTAMP NULL,
179 PRIMARY KEY (id_proby))
180ENGINE = InnoDB;
181
182
183-- -----------------------------------------------------
184-- Table `mydb`.`sesje`
185-- -----------------------------------------------------
186CREATE SEQUENCE `mydb`.`sesje`_seq;
187
188CREATE TABLE IF NOT EXISTS `mydb`.`sesje` (
189 id_sesji INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`sesje`_seq'),
190 id_uzytkownika INT NOT NULL,
191 hash CHAR(40) NOT NULL,
192 data_wygasniecia TIMESTAMP NOT NULL,
193 ip VARCHAR(39) NOT NULL,
194 agent VARCHAR(200) NOT NULL,
195 cookie CHAR(40) NOT NULL,
196 PRIMARY KEY (id_sesji)
197 CREATE INDEX fk_sesje_uzytkownicy1_idx ON `mydb`.`sesje` (id_uzytkownika ASC) VISIBLE,
198 CONSTRAINT fk_sesje_uzytkownicy1
199 FOREIGN KEY (id_uzytkownika)
200 REFERENCES `mydb`.`uzytkownicy` (id_uzytkownika)
201 ON DELETE NO ACTION
202 ON UPDATE NO ACTION)
203ENGINE = InnoDB;
204
205
206-- -----------------------------------------------------
207-- Table `mydb`.`zablokowani`
208-- -----------------------------------------------------
209CREATE SEQUENCE `mydb`.`zablokowani`_seq;
210
211CREATE TABLE IF NOT EXISTS `mydb`.`zablokowani` (
212 id_zab INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`zablokowani`_seq'),
213 domena VARCHAR(100) NOT NULL,
214 PRIMARY KEY (id_zab),
215 CONSTRAINT domena_UNIQUE UNIQUE (domena ASC) VISIBLE)
216ENGINE = InnoDB;
217
218
219-- -----------------------------------------------------
220-- Table `mydb`.`lista_napraw`
221-- -----------------------------------------------------
222CREATE SEQUENCE `mydb`.`lista_napraw`_seq;
223
224CREATE TABLE IF NOT EXISTS `mydb`.`lista_napraw` (
225 id_rodzaju_naprawy INT NOT NULL DEFAULT NEXTVAL ('`mydb`.`lista_napraw`_seq'),
226 nazwa_naprawy VARCHAR(45) NOT NULL,
227 koszt_naprawy DECIMAL(4,2) NOT NULL,
228 PRIMARY KEY (id_rodzaju_naprawy))
229ENGINE = InnoDB;
230
231
232-- -----------------------------------------------------
233-- Table `mydb`.`naprawy_has_lista_napraw`
234-- -----------------------------------------------------
235CREATE TABLE IF NOT EXISTS `mydb`.`naprawy_has_lista_napraw` (
236 naprawy_id_naprawy INT NOT NULL,
237 lista_napraw_id_rodzaju_naprawy INT NOT NULL,
238 PRIMARY KEY (naprawy_id_naprawy, lista_napraw_id_rodzaju_naprawy)
239 CREATE INDEX fk_naprawy_has_lista_napraw_lista_napraw1_idx ON `mydb`.`naprawy_has_lista_napraw` (lista_napraw_id_rodzaju_naprawy ASC) VISIBLE,
240 INDEX `fk_naprawy_has_lista_napraw_naprawy1_idx` (naprawy_id_naprawy ASC) VISIBLE,
241 CONSTRAINT fk_naprawy_has_lista_napraw_naprawy1
242 FOREIGN KEY (naprawy_id_naprawy)
243 REFERENCES `mydb`.`naprawy` (id_naprawy)
244 ON DELETE NO ACTION
245 ON UPDATE NO ACTION,
246 CONSTRAINT fk_naprawy_has_lista_napraw_lista_napraw1
247 FOREIGN KEY (lista_napraw_id_rodzaju_naprawy)
248 REFERENCES `mydb`.`lista_napraw` (id_rodzaju_naprawy)
249 ON DELETE NO ACTION
250 ON UPDATE NO ACTION)
251ENGINE = InnoDB;
252
253
254SQL_MODE:=@OLD_SQL_MODE;
255FOREIGN_KEY_CHECKS:=@OLD_FOREIGN_KEY_CHECKS;
256UNIQUE_CHECKS:=@OLD_UNIQUE_CHECKS;