· 6 years ago · Aug 20, 2019, 02:58 AM
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`.`motorista`
19-- -----------------------------------------------------
20CREATE TABLE IF NOT EXISTS `mydb`.`motorista` (
21 `id` INT NOT NULL,
22 `nome` VARCHAR(55) NOT NULL,
23 `cnh` VARCHAR(11) NOT NULL,
24 PRIMARY KEY (`id`))
25ENGINE = InnoDB;
26
27
28-- -----------------------------------------------------
29-- Table `mydb`.`endereco`
30-- -----------------------------------------------------
31CREATE TABLE IF NOT EXISTS `mydb`.`endereco` (
32 `rua` VARCHAR(30) NOT NULL,
33 `numero` VARCHAR(6) NOT NULL,
34 `complemento` VARCHAR(10) NOT NULL,
35 `cep` VARCHAR(9) NOT NULL,
36 `bairro` VARCHAR(45) NOT NULL,
37 `motorista_id` INT NOT NULL,
38 PRIMARY KEY (`motorista_id`),
39 INDEX `fk_Endereco_motorista_idx` (`motorista_id` ASC) ,
40 CONSTRAINT `fk_Endereco_motorista`
41 FOREIGN KEY (`motorista_id`)
42 REFERENCES `mydb`.`motorista` (`id`)
43 ON DELETE NO ACTION
44 ON UPDATE NO ACTION)
45ENGINE = InnoDB;
46
47
48-- -----------------------------------------------------
49-- Table `mydb`.`pessoa_fisica`
50-- -----------------------------------------------------
51CREATE TABLE IF NOT EXISTS `mydb`.`pessoa_fisica` (
52 `cpf` VARCHAR(11) NOT NULL,
53 `motorista_id` INT NOT NULL,
54 INDEX `fk_pessoa_fisica_motorista1_idx` (`motorista_id` ASC) ,
55 PRIMARY KEY (`cpf`, `motorista_id`),
56 CONSTRAINT `fk_pessoa_fisica_motorista1`
57 FOREIGN KEY (`motorista_id`)
58 REFERENCES `mydb`.`motorista` (`id`)
59 ON DELETE NO ACTION
60 ON UPDATE NO ACTION)
61ENGINE = InnoDB;
62
63
64-- -----------------------------------------------------
65-- Table `mydb`.`pessoa_juridica`
66-- -----------------------------------------------------
67CREATE TABLE IF NOT EXISTS `mydb`.`pessoa_juridica` (
68 `cnpj` VARCHAR(18) NOT NULL,
69 `motorista_id` INT NOT NULL,
70 PRIMARY KEY (`cnpj`, `motorista_id`),
71 INDEX `fk_pessoa_juridica_motorista1_idx` (`motorista_id` ASC) ,
72 CONSTRAINT `fk_pessoa_juridica_motorista1`
73 FOREIGN KEY (`motorista_id`)
74 REFERENCES `mydb`.`motorista` (`id`)
75 ON DELETE NO ACTION
76 ON UPDATE NO ACTION)
77ENGINE = InnoDB;
78
79
80-- -----------------------------------------------------
81-- Table `mydb`.`fabricante_veiculos`
82-- -----------------------------------------------------
83CREATE TABLE IF NOT EXISTS `mydb`.`fabricante_veiculos` (
84 `id` INT NOT NULL AUTO_INCREMENT,
85 `nome` VARCHAR(45) NULL,
86 PRIMARY KEY (`id`))
87ENGINE = InnoDB;
88
89
90-- -----------------------------------------------------
91-- Table `mydb`.`modelos`
92-- -----------------------------------------------------
93CREATE TABLE IF NOT EXISTS `mydb`.`modelos` (
94 `id` INT NOT NULL AUTO_INCREMENT,
95 `modelo` VARCHAR(45) NOT NULL,
96 `ano` VARCHAR(45) NOT NULL,
97 `cor` VARCHAR(45) NOT NULL,
98 `fabricante_veiculos_id` INT NOT NULL,
99 PRIMARY KEY (`id`),
100 INDEX `fk_modelos_veiculos_fabricante_veiculos1_idx` (`fabricante_veiculos_id` ASC) ,
101 CONSTRAINT `fk_modelos_veiculos_fabricante_veiculos1`
102 FOREIGN KEY (`fabricante_veiculos_id`)
103 REFERENCES `mydb`.`fabricante_veiculos` (`id`)
104 ON DELETE NO ACTION
105 ON UPDATE NO ACTION)
106ENGINE = InnoDB;
107
108
109-- -----------------------------------------------------
110-- Table `mydb`.`inspetor`
111-- -----------------------------------------------------
112CREATE TABLE IF NOT EXISTS `mydb`.`inspetor` (
113 `id` INT NOT NULL,
114 `cargo` VARCHAR(45) NULL,
115 `nome` VARCHAR(55) NULL,
116 PRIMARY KEY (`id`))
117ENGINE = InnoDB;
118
119
120-- -----------------------------------------------------
121-- Table `mydb`.`veiculo`
122-- -----------------------------------------------------
123CREATE TABLE IF NOT EXISTS `mydb`.`veiculo` (
124 `placa` VARCHAR(15) NOT NULL,
125 `chassi` VARCHAR(45) NOT NULL,
126 `data_inspecao` DATETIME NULL,
127 `modelos_id` INT NOT NULL,
128 `inspetor_id` INT NOT NULL,
129 PRIMARY KEY (`placa`),
130 INDEX `fk_veiculo_modelos1_idx` (`modelos_id` ASC) ,
131 INDEX `fk_veiculo_inspetor1_idx` (`inspetor_id` ASC) ,
132 CONSTRAINT `fk_veiculo_modelos1`
133 FOREIGN KEY (`modelos_id`)
134 REFERENCES `mydb`.`modelos` (`id`)
135 ON DELETE NO ACTION
136 ON UPDATE NO ACTION,
137 CONSTRAINT `fk_veiculo_inspetor1`
138 FOREIGN KEY (`inspetor_id`)
139 REFERENCES `mydb`.`inspetor` (`id`)
140 ON DELETE NO ACTION
141 ON UPDATE NO ACTION)
142ENGINE = InnoDB;
143
144
145-- -----------------------------------------------------
146-- Table `mydb`.`jornada`
147-- -----------------------------------------------------
148CREATE TABLE IF NOT EXISTS `mydb`.`jornada` (
149 `id` INT NOT NULL AUTO_INCREMENT,
150 `valor` DECIMAL(13,2) NOT NULL,
151 `inicio` DATETIME NOT NULL,
152 `fim` DATETIME NULL,
153 `distancia` INT(4) NULL,
154 `motorista_id` INT NOT NULL,
155 `veiculo_placa` VARCHAR(15) NOT NULL,
156 PRIMARY KEY (`id`),
157 INDEX `fk_jornada_motorista1_idx` (`motorista_id` ASC) ,
158 INDEX `fk_jornada_veiculo1_idx` (`veiculo_placa` ASC) ,
159 CONSTRAINT `fk_jornada_motorista1`
160 FOREIGN KEY (`motorista_id`)
161 REFERENCES `mydb`.`motorista` (`id`)
162 ON DELETE NO ACTION
163 ON UPDATE NO ACTION,
164 CONSTRAINT `fk_jornada_veiculo1`
165 FOREIGN KEY (`veiculo_placa`)
166 REFERENCES `mydb`.`veiculo` (`placa`)
167 ON DELETE NO ACTION
168 ON UPDATE NO ACTION)
169ENGINE = InnoDB;
170
171
172-- -----------------------------------------------------
173-- Table `mydb`.`passageiro`
174-- -----------------------------------------------------
175CREATE TABLE IF NOT EXISTS `mydb`.`passageiro` (
176 `cpf` VARCHAR(11) NOT NULL,
177 `nome` VARCHAR(55) NOT NULL,
178 `idade` INT(3) NOT NULL,
179 PRIMARY KEY (`cpf`))
180ENGINE = InnoDB;
181
182
183-- -----------------------------------------------------
184-- Table `mydb`.`reservas`
185-- -----------------------------------------------------
186CREATE TABLE IF NOT EXISTS `mydb`.`reservas` (
187 `id` INT NOT NULL AUTO_INCREMENT,
188 `veiculo_placa` VARCHAR(15) NOT NULL,
189 `inicio` DATETIME NULL,
190 `fim` DATETIME NULL,
191 `passageiro_cpf` VARCHAR(11) NOT NULL,
192 INDEX `fk_veiculo_has_passageiro_veiculo1_idx` (`veiculo_placa` ASC) ,
193 PRIMARY KEY (`id`),
194 INDEX `fk_reservas_passageiro1_idx` (`passageiro_cpf` ASC) ,
195 CONSTRAINT `fk_veiculo_has_passageiro_veiculo1`
196 FOREIGN KEY (`veiculo_placa`)
197 REFERENCES `mydb`.`veiculo` (`placa`)
198 ON DELETE NO ACTION
199 ON UPDATE NO ACTION,
200 CONSTRAINT `fk_reservas_passageiro1`
201 FOREIGN KEY (`passageiro_cpf`)
202 REFERENCES `mydb`.`passageiro` (`cpf`)
203 ON DELETE NO ACTION
204 ON UPDATE NO ACTION)
205ENGINE = InnoDB;
206
207
208SET SQL_MODE=@OLD_SQL_MODE;
209SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
210SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;