forked from valter-junior/data-base-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.sql
More file actions
358 lines (224 loc) · 11.5 KB
/
script.sql
File metadata and controls
358 lines (224 loc) · 11.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
CREATE TABLE CRACHA (
num_cracha NUMBER(4),
data_emissao DATE,
CONSTRAINT PK_CRACHA PRIMARY KEY(num_cracha)
);
CREATE TABLE USUARIO (
matricula NUMBER(10),
nome VARCHAR2(80) NOT NULL,
email VARCHAR2(100) NOT NULL,
senha VARCHAR2(100) NOT NULL,
num_cracha NUMBER(4) NOT NULL UNIQUE,
CONSTRAINT PK_USUARIO PRIMARY KEY (matricula),
CONSTRAINT FK_USU_CRA FOREIGN KEY (num_cracha) REFERENCES CRACHA (num_cracha)
);
CREATE TABLE TELEFONES (
matricula NUMBER(10),
telefone VARCHAR2(20),
CONSTRAINT PK_TELEFONES PRIMARY KEY (matricula, telefone),
CONSTRAINT FK_TEL_USU FOREIGN KEY (matricula) REFERENCES USUARIO (matricula)
);
CREATE TABLE AGENDAMENTO (
cod_agend NUMBER(4),
data_inicio DATE NOT NULL,
data_fim DATE NOT NULL,
CONSTRAINT PK_AGENDAMENTO PRIMARY KEY (cod_agend)
);
CREATE TABLE LABORATORIO (
cod_lab NUMBER(4),
endereco_num_sala VARCHAR2(50),
endereco_predio VARCHAR2(50),
CONSTRAINT PK_LABORATORIO PRIMARY KEY (cod_lab)
);
CREATE TABLE EQUIPAMENTO (
id_equipamento NUMBER(4),
cod_lab NUMBER(4),
CONSTRAINT PK_EQUIPAMENTO PRIMARY KEY (id_equipamento),
CONSTRAINT FK_COD_LAB FOREIGN KEY (cod_lab) REFERENCES LABORATORIO(cod_lab)
);
CREATE TABLE PECA (
cod_peca NUMBER(4),
qtd NUMBER(4) NOT NULL,
CONSTRAINT PK_PECA PRIMARY KEY (cod_peca)
);
CREATE TABLE VISITANTE (
matricula NUMBER(10),
id_visitante VARCHAR2(10),
motivo_visita VARCHAR2(100),
CONSTRAINT PK_VISITANTE PRIMARY KEY(matricula, id_visitante),
CONSTRAINT FK_VIS_USU FOREIGN KEY (matricula) REFERENCES USUARIO(matricula)
);
CREATE TABLE PROFESSOR (
matricula NUMBER(10),
cadeiras VARCHAR2(100),
prof_coordenador NUMBER(10) NOT NULL,
CONSTRAINT PK_PROFESSOR PRIMARY KEY (matricula),
CONSTRAINT FK_PRO_USU FOREIGN KEY (matricula) REFERENCES USUARIO (matricula),
CONSTRAINT FK_PRO_PROF FOREIGN KEY (prof_coordenador) REFERENCES PROFESSOR (matricula)
);
CREATE TABLE ALUNO (
matricula NUMBER(10),
periodo VARCHAR2(50),
cadeira VARCHAR2(100),
CONSTRAINT PK_ALUNO PRIMARY KEY (matricula),
CONSTRAINT FK_ALU_USU FOREIGN KEY (matricula) REFERENCES USUARIO (matricula)
);
CREATE TABLE FUNCIONARIO_MANUTENCAO (
matricula NUMBER(10),
salario NUMBER(4),
num_carteira VARCHAR2(50),
CONSTRAINT PK_FUNC_MANUT PRIMARY KEY (matricula),
CONSTRAINT FK_FUNC_MANUT_USU FOREIGN KEY (matricula) REFERENCES USUARIO (matricula)
);
CREATE TABLE MANUTENCAO (
matricula NUMBER(10),
id_equipamento NUMBER(4),
data_inicio_manutencao DATE,
data_fim_manutencao DATE,
descricao VARCHAR2(200),
CONSTRAINT PK_MANUTENCAO PRIMARY KEY (matricula, id_equipamento),
CONSTRAINT FK_MANU_EQUIP FOREIGN KEY (id_equipamento) REFERENCES EQUIPAMENTO (id_equipamento),
CONSTRAINT FK_MANU_FUNC_MANUT FOREIGN KEY (matricula) REFERENCES FUNCIONARIO_MANUTENCAO (matricula)
);
CREATE TABLE TROCA (
matricula NUMBER(10),
id_equipamento NUMBER(4),
cod_peca NUMBER(4),
CONSTRAINT PK_TROCA PRIMARY KEY (matricula, id_equipamento, cod_peca),
CONSTRAINT FK_TROCA_MANU_MAT FOREIGN KEY (matricula, id_equipamento) REFERENCES MANUTENCAO (matricula, id_equipamento),
CONSTRAINT FK_TROCA_PECA FOREIGN KEY (cod_peca) REFERENCES PECA (cod_peca)
);
CREATE TABLE ACESSA(
matricula NUMBER(10) NOT NULL,
cod_agend NUMBER(4),
cod_lab NUMBER(4),
CONSTRAINT PK_ACESSA PRIMARY KEY (cod_agend, cod_lab),
CONSTRAINT FK_ACESSA_COD_AGEND FOREIGN KEY (cod_agend) REFERENCES AGENDAMENTO (cod_agend),
CONSTRAINT FK_ACESSA_COD_LAB FOREIGN KEY (cod_lab) REFERENCES LABORATORIO (cod_lab),
CONSTRAINT FK_ACESSA_MATRICULA FOREIGN KEY (matricula) REFERENCES USUARIO (matricula)
);
-- POVOAMENTO
-- CRACHA
INSERT INTO CRACHA VALUES (1, TO_DATE('01/01/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (2, TO_DATE('02/02/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (3, TO_DATE('03/03/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (4, TO_DATE('04/04/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (5, TO_DATE('05/05/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (6, TO_DATE('06/06/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (7, TO_DATE('07/07/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (8, TO_DATE('08/08/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (9, TO_DATE('09/09/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (10, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (11, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (12, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (13, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (14, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (15, TO_DATE('10/10/2022','DD/MM/YYYY'));
INSERT INTO CRACHA VALUES (16, TO_DATE('10/11/2021','DD/MM/YYYY'));
-- USUARIO
INSERT INTO USUARIO VALUES (12345, ' Paulo Vitor', 'paulo@gmail.com', 'pass444', 6);
INSERT INTO USUARIO VALUES (12346, 'Fernanda Pascoal', 'fernanda@gmail.com', 'pass456', 2);
INSERT INTO USUARIO VALUES (12347, 'Gabriel Laroche', 'gabriel@outlook.com', 'secure789', 3);
INSERT INTO USUARIO VALUES (12348, 'Valter Junior', 'valter@gmail.com', 'pwd123', 4);
INSERT INTO USUARIO VALUES (12349, ' Vinicius Monitor', 'vinicius@outlook.com', 'secret567', 5);
INSERT INTO USUARIO VALUES (12350, 'Maria Geyzianny', 'maria@gmail.com', 'password123', 1);
INSERT INTO USUARIO VALUES (12351, 'Olivia Parker', 'oliviaparker@outlook.com', 'pass157word', 7);
INSERT INTO USUARIO VALUES (12352, 'Ethan Brooks', 'ethanbrooks@gmail.com', 'secure479', 8);
INSERT INTO USUARIO VALUES (12353, 'Madison Carter', 'madisoncarter@gmail.com', 'password998', 9);
INSERT INTO USUARIO VALUES (12354, 'William Turner', 'williamturner@gmail.com', 'secret562', 10);
INSERT INTO USUARIO VALUES (12355, 'Robson Fidalgo', 'robson@yahoo.com', 'secret463', 11);
INSERT INTO USUARIO VALUES (12356, 'Daniel Lee', 'daniellee@hotmail.com', 'secret289', 12);
INSERT INTO USUARIO VALUES (12357, 'Sophie Brown', 'sophiebrown@gmail.com', 'secret123', 13);
INSERT INTO USUARIO VALUES (12358, 'Adam Scott', 'adamscott@yahoo.com', 'secret456', 14);
INSERT INTO USUARIO VALUES (12359, 'Olivia Taylor', 'oliviataylor@hotmail.com', 'secret789', 15);
INSERT INTO USUARIO VALUES (12360, 'Miguel Diaz', 'Mdiaz@hotmail.com', 'secret452', 16);
-- TELEFONES
INSERT INTO TELEFONES VALUES (12345, '123-456-7890');
INSERT INTO TELEFONES VALUES (12346, '987-654-3210');
INSERT INTO TELEFONES VALUES (12347, '555-123-4567');
INSERT INTO TELEFONES VALUES (12348, '111-222-3333');
INSERT INTO TELEFONES VALUES (12349, '444-555-6666');
INSERT INTO TELEFONES VALUES (12350, '111-272-3473');
INSERT INTO TELEFONES VALUES (12351, '999-888-7777');
INSERT INTO TELEFONES VALUES (12352, '333-444-5555');
INSERT INTO TELEFONES VALUES (12353, '555-666-7777');
INSERT INTO TELEFONES VALUES (12354, '888-777-6666');
-- AGENDAMENTO
INSERT INTO AGENDAMENTO VALUES (1, TO_DATE('02/01/2022', 'DD/MM/YYYY'), TO_DATE('03/01/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (2, TO_DATE('03/02/2022', 'DD/MM/YYYY'), TO_DATE('04/02/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (3, TO_DATE('04/03/2022', 'DD/MM/YYYY'), TO_DATE('05/03/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (4, TO_DATE('05/04/2022', 'DD/MM/YYYY'), TO_DATE('06/04/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (5, TO_DATE('06/05/2022', 'DD/MM/YYYY'), TO_DATE('07/05/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (6, TO_DATE('12/08/2022', 'DD/MM/YYYY'), TO_DATE('14/08/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (7, TO_DATE('15/09/2022', 'DD/MM/YYYY'), TO_DATE('16/09/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (8, TO_DATE('21/11/2022', 'DD/MM/YYYY'), TO_DATE('22/11/2022', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (9, TO_DATE('06/01/2023', 'DD/MM/YYYY'), TO_DATE('07/01/2023', 'DD/MM/YYYY'));
INSERT INTO AGENDAMENTO VALUES (10, TO_DATE('20/03/2023', 'DD/MM/YYYY'), TO_DATE('23/03/2023', 'DD/MM/YYYY'));
-- LABORATORIO
INSERT INTO LABORATORIO VALUES (1, 'GRAD4', 'Laboratório 4');
INSERT INTO LABORATORIO VALUES (2, 'GRAD1', 'Laboratório 1');
INSERT INTO LABORATORIO VALUES (3, 'GRAD2', 'Laboratório 2');
INSERT INTO LABORATORIO VALUES (4, 'GRAD3', 'Laboratório 3');
INSERT INTO LABORATORIO VALUES (5, 'Lab PET', 'Laboratório do PET');
-- EQUIPAMENTO
INSERT INTO EQUIPAMENTO VALUES (1, 1);
INSERT INTO EQUIPAMENTO VALUES (2, 3);
INSERT INTO EQUIPAMENTO VALUES (3, 3);
INSERT INTO EQUIPAMENTO VALUES (4, 5);
INSERT INTO EQUIPAMENTO VALUES (5, 2);
INSERT INTO EQUIPAMENTO VALUES (6, 5);
INSERT INTO EQUIPAMENTO VALUES (7, 4);
INSERT INTO EQUIPAMENTO VALUES (8, 4);
INSERT INTO EQUIPAMENTO VALUES (9, 5);
INSERT INTO EQUIPAMENTO VALUES (10, 1);
-- PECA
INSERT INTO PECA VALUES (1, 10);
INSERT INTO PECA VALUES (2, 20);
INSERT INTO PECA VALUES (3, 30);
-- VISITANTE
INSERT INTO VISITANTE VALUES (12357, 10, 'Reunião com o professor');
INSERT INTO VISITANTE VALUES (12358, 11, 'Participação em palestra');
INSERT INTO VISITANTE VALUES (12359, 12, 'Participação em palestra');
INSERT INTO VISITANTE VALUES (12359, 13, 'Assitir TCC');
INSERT INTO VISITANTE VALUES (12359, 15, 'Assitir TCC');
INSERT INTO VISITANTE VALUES (12357, 14, 'Visita no campus de um calouro');
INSERT INTO VISITANTE VALUES (12351, 11, 'Participação em palestra');
-- PROFESSOR
INSERT INTO PROFESSOR VALUES (12345, 'ESTRUTURA DE DADOS', 12345);
INSERT INTO PROFESSOR VALUES (12351, 'PGP', 12345);
INSERT INTO PROFESSOR VALUES (12352, 'REDES', 12345);
INSERT INTO PROFESSOR VALUES (12353, 'CALCULO I', 12345);
INSERT INTO PROFESSOR VALUES (12355, 'BD', 12345);
-- ALUNO
INSERT INTO ALUNO VALUES (12350, '4', 'BD');
INSERT INTO ALUNO VALUES (12346, '4', 'BD');
INSERT INTO ALUNO VALUES (12347, '4', 'PGP');
INSERT INTO ALUNO VALUES (12348, '2', 'ESTRUTURA DE DADOS');
INSERT INTO ALUNO VALUES (12349, '2', 'ESTRUTURA DE DADOS');
INSERT INTO ALUNO VALUES (12360, '4', 'BD');
-- FUNCIONARIO
INSERT INTO FUNCIONARIO_MANUTENCAO VALUES (12354, 1300, 'CARTEIRA1');
INSERT INTO FUNCIONARIO_MANUTENCAO VALUES (12356, 2500, 'CARTEIRA2');
INSERT INTO FUNCIONARIO_MANUTENCAO VALUES (12357, 2500, 'CARTEIRA3');
INSERT INTO FUNCIONARIO_MANUTENCAO VALUES (12358, 1300, 'CARTEIRA4');
INSERT INTO FUNCIONARIO_MANUTENCAO VALUES (12359, 3700, 'CARTEIRA8');
-- MANUTENCAO
INSERT INTO MANUTENCAO VALUES (12354, 10, TO_DATE('06/06/2022', 'DD/MM/YYYY'), TO_DATE('07/06/2022', 'DD/MM/YYYY'), 'Limpeza');
INSERT INTO MANUTENCAO VALUES (12356, 9, TO_DATE('07/07/2022', 'DD/MM/YYYY'), TO_DATE('09/07/2022', 'DD/MM/YYYY'), 'Troca de cadeiras');
INSERT INTO MANUTENCAO VALUES (12356, 5, TO_DATE('09/09/2022', 'DD/MM/YYYY'), TO_DATE('10/09/2022', 'DD/MM/YYYY'), 'Troca de lâmpadas');
INSERT INTO MANUTENCAO VALUES (12354, 4, TO_DATE('18/12/2022', 'DD/MM/YYYY'), TO_DATE('20/12/2022', 'DD/MM/YYYY'), 'Conserto de fiação elétrica');
INSERT INTO MANUTENCAO VALUES (12357, 4, TO_DATE('09/09/2022', 'DD/MM/YYYY'), TO_DATE('10/09/2022', 'DD/MM/YYYY'), 'Conserto de placa mãe');
INSERT INTO MANUTENCAO VALUES (12357, 10, TO_DATE('11/09/2022', 'DD/MM/YYYY'), TO_DATE('11/09/2022', 'DD/MM/YYYY'), 'Limpeza');
INSERT INTO MANUTENCAO VALUES (12358, 10, TO_DATE('07/07/2022', 'DD/MM/YYYY'), TO_DATE('09/07/2022', 'DD/MM/YYYY'), 'Limpeza');
-- TROCA
INSERT INTO TROCA VALUES (12356, 9, 1);
INSERT INTO TROCA VALUES (12356, 9, 2);
INSERT INTO TROCA VALUES (12356, 5, 3);
INSERT INTO TROCA VALUES (12354, 4, 1);
INSERT INTO TROCA VALUES (12354, 4, 3);
-- ACESSA
INSERT INTO ACESSA VALUES (12349, 1, 1);
INSERT INTO ACESSA VALUES (12351, 2, 2);
INSERT INTO ACESSA VALUES (12357, 3, 3);
INSERT INTO ACESSA VALUES (12358, 4, 4);
INSERT INTO ACESSA VALUES (12359, 5, 4);