· 7 years ago · Dec 01, 2018, 02:58 PM
1-- MySQL Script generated by MySQL Workbench
2-- Sat Dec 1 12:52:27 2018
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
7SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
8SET @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 SysLocaCar
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema SysLocaCar
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS `SysLocaCar` DEFAULT CHARACTER SET utf8 ;
18USE `SysLocaCar` ;
19
20-- -----------------------------------------------------
21-- Table `SysLocaCar`.`Marca`
22-- -----------------------------------------------------
23DROP TABLE IF EXISTS `SysLocaCar`.`Marca` ;
24
25CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Marca` (
26 `idMarca` INT NOT NULL AUTO_INCREMENT,
27 `fabricante` VARCHAR(45) NOT NULL,
28 PRIMARY KEY (`idMarca`))
29ENGINE = InnoDB;
30
31
32-- -----------------------------------------------------
33-- Table `SysLocaCar`.`Modelo`
34-- -----------------------------------------------------
35DROP TABLE IF EXISTS `SysLocaCar`.`Modelo` ;
36
37CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Modelo` (
38 `idModelo` INT NOT NULL AUTO_INCREMENT,
39 `nome` VARCHAR(45) NOT NULL,
40 `descricao` VARCHAR(45) NOT NULL,
41 `ano` DATE NOT NULL,
42 `valorLocacao` FLOAT NOT NULL,
43 `qtdTotal` INT NOT NULL,
44 `qtdLocado` INT NOT NULL,
45 `Marca_idMarca` INT NOT NULL,
46 PRIMARY KEY (`idModelo`),
47 INDEX `fk_Modelo_Marca_idx` (`Marca_idMarca` ASC) VISIBLE,
48 CONSTRAINT `fk_Modelo_Marca`
49 FOREIGN KEY (`Marca_idMarca`)
50 REFERENCES `SysLocaCar`.`Marca` (`idMarca`)
51 ON DELETE NO ACTION
52 ON UPDATE NO ACTION)
53ENGINE = InnoDB;
54
55
56-- -----------------------------------------------------
57-- Table `SysLocaCar`.`Veiculo`
58-- -----------------------------------------------------
59DROP TABLE IF EXISTS `SysLocaCar`.`Veiculo` ;
60
61CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Veiculo` (
62 `idVeiculo` INT NOT NULL AUTO_INCREMENT,
63 `chassi` VARCHAR(45) NOT NULL,
64 `placa` VARCHAR(45) NOT NULL,
65 `anoFabricacao` DATE NOT NULL,
66 `cor` VARCHAR(45) NOT NULL,
67 `qtdPortas` INT NOT NULL,
68 `Modelo_idModelo` INT NOT NULL,
69 PRIMARY KEY (`idVeiculo`),
70 INDEX `fk_Veiculo_Modelo1_idx` (`Modelo_idModelo` ASC) VISIBLE,
71 CONSTRAINT `fk_Veiculo_Modelo1`
72 FOREIGN KEY (`Modelo_idModelo`)
73 REFERENCES `SysLocaCar`.`Modelo` (`idModelo`)
74 ON DELETE NO ACTION
75 ON UPDATE NO ACTION)
76ENGINE = InnoDB;
77
78
79-- -----------------------------------------------------
80-- Table `SysLocaCar`.`Acessorio`
81-- -----------------------------------------------------
82DROP TABLE IF EXISTS `SysLocaCar`.`Acessorio` ;
83
84CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Acessorio` (
85 `idAcessorio` INT NOT NULL AUTO_INCREMENT,
86 `descricao` VARCHAR(45) NOT NULL,
87 `taxa` FLOAT NOT NULL,
88 PRIMARY KEY (`idAcessorio`))
89ENGINE = InnoDB;
90
91
92-- -----------------------------------------------------
93-- Table `SysLocaCar`.`Acessorio_has_Veiculo`
94-- -----------------------------------------------------
95DROP TABLE IF EXISTS `SysLocaCar`.`Acessorio_has_Veiculo` ;
96
97CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Acessorio_has_Veiculo` (
98 `Acessorio_idAcessorio` INT NOT NULL,
99 `Veiculo_idVeiculo` INT NOT NULL,
100 INDEX `fk_Acessorio_has_Veiculo_Veiculo1_idx` (`Veiculo_idVeiculo` ASC) VISIBLE,
101 INDEX `fk_Acessorio_has_Veiculo_Acessorio1_idx` (`Acessorio_idAcessorio` ASC) VISIBLE,
102 CONSTRAINT `fk_Acessorio_has_Veiculo_Acessorio1`
103 FOREIGN KEY (`Acessorio_idAcessorio`)
104 REFERENCES `SysLocaCar`.`Acessorio` (`idAcessorio`)
105 ON DELETE NO ACTION
106 ON UPDATE NO ACTION,
107 CONSTRAINT `fk_Acessorio_has_Veiculo_Veiculo1`
108 FOREIGN KEY (`Veiculo_idVeiculo`)
109 REFERENCES `SysLocaCar`.`Veiculo` (`idVeiculo`)
110 ON DELETE NO ACTION
111 ON UPDATE NO ACTION)
112ENGINE = InnoDB;
113
114
115-- -----------------------------------------------------
116-- Table `SysLocaCar`.`Estado`
117-- -----------------------------------------------------
118DROP TABLE IF EXISTS `SysLocaCar`.`Estado` ;
119
120CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Estado` (
121 `idEstado` INT NOT NULL AUTO_INCREMENT,
122 `estado` VARCHAR(45) NULL,
123 PRIMARY KEY (`idEstado`))
124ENGINE = InnoDB;
125
126
127-- -----------------------------------------------------
128-- Table `SysLocaCar`.`Itinerario`
129-- -----------------------------------------------------
130DROP TABLE IF EXISTS `SysLocaCar`.`Itinerario` ;
131
132CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Itinerario` (
133 `idItinerario` INT NOT NULL AUTO_INCREMENT,
134 `cidadeOrigem` VARCHAR(45) NOT NULL,
135 `cidadeDestino` VARCHAR(45) NULL,
136 `Estado_idEstado` INT NOT NULL,
137 PRIMARY KEY (`idItinerario`),
138 INDEX `fk_Itinerario_Estado1_idx` (`Estado_idEstado` ASC) VISIBLE,
139 CONSTRAINT `fk_Itinerario_Estado1`
140 FOREIGN KEY (`Estado_idEstado`)
141 REFERENCES `SysLocaCar`.`Estado` (`idEstado`)
142 ON DELETE NO ACTION
143 ON UPDATE NO ACTION)
144ENGINE = InnoDB;
145
146
147-- -----------------------------------------------------
148-- Table `SysLocaCar`.`Cliente`
149-- -----------------------------------------------------
150DROP TABLE IF EXISTS `SysLocaCar`.`Cliente` ;
151
152CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Cliente` (
153 `idCliente` INT NOT NULL AUTO_INCREMENT,
154 `nome` VARCHAR(45) NOT NULL,
155 `cpf` VARCHAR(45) NOT NULL,
156 PRIMARY KEY (`idCliente`))
157ENGINE = InnoDB;
158
159
160-- -----------------------------------------------------
161-- Table `SysLocaCar`.`Funcionario`
162-- -----------------------------------------------------
163DROP TABLE IF EXISTS `SysLocaCar`.`Funcionario` ;
164
165CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Funcionario` (
166 `idFuncionario` INT NOT NULL AUTO_INCREMENT,
167 `nome` VARCHAR(50) NOT NULL,
168 `email` VARCHAR(50) NOT NULL,
169 `login` VARCHAR(15) NOT NULL,
170 `senha` VARCHAR(15) NOT NULL,
171 `nivelAcesso` INT NOT NULL,
172 PRIMARY KEY (`idFuncionario`),
173 UNIQUE INDEX `login_UNIQUE` (`login` ASC) VISIBLE,
174 UNIQUE INDEX `email_UNIQUE` (`email` ASC) VISIBLE)
175ENGINE = InnoDB;
176
177insert into funcionario(idFuncionario, nome, email, login, senha, nivelAcesso)
178values(1, 'Administrador', 'administrador@syslocacar.com.br', 'admin', 'admin', '1');
179
180-- -----------------------------------------------------
181-- Table `SysLocaCar`.`Pedido`
182-- -----------------------------------------------------
183DROP TABLE IF EXISTS `SysLocaCar`.`Pedido` ;
184
185CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Pedido` (
186 `idPedido` INT NOT NULL AUTO_INCREMENT,
187 `dataPedido` DATE NOT NULL,
188 `valorTotal` FLOAT NOT NULL,
189 `valorCaucao` FLOAT NOT NULL,
190 `taxaSeguro` FLOAT NOT NULL,
191 `Cliente_idCliente` INT NOT NULL,
192 `Funcionario_idFuncionario` INT NOT NULL,
193 PRIMARY KEY (`idPedido`),
194 INDEX `fk_Pedido_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
195 INDEX `fk_Pedido_Funcionario1_idx` (`Funcionario_idFuncionario` ASC) VISIBLE,
196 CONSTRAINT `fk_Pedido_Cliente1`
197 FOREIGN KEY (`Cliente_idCliente`)
198 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
199 ON DELETE NO ACTION
200 ON UPDATE NO ACTION,
201 CONSTRAINT `fk_Pedido_Funcionario1`
202 FOREIGN KEY (`Funcionario_idFuncionario`)
203 REFERENCES `SysLocaCar`.`Funcionario` (`idFuncionario`)
204 ON DELETE NO ACTION
205 ON UPDATE NO ACTION)
206ENGINE = InnoDB;
207
208
209-- -----------------------------------------------------
210-- Table `SysLocaCar`.`Locacao`
211-- -----------------------------------------------------
212DROP TABLE IF EXISTS `SysLocaCar`.`Locacao` ;
213
214CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Locacao` (
215 `idLocacao` INT NOT NULL AUTO_INCREMENT,
216 `dataLocacao` DATE NOT NULL,
217 `dataDevolucao` DATE NOT NULL,
218 `kmSaida` FLOAT NOT NULL,
219 `kmChegada` FLOAT NOT NULL,
220 `kmRodado` FLOAT NOT NULL,
221 `Veiculo_idVeiculo` INT NOT NULL,
222 `Itinerario_idItinerario` INT NOT NULL,
223 `Pedido_idPedido` INT NOT NULL,
224 PRIMARY KEY (`idLocacao`),
225 INDEX `fk_Locacao_Veiculo1_idx` (`Veiculo_idVeiculo` ASC) VISIBLE,
226 INDEX `fk_Locacao_Itinerario1_idx` (`Itinerario_idItinerario` ASC) VISIBLE,
227 INDEX `fk_Locacao_Pedido1_idx` (`Pedido_idPedido` ASC) VISIBLE,
228 CONSTRAINT `fk_Locacao_Veiculo1`
229 FOREIGN KEY (`Veiculo_idVeiculo`)
230 REFERENCES `SysLocaCar`.`Veiculo` (`idVeiculo`)
231 ON DELETE NO ACTION
232 ON UPDATE NO ACTION,
233 CONSTRAINT `fk_Locacao_Itinerario1`
234 FOREIGN KEY (`Itinerario_idItinerario`)
235 REFERENCES `SysLocaCar`.`Itinerario` (`idItinerario`)
236 ON DELETE NO ACTION
237 ON UPDATE NO ACTION,
238 CONSTRAINT `fk_Locacao_Pedido1`
239 FOREIGN KEY (`Pedido_idPedido`)
240 REFERENCES `SysLocaCar`.`Pedido` (`idPedido`)
241 ON DELETE NO ACTION
242 ON UPDATE NO ACTION)
243ENGINE = InnoDB;
244
245
246-- -----------------------------------------------------
247-- Table `SysLocaCar`.`Ocorrencia`
248-- -----------------------------------------------------
249DROP TABLE IF EXISTS `SysLocaCar`.`Ocorrencia` ;
250
251CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Ocorrencia` (
252 `idOcorrencia` INT NOT NULL AUTO_INCREMENT,
253 `descricao` VARCHAR(45) NOT NULL,
254 `taxa` FLOAT NOT NULL,
255 `foto` VARCHAR(45) NOT NULL,
256 `Locacao_idLocacao` INT NOT NULL,
257 PRIMARY KEY (`idOcorrencia`),
258 INDEX `fk_Ocorrencia_Locacao1_idx` (`Locacao_idLocacao` ASC) VISIBLE,
259 CONSTRAINT `fk_Ocorrencia_Locacao1`
260 FOREIGN KEY (`Locacao_idLocacao`)
261 REFERENCES `SysLocaCar`.`Locacao` (`idLocacao`)
262 ON DELETE NO ACTION
263 ON UPDATE NO ACTION)
264ENGINE = InnoDB;
265
266
267-- -----------------------------------------------------
268-- Table `SysLocaCar`.`Cidade`
269-- -----------------------------------------------------
270DROP TABLE IF EXISTS `SysLocaCar`.`Cidade` ;
271
272CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Cidade` (
273 `idCidade` INT NOT NULL AUTO_INCREMENT,
274 `cidade` VARCHAR(45) NULL,
275 `Estado_idEstado` INT NOT NULL,
276 PRIMARY KEY (`idCidade`),
277 INDEX `fk_Cidade_Estado1_idx` (`Estado_idEstado` ASC) VISIBLE,
278 CONSTRAINT `fk_Cidade_Estado1`
279 FOREIGN KEY (`Estado_idEstado`)
280 REFERENCES `SysLocaCar`.`Estado` (`idEstado`)
281 ON DELETE NO ACTION
282 ON UPDATE NO ACTION)
283ENGINE = InnoDB;
284
285
286-- -----------------------------------------------------
287-- Table `SysLocaCar`.`Endereco`
288-- -----------------------------------------------------
289DROP TABLE IF EXISTS `SysLocaCar`.`Endereco` ;
290
291CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Endereco` (
292 `idEndereco` INT NOT NULL AUTO_INCREMENT,
293 `cep` VARCHAR(45) NOT NULL,
294 `logradouro` VARCHAR(45) NOT NULL,
295 `complemento` VARCHAR(45) NOT NULL,
296 `bairro` VARCHAR(45) NOT NULL,
297 `Estado_idEstado` INT NOT NULL,
298 `Cliente_idCliente` INT NOT NULL,
299 PRIMARY KEY (`idEndereco`),
300 INDEX `fk_Endereco_Estado1_idx` (`Estado_idEstado` ASC) VISIBLE,
301 INDEX `fk_Endereco_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
302 CONSTRAINT `fk_Endereco_Estado1`
303 FOREIGN KEY (`Estado_idEstado`)
304 REFERENCES `SysLocaCar`.`Estado` (`idEstado`)
305 ON DELETE NO ACTION
306 ON UPDATE NO ACTION,
307 CONSTRAINT `fk_Endereco_Cliente1`
308 FOREIGN KEY (`Cliente_idCliente`)
309 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
310 ON DELETE NO ACTION
311 ON UPDATE NO ACTION)
312ENGINE = InnoDB;
313
314
315-- -----------------------------------------------------
316-- Table `SysLocaCar`.`Caixa`
317-- -----------------------------------------------------
318DROP TABLE IF EXISTS `SysLocaCar`.`Caixa` ;
319
320CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Caixa` (
321 `idCaixa` INT NOT NULL AUTO_INCREMENT,
322 `saldo` FLOAT NOT NULL,
323 `dataAbertura` DATE NOT NULL,
324 `dataFechamento` DATE NOT NULL,
325 PRIMARY KEY (`idCaixa`))
326ENGINE = InnoDB;
327
328
329-- -----------------------------------------------------
330-- Table `SysLocaCar`.`Pagamento`
331-- -----------------------------------------------------
332DROP TABLE IF EXISTS `SysLocaCar`.`Pagamento` ;
333
334CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Pagamento` (
335 `idPagamento` INT NOT NULL AUTO_INCREMENT,
336 `dataPagamento` DATE NOT NULL,
337 `valor` FLOAT NOT NULL,
338 `Pedido_idPedido` INT NOT NULL,
339 `Caixa_idCaixa` INT NOT NULL,
340 PRIMARY KEY (`idPagamento`),
341 INDEX `fk_Pagamento_Pedido1_idx` (`Pedido_idPedido` ASC) VISIBLE,
342 INDEX `fk_Pagamento_Caixa1_idx` (`Caixa_idCaixa` ASC) VISIBLE,
343 CONSTRAINT `fk_Pagamento_Pedido1`
344 FOREIGN KEY (`Pedido_idPedido`)
345 REFERENCES `SysLocaCar`.`Pedido` (`idPedido`)
346 ON DELETE NO ACTION
347 ON UPDATE NO ACTION,
348 CONSTRAINT `fk_Pagamento_Caixa1`
349 FOREIGN KEY (`Caixa_idCaixa`)
350 REFERENCES `SysLocaCar`.`Caixa` (`idCaixa`)
351 ON DELETE NO ACTION
352 ON UPDATE NO ACTION)
353ENGINE = InnoDB;
354
355
356-- -----------------------------------------------------
357-- Table `SysLocaCar`.`Contato`
358-- -----------------------------------------------------
359DROP TABLE IF EXISTS `SysLocaCar`.`Contato` ;
360
361CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Contato` (
362 `idContato` INT NOT NULL,
363 `celular` VARCHAR(45) NULL,
364 `residencial` VARCHAR(45) NULL,
365 `email` VARCHAR(45) NULL,
366 `Cliente_idCliente` INT NOT NULL AUTO_INCREMENT,
367 PRIMARY KEY (`idContato`),
368 INDEX `fk_Contato_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
369 CONSTRAINT `fk_Contato_Cliente1`
370 FOREIGN KEY (`Cliente_idCliente`)
371 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
372 ON DELETE NO ACTION
373 ON UPDATE NO ACTION)
374ENGINE = InnoDB;
375
376
377-- -----------------------------------------------------
378-- Table `SysLocaCar`.`Habilitacao`
379-- -----------------------------------------------------
380DROP TABLE IF EXISTS `SysLocaCar`.`Habilitacao` ;
381
382CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Habilitacao` (
383 `idHabilitacao` INT NOT NULL,
384 `numero` VARCHAR(45) NOT NULL,
385 `categoria` VARCHAR(45) NOT NULL,
386 `validade` DATE NOT NULL,
387 `Cliente_idCliente` INT NOT NULL AUTO_INCREMENT,
388 PRIMARY KEY (`idHabilitacao`),
389 INDEX `fk_Habilitacao_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
390 CONSTRAINT `fk_Habilitacao_Cliente1`
391 FOREIGN KEY (`Cliente_idCliente`)
392 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
393 ON DELETE NO ACTION
394 ON UPDATE NO ACTION)
395ENGINE = InnoDB;
396
397
398SET SQL_MODE=@OLD_SQL_MODE;
399SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
400SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;