· 5 years ago · Jun 03, 2020, 06:32 PM
1DROP DATABASE IF EXISTS livraria;
2CREATE DATABASE IF NOT EXISTS livraria;
3USE livraria;
4
5-- TABELA AUTOR --
6
7DROP TABLE IF EXISTS autor;
8CREATE TABLE IF NOT EXISTS autor
9(
10 idautor INT(11) NOT NULL AUTO_INCREMENT,
11 nome VARCHAR(100) DEFAULT NULL,
12 email VARCHAR(100) DEFAULT NULL,
13 PRIMARY KEY (`idautor`)
14);
15
16INSERT INTO
17 autor (nome, email)
18VALUES
19 ('Roberto Martins Figueiredo', NULL),
20 ('Daniel Kahneman', NULL),
21 ('Hilary Duff', NULL),
22 ('Robson Pinheiro', NULL),
23 ('Cecelia Ahern', NULL),
24 ('Arlene Einsenberg', NULL),
25 ('Sandee Hathaway', NULL),
26 ('Heidi Murkoff', NULL),
27 ('Julio Cesar de Barros', NULL),
28 ('Maria José Valero', NULL);
29
30-- ----------------------------------------------
31
32-- TABELA CLIENTE --
33
34DROP TABLE IF EXISTS cliente;
35CREATE TABLE IF NOT EXISTS cliente
36(
37 idcliente INT(11) NOT NULL AUTO_INCREMENT,
38 nome VARCHAR(100) NOT NULL,
39 telefone VARCHAR(45) DEFAULT NULL,
40 PRIMARY KEY (idcliente)
41);
42
43INSERT INTO
44 cliente (nome, telefone)
45VALUES
46 ('Joao Silva ', '1111'),
47 ('Maria Cunha', '2222'),
48 ('Pedro Aguiar', '8888'),
49 ('Elaine Luciana', '9374'),
50 ('Antonio Pereira', '3764'),
51 ('Catarina Dias', '999'),
52 ('Felipe Escolar', '8787'),
53 ('Nando Caixinha', '5478'),
54 ('Pelé Golias', '7811'),
55 ('Tito Vardones', '7489');
56
57-- ----------------------------------------------
58
59-- TABELA EDITORA --
60
61DROP TABLE IF EXISTS editora;
62CREATE TABLE IF NOT EXISTS editora
63(
64 ideditora INT(11) NOT NULL AUTO_INCREMENT,
65 nome VARCHAR(100) NOT NULL,
66 fone VARCHAR(30) DEFAULT NULL,
67 PRIMARY KEY (`ideditora`)
68);
69
70INSERT INTO
71 editora (nome, fone)
72VALUES
73 ('Casa dos Espiritos', NULL),
74 ('Id Editora', NULL),
75 ('Objetiva', NULL),
76 ('Manole', NULL),
77 ('Novo Conceito', NULL),
78 ('Record', NULL),
79 ('Benvirá', NULL),
80 ('Scipione', NULL),
81 ('Atica', NULL),
82 ('Campus', NULL);
83
84-- ----------------------------------------------
85
86-- TABELA GENERO --
87
88DROP TABLE IF EXISTS genero;
89CREATE TABLE IF NOT EXISTS genero
90(
91 idgenero INT(11) NOT NULL AUTO_INCREMENT,
92 descricao VARCHAR(100) NOT NULL,
93 PRIMARY KEY (`idgenero`)
94);
95
96INSERT INTO
97 genero (descricao)
98VALUES
99 ('Espiritualismo'),
100 ('Infanto-Juvenil'),
101 ('Economia'),
102 ('Medicina'),
103 ('Romance'),
104 ('Historia'),
105 ('Fantasia'),
106 ('Auto-Ajuda'),
107 ('Informática'),
108 ('Humor');
109
110-- ----------------------------------------------
111
112-- TABELA LIVRO --
113
114-- Copiando estrutura para tabela livraria3.livro
115DROP TABLE IF EXISTS livro;
116CREATE TABLE IF NOT EXISTS livro
117(
118 idlivro INT(11) NOT NULL AUTO_INCREMENT,
119 titulo VARCHAR(100) NOT NULL,
120 preco FLOAT DEFAULT NULL,
121 estoque INT(11) DEFAULT 0,
122 idgenero INT(11) NOT NULL,
123 ideditora INT(11) NOT NULL,
124 PRIMARY KEY (idlivro, idgenero, ideditora),
125 FOREIGN KEY (idgenero) REFERENCES genero(idgenero),
126 FOREIGN KEY (ideditora) REFERENCES editora(ideditora)
127);
128
129INSERT INTO
130 livro (titulo, preco, estoque, idgenero, ideditora)
131VALUES
132 ('Pelas Ruas de Calcutá', 36.1, 5, 1, 1),
133 ('Devoted - Devoção', 27.2, 4, 2, 2),
134 ('Rápido e Devagar - Duas Formas de Pensar', 43.9, 8, 3, 3),
135 ('Xô, Bactéria! Tire Suas Dúvidas Com Dr. Bactéria', 32.7, 6, 4, 4),
136 ('P.s. - Eu Te Amo ', 23.5, 10, 5, 5),
137 ('O Que Esperar Quando Você Está Esperando', 37.8, 20, 4, 6),
138 ('As Melhores Frases Em Veja', 23.9, 0, 6, 7),
139 ('Bichos Monstruosos', 24.9, 12, 2, 6),
140 ('Casas Mal Assombradas', 27.9, 12, 2, 6);
141
142-- ----------------------------------------------
143
144-- TABELA ESCREVE --
145
146DROP TABLE IF EXISTS escreve;
147CREATE TABLE IF NOT EXISTS escreve
148(
149 idlivro INT(11) NOT NULL,
150 idautor INT(11) NOT NULL,
151 PRIMARY KEY (idlivro, idautor),
152 FOREIGN KEY (idlivro) REFERENCES livro(idlivro),
153 FOREIGN KEY (idautor) REFERENCES autor(idautor)
154);
155
156INSERT INTO
157 escreve (idlivro, idautor)
158VALUES
159 (1, 1),
160 (2, 3),
161 (3, 2),
162 (5, 5),
163 (6, 6),
164 (6, 7),
165 (6, 8),
166 (7, 9),
167 (8, 10),
168 (9, 10);
169
170-- ----------------------------------------------
171
172-- TABELA VENDA --
173
174DROP TABLE IF EXISTS venda;
175CREATE TABLE IF NOT EXISTS venda
176(
177 idvenda INT(11) NOT NULL AUTO_INCREMENT,
178 `data` DATE DEFAULT NULL,
179 total FLOAT DEFAULT '0',
180 idcliente INT(11) NOT NULL,
181 PRIMARY KEY (idvenda, idcliente),
182 FOREIGN KEY (idcliente) REFERENCES cliente (idcliente)
183);
184
185INSERT INTO
186 venda (`data`, total, idcliente)
187VALUES
188 ('2012-01-01', 30, 1),
189 ('2012-02-02', 60, 2),
190 ('2012-03-03', 90, 3),
191 ('2012-04-04', 120, 4),
192 ('2012-05-05', 50, 5),
193 ('2012-06-06', 600, 6),
194 ('2012-07-07', 70, 7),
195 ('2012-08-08', 85, 8),
196 ('2012-09-09', 100, 9),
197 ('2012-10-10', 35, 10),
198 ('2012-11-11', 99, 1),
199 ('2012-12-12', 59, 2),
200 ('2011-01-02', 46, 3),
201 ('2011-02-01', 399, 4),
202 ('2011-03-04', 42, 5),
203 ('2011-04-03', 79, 6),
204 ('2011-05-06', 130, 7),
205 ('2011-06-05', 245, 8),
206 ('2011-07-06', 19, 9),
207 ('2011-08-09', 14, 10),
208 ('2018-10-22', 0, 1),
209 ('2018-10-22', 0, 1),
210 ('2018-10-22', 0, 1),
211 ('2018-10-22', 0, 1),
212 ('2018-10-22', 0, 1),
213 ('2018-10-22', 0, 1);
214
215-- ----------------------------------------------
216
217-- TABELA ITENS_DA_VENDA --
218
219DROP TABLE IF EXISTS itens_da_venda;
220CREATE TABLE IF NOT EXISTS itens_da_venda
221(
222 idvenda INT(11) NOT NULL,
223 idlivro INT(11) NOT NULL,
224 qtde INT(11) DEFAULT NULL,
225 subtotal FLOAT DEFAULT NULL,
226 FOREIGN KEY (idlivro) REFERENCES livro(idlivro),
227 FOREIGN KEY (idvenda) REFERENCES venda(idvenda)
228);
229
230INSERT INTO itens_da_venda (idvenda, idlivro, qtde, subtotal) VALUES
231 (1, 1, 1, NULL),
232 (1, 2, 1, NULL),
233 (2, 2, 2, NULL),
234 (2, 3, 1, NULL),
235 (3, 4, 1, NULL),
236 (4, 5, 1, NULL),
237 (5, 5, 1, NULL),
238 (6, 5, 1, NULL),
239 (7, 6, 1, NULL),
240 (8, 7, 2, NULL),
241 (9, 8, 3, NULL),
242 (10, 9, 1, NULL),
243 (11, 6, 1, NULL),
244 (12, 1, 1, NULL),
245 (13, 4, 1, NULL),
246 (14, 7, 2, NULL),
247 (15, 9, 1, NULL),
248 (16, 3, 1, NULL),
249 (17, 8, 4, NULL),
250 (18, 2, 1, NULL),
251 (19, 4, 1, NULL),
252 (20, 6, 1, NULL),
253 (23, 1, 2, 0),
254 (23, 3, 2, 0),
255 (23, 8, 2, 0),
256 (23, 9, 2, 0),
257 (24, 9, 2, 0),
258 (24, 9, 2, 0),
259 (24, 9, 2, 0),
260 (24, 9, 2, 0),
261 (24, 9, 2, 0),
262 (24, 9, 2, 0),
263 (24, 9, 2, 0),
264 (24, 9, 2, 0),
265 (24, 9, 2, 0),
266 (24, 9, 2, 0),
267 (24, 9, 2, 0),
268 (24, 9, 2, 0),
269 (24, 9, 2, 0),
270 (2, 9, 24, 0),
271 (2, 9, 24, 0),
272 (24, 9, 2, 0),
273 (24, 9, 2, 0),
274 (24, 9, 2, 0),
275 (24, 9, 2, 0);