-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb_zerado.sql
More file actions
67 lines (59 loc) · 2.2 KB
/
db_zerado.sql
File metadata and controls
67 lines (59 loc) · 2.2 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
-- 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;