· 7 years ago · Oct 06, 2018, 07:56 AM
1SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
2SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
3SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
4
5
6DROP SCHEMA IF EXISTS mydb ;
7CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
8USE mydb ;
9
10-- -----------------------------------------------------
11-- Table `mydb`.`Tibooks`
12-- -----------------------------------------------------
13DROP TABLE IF EXISTS mydb.Tibooks ;
14
15CREATE TABLE IF NOT EXISTS mydb.Tibooks (
16 idTIBooks INT NOT NULL AUTO_INCREMENT ,
17 Nome VARCHAR(45) NULL ,
18 CNPJ CHAR(30) NULL ,
19 PRIMARY KEY (idTIBooks) )
20ENGINE = InnoDB;
21
22
23-- -----------------------------------------------------
24-- Table `mydb`.`Funcionario`
25-- -----------------------------------------------------
26DROP TABLE IF EXISTS mydb.Funcionario ;
27
28CREATE TABLE IF NOT EXISTS mydb.Funcionario (
29 idFuncionario INT NOT NULL AUTO_INCREMENT ,
30 Nome VARCHAR(45) NULL ,
31 Função VARCHAR(25) NULL ,
32 Turno VARCHAR(10) NULL ,
33 TIBooks_idTIBooks1 INT NOT NULL ,
34 PRIMARY KEY (idFuncionario) ,
35 INDEX fk_Funcionario_TIBooks1 (TIBooks_idTIBooks1 ASC) ,
36 CONSTRAINT fk_Funcionario_TIBooks1
37 FOREIGN KEY (TIBooks_idTIBooks1 )
38 REFERENCES mydb.Tibooks (idTIBooks )
39 ON DELETE NO ACTION
40 ON UPDATE NO ACTION)
41ENGINE = InnoDB;
42
43
44-- -----------------------------------------------------
45-- Table `mydb`.`Cliente`
46-- -----------------------------------------------------
47DROP TABLE IF EXISTS mydb.Cliente ;
48
49CREATE TABLE IF NOT EXISTS mydb.Cliente (
50 idCliente INT NOT NULL AUTO_INCREMENT ,
51 Nome VARCHAR(45) NULL ,
52 PRIMARY KEY (idCliente) )
53ENGINE = InnoDB;
54
55
56-- -----------------------------------------------------
57-- Table `mydb`.`Fornecedor`
58-- -----------------------------------------------------
59DROP TABLE IF EXISTS mydb.Fornecedor ;
60
61CREATE TABLE IF NOT EXISTS mydb.Fornecedor (
62 idFornecedor INT NOT NULL AUTO_INCREMENT ,
63 CNPJ CHAR(30) NOT NULL ,
64 Nome VARCHAR(45) NULL ,
65 TIBooks_idTIBooks INT NOT NULL ,
66 PRIMARY KEY (idFornecedor) ,
67 INDEX fk_Fornecedor_TIBooks1 (TIBooks_idTIBooks ASC) ,
68 CONSTRAINT fk_Fornecedor_TIBooks1
69 FOREIGN KEY (TIBooks_idTIBooks )
70 REFERENCES mydb.Tibooks (idTIBooks )
71 ON DELETE NO ACTION
72 ON UPDATE NO ACTION)
73ENGINE = InnoDB;
74
75
76-- -----------------------------------------------------
77-- Table `mydb`.`Telefone`
78-- -----------------------------------------------------
79DROP TABLE IF EXISTS mydb.Telefone ;
80
81CREATE TABLE IF NOT EXISTS mydb.Telefone (
82 idTelefone INT NOT NULL AUTO_INCREMENT ,
83 Residencial VARCHAR(11) NULL ,
84 Comercial VARCHAR(11) NULL ,
85 Celular VARCHAR(11) NULL ,
86 Funcionario_idFuncionario INT NULL ,
87 Cliente_idCliente INT NULL ,
88 TIBooks_idTIBooks INT NULL ,
89 Fornecedor_idFornecedor INT NULL ,
90 check (LEN(Residencial)=11),
91 check (Residencial like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
92 check (LEN(Comercial)=11),
93 check (Comercial like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
94 check (LEN(Celular)=11),
95 check (Celular like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
96 PRIMARY KEY (idTelefone) ,
97 INDEX fk_Telefone_Funcionario1 (Funcionario_idFuncionario ASC) ,
98 INDEX fk_Telefone_Cliente1 (Cliente_idCliente ASC) ,
99 INDEX fk_Telefone_TIBooks1 (TIBooks_idTIBooks ASC) ,
100 INDEX fk_Telefone_Fornecedor1 (Fornecedor_idFornecedor ASC) ,
101 check (Fornecedor_idFornecedor like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
102 check (TIBooks_idTIBooks like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
103 check (Cliente_idCliente like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
104 check (Funcionario_idFuncionario like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
105 CONSTRAINT fk_Telefone_Funcionario1
106 FOREIGN KEY (Funcionario_idFuncionario )
107 REFERENCES mydb.Funcionario (idFuncionario )
108 ON DELETE NO ACTION
109 ON UPDATE NO ACTION,
110 CONSTRAINT fk_Telefone_Cliente1
111 FOREIGN KEY (Cliente_idCliente )
112 REFERENCES mydb.Cliente (idCliente )
113 ON DELETE NO ACTION
114 ON UPDATE NO ACTION,
115 CONSTRAINT fk_Telefone_TIBooks1
116 FOREIGN KEY (TIBooks_idTIBooks )
117 REFERENCES mydb.Tibooks (idTIBooks )
118 ON DELETE NO ACTION
119 ON UPDATE NO ACTION,
120 CONSTRAINT fk_Telefone_Fornecedor1
121 FOREIGN KEY (Fornecedor_idFornecedor )
122 REFERENCES mydb.Fornecedor (idFornecedor )
123 ON DELETE NO ACTION
124 ON UPDATE NO ACTION)
125ENGINE = InnoDB;
126
127
128-- -----------------------------------------------------
129-- Table `mydb`.`Endereço`
130-- -----------------------------------------------------
131DROP TABLE IF EXISTS mydb.Endereço ;
132
133CREATE TABLE IF NOT EXISTS mydb.Endereço (
134 idEndereço INT NOT NULL AUTO_INCREMENT ,
135 Rua VARCHAR(45) NULL ,
136 Numero VARCHAR(6) NULL ,
137 Estado VARCHAR(2) NULL ,
138 Cidade VARCHAR(20) NULL ,
139 CEP VARCHAR(9) NULL ,
140 TIBooks_idTIBooks INT NULL ,
141 Funcionario_idFuncionario INT NULL ,
142 Cliente_idCliente INT NULL ,
143 Fornecedor_idFornecedor INT NULL ,
144 PRIMARY KEY (idEndereço) ,
145 INDEX fk_Endereço_TIBooks1 (TIBooks_idTIBooks ASC) ,
146 INDEX fk_Endereço_Funcionario1 (Funcionario_idFuncionario ASC) ,
147 INDEX fk_Endereço_Cliente1 (Cliente_idCliente ASC) ,
148 INDEX fk_Endereço_Fornecedor1 (Fornecedor_idFornecedor ASC) ,
149 CONSTRAINT fk_Endereço_TIBooks1
150 FOREIGN KEY (TIBooks_idTIBooks )
151 REFERENCES mydb.Tibooks (idTIBooks )
152 ON DELETE NO ACTION
153 ON UPDATE NO ACTION,
154 CONSTRAINT fk_Endereço_Funcionario1
155 FOREIGN KEY (Funcionario_idFuncionario )
156 REFERENCES mydb.Funcionario (idFuncionario )
157 ON DELETE NO ACTION
158 ON UPDATE NO ACTION,
159 CONSTRAINT fk_Endereço_Cliente1
160 FOREIGN KEY (Cliente_idCliente )
161 REFERENCES mydb.Cliente (idCliente )
162 ON DELETE NO ACTION
163 ON UPDATE NO ACTION,
164 CONSTRAINT fk_Endereço_Fornecedor1
165 FOREIGN KEY (Fornecedor_idFornecedor )
166 REFERENCES mydb.Fornecedor (idFornecedor )
167 ON DELETE NO ACTION
168 ON UPDATE NO ACTION)
169ENGINE = InnoDB;
170
171
172-- -----------------------------------------------------
173-- Table `mydb`.`Livro`
174-- -----------------------------------------------------
175DROP TABLE IF EXISTS mydb.Livro ;
176
177CREATE TABLE IF NOT EXISTS mydb.Livro (
178 idLivro INT NOT NULL AUTO_INCREMENT ,
179 Nome VARCHAR(45) NOT NULL ,
180 Idioma VARCHAR(15) NOT NULL ,
181 Paginas VARCHAR(4) NOT NULL ,
182 Autor VARCHAR(60) NOT NULL ,
183 NomeNativo VARCHAR(45) NOT NULL ,
184 Volume INT NOT NULL ,
185 Valor TINYINT NOT NULL ,
186 PRIMARY KEY (`idLivro`) )
187ENGINE = InnoDB;
188
189
190-- -----------------------------------------------------
191-- Table `mydb`.`CD`
192-- -----------------------------------------------------
193DROP TABLE IF EXISTS mydb.CD ;
194
195CREATE TABLE IF NOT EXISTS mydb.CD (
196 idCD INT NOT NULL AUTO_INCREMENT ,
197 Artista VARCHAR(45) NOT NULL ,
198 Titulo VARCHAR(30) NOT NULL ,
199 Faixas INT NOT NULL ,
200 Idioma VARCHAR(15) NOT NULL ,
201 Valor TINYINT NOT NULL ,
202 PRIMARY KEY (idCD) )
203ENGINE = InnoDB;
204
205
206-- -----------------------------------------------------
207-- Table `mydb`.`DvDShows`
208-- -----------------------------------------------------
209DROP TABLE IF EXISTS mydb.DvDShows ;
210
211CREATE TABLE IF NOT EXISTS mydb.DvDShows (
212 idDVD INT NOT NULL AUTO_INCREMENT ,
213 Nome VARCHAR(45) NULL ,
214 Idioma VARCHAR(45) NOT NULL ,
215 Duração VARCHAR(45) NOT NULL ,
216 Artista VARCHAR(45) NOT NULL ,
217 Valor TINYINT NULL ,
218 PRIMARY KEY (idDVD) )
219ENGINE = InnoDB;
220
221
222-- -----------------------------------------------------
223-- Table `mydb`.`DvDSeriados`
224-- -----------------------------------------------------
225DROP TABLE IF EXISTS mydb.DvDSeriados ;
226
227CREATE TABLE IF NOT EXISTS mydb.DvDSeriados (
228 idDvDSeriados INT NOT NULL AUTO_INCREMENT ,
229 Nome VARCHAR(45) NOT NULL ,
230 Idioma VARCHAR(45) NOT NULL ,
231 Temporada VARCHAR(45) NOT NULL ,
232 Episodios VARCHAR(45) NOT NULL ,
233 Valor TINYINT NULL ,
234 PRIMARY KEY (idDvDSeriados) )
235ENGINE = InnoDB;
236
237
238-- -----------------------------------------------------
239-- Table `mydb`.`Produto`
240-- -----------------------------------------------------
241DROP TABLE IF EXISTS mydb.Produto ;
242
243CREATE TABLE IF NOT EXISTS mydb.Produto (
244 idProduto INT NOT NULL AUTO_INCREMENT ,
245 Livro_idLivro INT NULL ,
246 CD_idCD INT NULL ,
247 DvDShows_idDVD INT NULL ,
248 DvDSeriados_idDvDSeriados INT NULL ,
249 PRIMARY KEY (idProduto) ,
250 INDEX fk_Produto_Livro1 (Livro_idLivro ASC) ,
251 INDEX fk_Produto_CD1 (CD_idCD ASC) ,
252 INDEX fk_Produto_DvDShows1 (DvDShows_idDVD ASC) ,
253 INDEX fk_Produto_DvDSeriados1 (DvDSeriados_idDvDSeriados ASC) ,
254 CONSTRAINT fk_Produto_Livro1
255 FOREIGN KEY (Livro_idLivro )
256 REFERENCES mydb.Livro (idLivro )
257 ON DELETE NO ACTION
258 ON UPDATE NO ACTION,
259 CONSTRAINT fk_Produto_CD1
260 FOREIGN KEY (CD_idCD )
261 REFERENCES mydb.CD (idCD )
262 ON DELETE NO ACTION
263 ON UPDATE NO ACTION,
264 CONSTRAINT fk_Produto_DvDShows1
265 FOREIGN KEY (DvDShows_idDVD )
266 REFERENCES mydb.DvDShows (idDVD )
267 ON DELETE NO ACTION
268 ON UPDATE NO ACTION,
269 CONSTRAINT fk_Produto_DvDSeriados1
270 FOREIGN KEY (DvDSeriados_idDvDSeriados )
271 REFERENCES mydb.DvDSeriados (idDvDSeriados )
272 ON DELETE NO ACTION
273 ON UPDATE NO ACTION)
274ENGINE = InnoDB;
275
276
277-- -----------------------------------------------------
278-- Table mydb.Pagamento
279-- -----------------------------------------------------
280DROP TABLE IF EXISTS mydb.Pagamento ;
281
282CREATE TABLE IF NOT EXISTS mydb.Pagamento (
283 idPagamento INT NOT NULL AUTO_INCREMENT ,
284 Forma VARCHAR(30) NOT NULL ,
285 Data DATETIME NOT NULL ,
286 Valor DOUBLE NOT NULL ,
287 PRIMARY KEY (idPagamento) )
288ENGINE = InnoDB;
289
290
291-- -----------------------------------------------------
292-- Table `mydb`.`Pedido`
293-- -----------------------------------------------------
294DROP TABLE IF EXISTS mydb.Pedido ;
295
296CREATE TABLE IF NOT EXISTS mydb.Pedido (
297 idPedido INT NOT NULL AUTO_INCREMENT ,
298 Data DATETIME NOT NULL ,
299 Quantidade INT NULL ,
300 Cliente_idCliente INT NULL ,
301 Funcionario_idFuncionario INT NULL ,
302 Produto_idProduto INT NULL ,
303 Pagamento_idPagamento INT NULL ,
304 PRIMARY KEY (idPedido) ,
305 INDEX fk_Pedido_Cliente1 (Cliente_idCliente ASC) ,
306 INDEX fk_Pedido_Funcionario1 (Funcionario_idFuncionario ASC) ,
307 INDEX fk_Pedido_Produto1 (Produto_idProduto ASC) ,
308 INDEX fk_Pedido_Pagamento1 (Pagamento_idPagamento ASC) ,
309 CONSTRAINT fk_Pedido_Cliente1
310 FOREIGN KEY (Cliente_idCliente )
311 REFERENCES mydb.Cliente (idCliente )
312 ON DELETE NO ACTION
313 ON UPDATE NO ACTION,
314 CONSTRAINT fk_Pedido_Funcionario1
315 FOREIGN KEY (Funcionario_idFuncionario )
316 REFERENCES mydb.Funcionario (idFuncionario )
317 ON DELETE NO ACTION
318 ON UPDATE NO ACTION,
319 CONSTRAINT fk_Pedido_Produto1
320 FOREIGN KEY (Produto_idProduto )
321 REFERENCES mydb.Produto (idProduto )
322 ON DELETE NO ACTION
323 ON UPDATE NO ACTION,
324 CONSTRAINT fk_Pedido_Pagamento1
325 FOREIGN KEY (Pagamento_idPagamento )
326 REFERENCES mydb.Pagamento (idPagamento )
327 ON DELETE NO ACTION
328 ON UPDATE NO ACTION)
329ENGINE = InnoDB;
330
331
332-- -----------------------------------------------------
333-- Table `mydb`.`Email`
334-- -----------------------------------------------------
335DROP TABLE IF EXISTS mydb.Email ;
336
337CREATE TABLE IF NOT EXISTS mydb.Email (
338 idEmail INT NOT NULL AUTO_INCREMENT ,
339 Pessoal VARCHAR(30) NULL ,
340 Comercial VARCHAR(30) NULL ,
341 TIBooks_idTIBooks INT NULL ,
342 Funcionario_idFuncionario INT NULL ,
343 Cliente_idCliente INT NULL ,
344 Fornecedor_idFornecedor INT NULL ,
345 PRIMARY KEY (idEmail) ,
346 INDEX fk_Email_TIBooks1 (TIBooks_idTIBooks ASC) ,
347 INDEX fk_Email_Funcionario1 (Funcionario_idFuncionario ASC) ,
348 INDEX fk_Email_Cliente1 (Cliente_idCliente ASC) ,
349 INDEX fk_Email_Fornecedor1 (Fornecedor_idFornecedor ASC) ,
350 CONSTRAINT fk_Email_TIBooks1
351 FOREIGN KEY (TIBooks_idTIBooks )
352 REFERENCES mydb.Tibooks (idTIBooks )
353 ON DELETE NO ACTION
354 ON UPDATE NO ACTION,
355 CONSTRAINT fk_Email_Funcionario1
356 FOREIGN KEY (Funcionario_idFuncionario )
357 REFERENCES mydb.Funcionario (idFuncionario )
358 ON DELETE NO ACTION
359 ON UPDATE NO ACTION,
360 CONSTRAINT fk_Email_Cliente1
361 FOREIGN KEY (Cliente_idCliente )
362 REFERENCES mydb.Cliente (idCliente )
363 ON DELETE NO ACTION
364 ON UPDATE NO ACTION,
365 CONSTRAINT fk_Email_Fornecedor1
366 FOREIGN KEY (Fornecedor_idFornecedor )
367 REFERENCES mydb.Fornecedor (idFornecedor )
368 ON DELETE NO ACTION
369 ON UPDATE NO ACTION)
370ENGINE = InnoDB;
371
372
373SET SQL_MODE=@OLD_SQL_MODE;
374SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
375SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;