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