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