· 7 years ago · Dec 01, 2018, 02:56 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
177
178-- -----------------------------------------------------
179-- Table `SysLocaCar`.`Pedido`
180-- -----------------------------------------------------
181DROP TABLE IF EXISTS `SysLocaCar`.`Pedido` ;
182
183CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Pedido` (
184 `idPedido` INT NOT NULL AUTO_INCREMENT,
185 `dataPedido` DATE NOT NULL,
186 `valorTotal` FLOAT NOT NULL,
187 `valorCaucao` FLOAT NOT NULL,
188 `taxaSeguro` FLOAT NOT NULL,
189 `Cliente_idCliente` INT NOT NULL,
190 `Funcionario_idFuncionario` INT NOT NULL,
191 PRIMARY KEY (`idPedido`),
192 INDEX `fk_Pedido_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
193 INDEX `fk_Pedido_Funcionario1_idx` (`Funcionario_idFuncionario` ASC) VISIBLE,
194 CONSTRAINT `fk_Pedido_Cliente1`
195 FOREIGN KEY (`Cliente_idCliente`)
196 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
197 ON DELETE NO ACTION
198 ON UPDATE NO ACTION,
199 CONSTRAINT `fk_Pedido_Funcionario1`
200 FOREIGN KEY (`Funcionario_idFuncionario`)
201 REFERENCES `SysLocaCar`.`Funcionario` (`idFuncionario`)
202 ON DELETE NO ACTION
203 ON UPDATE NO ACTION)
204ENGINE = InnoDB;
205
206
207-- -----------------------------------------------------
208-- Table `SysLocaCar`.`Locacao`
209-- -----------------------------------------------------
210DROP TABLE IF EXISTS `SysLocaCar`.`Locacao` ;
211
212CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Locacao` (
213 `idLocacao` INT NOT NULL AUTO_INCREMENT,
214 `dataLocacao` DATE NOT NULL,
215 `dataDevolucao` DATE NOT NULL,
216 `kmSaida` FLOAT NOT NULL,
217 `kmChegada` FLOAT NOT NULL,
218 `kmRodado` FLOAT NOT NULL,
219 `Veiculo_idVeiculo` INT NOT NULL,
220 `Itinerario_idItinerario` INT NOT NULL,
221 `Pedido_idPedido` INT NOT NULL,
222 PRIMARY KEY (`idLocacao`),
223 INDEX `fk_Locacao_Veiculo1_idx` (`Veiculo_idVeiculo` ASC) VISIBLE,
224 INDEX `fk_Locacao_Itinerario1_idx` (`Itinerario_idItinerario` ASC) VISIBLE,
225 INDEX `fk_Locacao_Pedido1_idx` (`Pedido_idPedido` ASC) VISIBLE,
226 CONSTRAINT `fk_Locacao_Veiculo1`
227 FOREIGN KEY (`Veiculo_idVeiculo`)
228 REFERENCES `SysLocaCar`.`Veiculo` (`idVeiculo`)
229 ON DELETE NO ACTION
230 ON UPDATE NO ACTION,
231 CONSTRAINT `fk_Locacao_Itinerario1`
232 FOREIGN KEY (`Itinerario_idItinerario`)
233 REFERENCES `SysLocaCar`.`Itinerario` (`idItinerario`)
234 ON DELETE NO ACTION
235 ON UPDATE NO ACTION,
236 CONSTRAINT `fk_Locacao_Pedido1`
237 FOREIGN KEY (`Pedido_idPedido`)
238 REFERENCES `SysLocaCar`.`Pedido` (`idPedido`)
239 ON DELETE NO ACTION
240 ON UPDATE NO ACTION)
241ENGINE = InnoDB;
242
243
244-- -----------------------------------------------------
245-- Table `SysLocaCar`.`Ocorrencia`
246-- -----------------------------------------------------
247DROP TABLE IF EXISTS `SysLocaCar`.`Ocorrencia` ;
248
249CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Ocorrencia` (
250 `idOcorrencia` INT NOT NULL AUTO_INCREMENT,
251 `descricao` VARCHAR(45) NOT NULL,
252 `taxa` FLOAT NOT NULL,
253 `foto` VARCHAR(45) NOT NULL,
254 `Locacao_idLocacao` INT NOT NULL,
255 PRIMARY KEY (`idOcorrencia`),
256 INDEX `fk_Ocorrencia_Locacao1_idx` (`Locacao_idLocacao` ASC) VISIBLE,
257 CONSTRAINT `fk_Ocorrencia_Locacao1`
258 FOREIGN KEY (`Locacao_idLocacao`)
259 REFERENCES `SysLocaCar`.`Locacao` (`idLocacao`)
260 ON DELETE NO ACTION
261 ON UPDATE NO ACTION)
262ENGINE = InnoDB;
263
264
265-- -----------------------------------------------------
266-- Table `SysLocaCar`.`Cidade`
267-- -----------------------------------------------------
268DROP TABLE IF EXISTS `SysLocaCar`.`Cidade` ;
269
270CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Cidade` (
271 `idCidade` INT NOT NULL AUTO_INCREMENT,
272 `cidade` VARCHAR(45) NULL,
273 `Estado_idEstado` INT NOT NULL,
274 PRIMARY KEY (`idCidade`),
275 INDEX `fk_Cidade_Estado1_idx` (`Estado_idEstado` ASC) VISIBLE,
276 CONSTRAINT `fk_Cidade_Estado1`
277 FOREIGN KEY (`Estado_idEstado`)
278 REFERENCES `SysLocaCar`.`Estado` (`idEstado`)
279 ON DELETE NO ACTION
280 ON UPDATE NO ACTION)
281ENGINE = InnoDB;
282
283
284-- -----------------------------------------------------
285-- Table `SysLocaCar`.`Endereco`
286-- -----------------------------------------------------
287DROP TABLE IF EXISTS `SysLocaCar`.`Endereco` ;
288
289CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Endereco` (
290 `idEndereco` INT NOT NULL AUTO_INCREMENT,
291 `cep` VARCHAR(45) NOT NULL,
292 `logradouro` VARCHAR(45) NOT NULL,
293 `complemento` VARCHAR(45) NOT NULL,
294 `bairro` VARCHAR(45) NOT NULL,
295 `Estado_idEstado` INT NOT NULL,
296 `Cliente_idCliente` INT NOT NULL,
297 PRIMARY KEY (`idEndereco`),
298 INDEX `fk_Endereco_Estado1_idx` (`Estado_idEstado` ASC) VISIBLE,
299 INDEX `fk_Endereco_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
300 CONSTRAINT `fk_Endereco_Estado1`
301 FOREIGN KEY (`Estado_idEstado`)
302 REFERENCES `SysLocaCar`.`Estado` (`idEstado`)
303 ON DELETE NO ACTION
304 ON UPDATE NO ACTION,
305 CONSTRAINT `fk_Endereco_Cliente1`
306 FOREIGN KEY (`Cliente_idCliente`)
307 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
308 ON DELETE NO ACTION
309 ON UPDATE NO ACTION)
310ENGINE = InnoDB;
311
312
313-- -----------------------------------------------------
314-- Table `SysLocaCar`.`Caixa`
315-- -----------------------------------------------------
316DROP TABLE IF EXISTS `SysLocaCar`.`Caixa` ;
317
318CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Caixa` (
319 `idCaixa` INT NOT NULL AUTO_INCREMENT,
320 `saldo` FLOAT NOT NULL,
321 `dataAbertura` DATE NOT NULL,
322 `dataFechamento` DATE NOT NULL,
323 PRIMARY KEY (`idCaixa`))
324ENGINE = InnoDB;
325
326
327-- -----------------------------------------------------
328-- Table `SysLocaCar`.`Pagamento`
329-- -----------------------------------------------------
330DROP TABLE IF EXISTS `SysLocaCar`.`Pagamento` ;
331
332CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Pagamento` (
333 `idPagamento` INT NOT NULL AUTO_INCREMENT,
334 `dataPagamento` DATE NOT NULL,
335 `valor` FLOAT NOT NULL,
336 `Pedido_idPedido` INT NOT NULL,
337 `Caixa_idCaixa` INT NOT NULL,
338 PRIMARY KEY (`idPagamento`),
339 INDEX `fk_Pagamento_Pedido1_idx` (`Pedido_idPedido` ASC) VISIBLE,
340 INDEX `fk_Pagamento_Caixa1_idx` (`Caixa_idCaixa` ASC) VISIBLE,
341 CONSTRAINT `fk_Pagamento_Pedido1`
342 FOREIGN KEY (`Pedido_idPedido`)
343 REFERENCES `SysLocaCar`.`Pedido` (`idPedido`)
344 ON DELETE NO ACTION
345 ON UPDATE NO ACTION,
346 CONSTRAINT `fk_Pagamento_Caixa1`
347 FOREIGN KEY (`Caixa_idCaixa`)
348 REFERENCES `SysLocaCar`.`Caixa` (`idCaixa`)
349 ON DELETE NO ACTION
350 ON UPDATE NO ACTION)
351ENGINE = InnoDB;
352
353
354-- -----------------------------------------------------
355-- Table `SysLocaCar`.`Contato`
356-- -----------------------------------------------------
357DROP TABLE IF EXISTS `SysLocaCar`.`Contato` ;
358
359CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Contato` (
360 `idContato` INT NOT NULL,
361 `celular` VARCHAR(45) NULL,
362 `residencial` VARCHAR(45) NULL,
363 `email` VARCHAR(45) NULL,
364 `Cliente_idCliente` INT NOT NULL AUTO_INCREMENT,
365 PRIMARY KEY (`idContato`),
366 INDEX `fk_Contato_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
367 CONSTRAINT `fk_Contato_Cliente1`
368 FOREIGN KEY (`Cliente_idCliente`)
369 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
370 ON DELETE NO ACTION
371 ON UPDATE NO ACTION)
372ENGINE = InnoDB;
373
374
375-- -----------------------------------------------------
376-- Table `SysLocaCar`.`Habilitacao`
377-- -----------------------------------------------------
378DROP TABLE IF EXISTS `SysLocaCar`.`Habilitacao` ;
379
380CREATE TABLE IF NOT EXISTS `SysLocaCar`.`Habilitacao` (
381 `idHabilitacao` INT NOT NULL,
382 `numero` VARCHAR(45) NOT NULL,
383 `categoria` VARCHAR(45) NOT NULL,
384 `validade` DATE NOT NULL,
385 `Cliente_idCliente` INT NOT NULL AUTO_INCREMENT,
386 PRIMARY KEY (`idHabilitacao`),
387 INDEX `fk_Habilitacao_Cliente1_idx` (`Cliente_idCliente` ASC) VISIBLE,
388 CONSTRAINT `fk_Habilitacao_Cliente1`
389 FOREIGN KEY (`Cliente_idCliente`)
390 REFERENCES `SysLocaCar`.`Cliente` (`idCliente`)
391 ON DELETE NO ACTION
392 ON UPDATE NO ACTION)
393ENGINE = InnoDB;
394
395
396SET SQL_MODE=@OLD_SQL_MODE;
397SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
398SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;