-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb_testes.sql
More file actions
126 lines (113 loc) · 5.58 KB
/
db_testes.sql
File metadata and controls
126 lines (113 loc) · 5.58 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
-- Cria o banco de dados se ele não existir e o seleciona para uso.
CREATE DATABASE IF NOT EXISTS `escola_tecnica`;
USE `escola_tecnica`;
-- CASO DÊ ERRO NA CRIAÇÃO REMOVER ESSAS TRÊS PRIMEIRAS LINHAS (ALGUMAS HOSTS NÃO ACEITAM).
-- Limpa as tabelas existentes na ordem correta para evitar erros de chave estrangeira.
DROP TABLE IF EXISTS `escala_provas`;
DROP TABLE IF EXISTS `provas`;
DROP TABLE IF EXISTS `professor_disciplina`;
DROP TABLE IF EXISTS `disciplinas`;
DROP TABLE IF EXISTS `professores`;
-- --------------------------------------------------------
--
-- Estrutura da tabela `professores`
--
CREATE TABLE `professores` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`nome` VARCHAR(255) NOT NULL,
`vezes_fiscalizou` INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Estrutura da tabela `disciplinas` (simplificada, sem professor)
--
CREATE TABLE `disciplinas` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`nome` VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Estrutura da tabela `professor_disciplina` (tabela ponte)
--
CREATE TABLE `professor_disciplina` (
`id_professor` INT NOT NULL,
`id_disciplina` INT NOT NULL,
PRIMARY KEY (`id_professor`, `id_disciplina`),
FOREIGN KEY (`id_professor`) REFERENCES `professores`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`id_disciplina`) REFERENCES `disciplinas`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Estrutura da tabela `provas`
--
CREATE TABLE `provas` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`id_disciplina` INT NOT NULL,
`id_professor` INT NOT NULL,
`id_turma` VARCHAR(10) NOT NULL,
`data_prova` DATE NOT NULL,
FOREIGN KEY (`id_disciplina`) REFERENCES `disciplinas`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`id_professor`) REFERENCES `professores`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Estrutura da tabela `escala_provas`
--
CREATE TABLE `escala_provas` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`id_turma` VARCHAR(10) NOT NULL,
`data_prova` DATE NOT NULL,
`id_professor_fiscal` INT NOT NULL,
FOREIGN KEY (`id_professor_fiscal`) REFERENCES `professores`(`id`) ON DELETE CASCADE,
INDEX `idx_data_prova` (`data_prova`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
-- INSERINDO DADOS DE TESTE
-- --------------------------------------------------------
--
-- Inserindo 36 professores de teste com nomes aleatórios
--
INSERT INTO `professores` (`id`, `nome`, `vezes_fiscalizou`) VALUES
(1, 'Lucas Souza', 5), (2, 'Julia Ferreira', 2), (3, 'Pedro Oliveira', 8), (4, 'Sofia Santos', 1),
(5, 'Gabriel Costa', 4), (6, 'Isabella Rodrigues', 7), (7, 'Matheus Alves', 3), (8, 'Beatriz Pereira', 0),
(9, 'Bruno Lima', 5), (10, 'Maria Gomes', 2), (11, 'Felipe Martins', 6), (12, 'Laura Carvalho', 4),
(13, 'João Almeida', 1), (14, 'Ana Ribeiro', 9), (15, 'Rafael Silva', 3), (16, 'Mariana Dias', 5),
(17, 'Gustavo Barbosa', 2), (18, 'Letícia Nunes', 0), (19, 'André Castro', 4), (20, 'Camila Rocha', 7),
(21, 'Vinicius Mendes', 3), (22, 'Manuela Barros', 1), (23, 'Daniel Cunha', 6), (24, 'Amanda Farias', 5),
(25, 'Thiago Azevedo', 2), (26, 'Gabriela Teixeira', 8), (27, 'Ricardo Vieira', 0), (28, 'Helena Pinto', 4),
(29, 'Eduardo Araujo', 7), (30, 'Larissa Correia', 3), (31, 'Leonardo Moreira', 5), (32, 'Valentina Cardoso', 1),
(33, 'Sérgio Lopes', 6), (34, 'Luana Monteiro', 2), (35, 'Fernando Gonçalves', 4), (36, 'Heloísa Magalhães', 0);
--
-- Inserindo 36 disciplinas de teste
--
INSERT INTO `disciplinas` (`id`, `nome`) VALUES
(1, 'Matemática Aplicada'), (2, 'Desenvolvimento Web I'), (3, 'Redes de Computadores'), (4, 'Física para Mecatrônica'),
(5, 'Química Industrial'), (6, 'Banco de Dados'), (7, 'Sistemas Operacionais'), (8, 'Eletrônica Digital'),
(9, 'Língua Portuguesa Instrumental'), (10, 'Automação Industrial'), (11, 'Engenharia de Software'), (12, 'Segurança da Informação'),
(13, 'Cálculo I'), (14, 'Desenvolvimento Web II'), (15, 'Protocolos de Rede'), (16, 'Termodinâmica'),
(17, 'Química Orgânica'), (18, 'Modelagem de Dados'), (19, 'Arquitetura de Computadores'), (20, 'Circuitos Elétricos'),
(21, 'Literatura Técnica'), (22, 'CLP e Supervisórios'), (23, 'Testes de Software'), (24, 'Criptografia'),
(25, 'Geometria Analítica'), (26, 'Interface Humano-Computador'), (27, 'Administração de Redes'), (28, 'Resistência dos Materiais'),
(29, 'Físico-Química'), (30, 'Big Data'), (31, 'Sistemas Embarcados'), (32, 'Microcontroladores'),
(33, 'Redação Oficial'), (34, 'Robótica'), (35, 'Qualidade de Software'), (36, 'Análise Forense');
--
-- Associando professores às disciplinas
--
INSERT INTO `professor_disciplina` (`id_professor`, `id_disciplina`) VALUES
(1, 1), (1, 13), (2, 2), (2, 14), (3, 3), (3, 15), (4, 4), (5, 5), (6, 6), (6, 18), (7, 7),
(8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16),
(17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25),
(26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34),
(35, 35), (36, 36), (1, 2), (18, 6); -- Adicionando algumas associações extras
--
-- Inserindo 12 provas de teste para a próxima segunda-feira (09/09/2025).
--
INSERT INTO `provas` (`id_disciplina`, `id_professor`, `id_turma`, `data_prova`) VALUES
(1, 1, '101', '2025-09-08'),
(2, 2, '102', '2025-09-08'),
(3, 3, '103', '2025-09-08'),
(4, 4, '104', '2025-09-08'),
(5, 5, '201', '2025-09-08'),
(6, 6, '202', '2025-09-08'),
(7, 7, '203', '2025-09-08'),
(8, 8, '204', '2025-09-08'),
(9, 9, '301', '2025-09-08'),
(10, 10, '302', '2025-09-08'),
(11, 11, '303', '2025-09-08'),
(12, 12, '304', '2025-09-08');