Vim compartilhar com vocês o meu Desafio: gerenciamento escolar com banco de dados relacional! O objetivo aqui é compartilhar, permitindo que vocês sugerem melhorias ou suas respetivas respostas, contribuindo assim para o enriquecimento do conhecimento.
Questões 1, 2 e o "SELECT * FROM nome_da_tabela" da questão 3:
CREATE TABLE aluno
(id_aluno INT PRIMARY KEY,
nome_completo VARCHAR(100),
data_nascimento DATE,
genero VARCHAR(30),
endereco VARCHAR(100),
telefone_contado VARCHAR(20),
email_contato VARCHAR(50)
);
INSERT INTO aluno (
id_aluno,
nome_completo,
data_nascimento,
genero,
endereco,
telefone_contado,
email_contato)
VALUES
(1, 'João Silva', '2005-03-15', 'Masculino', 'Rua das Flores, 123', '(11) 9876-5432', 'joao@email.com'),
(2, 'Maria Santos', '2006-06-20', 'Feminino', 'Avenida Principal, 456', '(11) 8765-4321', 'maria@email.com'),
(3, 'Pedro Soares', '2004-01-10', 'Masculino', 'Rua Central, 789', '(11) 7654-3210', 'pedro@email.com'),
(4, 'Ana Lima', '2005-04-02', 'Feminino', 'Rua da Escola, 56', '(11) 8765-4321', 'ana@email.com'),
(5, 'Mariana Fernandes', '2005-08-12', 'Feminino', 'Avenida da Paz, 789', '(11) 5678-1234', 'mariana@email.com'),
(6, 'Lucas Costa', '2003-11-25', 'Masculino', 'Rua Principal, 456', '(11) 1234-5678', 'lucas@email.com'),
(7, 'Isabela Santos', '2006-09-10', 'Feminino', 'Rua da Amizade, 789', '(11) 9876-5432', 'isabela@email.com'),
(8, 'Gustavo Pereira', '2004-05-15', 'Masculino', 'Avenida dos Sonhos, 123', '(11) 7654-3210', 'gustavo@email.com'),
(9, 'Carolina Oliveira', '2005-02-20', 'Feminino', 'Rua da Alegria, 456', '(11) 8765-4321', 'carolina@email.com'),
(10, 'Daniel Silva', '2003-10-05', 'Masculino', 'Avenida Central, 789', '(11) 1234-5678', 'daniel@email.com'),
(11, 'Larissa Souza', '2004-12-08', 'Feminino', 'Rua da Felicidade, 123', '(11) 9876-5432', 'larissa@email.com'),
(12, 'Bruno Costa', '2005-07-30', 'Masculino', 'Avenida Principal, 456', '(11) 7654-3210', 'bruno@email.com'),
(13, 'Camila Rodrigues', '2006-03-22', 'Feminino', 'Rua das Estrelas, 789', '(11) 8765-4321', 'camila@email.com'),
(14, 'Rafael Fernandes', '2004-11-18', 'Masculino', 'Avenida dos Sonhos, 123', '(11) 1234-5678', 'rafael@email.com'),
(15, 'Letícia Oliveira', '2005-01-05', 'Feminino', 'Rua da Alegria, 456', '(11) 9876-5432', 'leticia@email.com'),
(16, 'Fernanda Lima', '2004-02-12', 'Feminino', 'Rua da Esperança, 789', '(11) 4567-8901', 'fernanda@email.com'),
(17, 'Vinícius Santos', '2003-07-28', 'Masculino', 'Avenida da Amizade, 123', '(11) 8901-2345', 'vinicius@email.com'),
(18, 'Juliana Pereira', '2006-09-01', 'Feminino', 'Rua das Rosas, 789', '(11) 3456-7890', 'juliana@email.com')
SELECT * FROM aluno
CREATE TABLE professor
(id_professor INT PRIMARY KEY,
nome_completo VARCHAR(100),
data_nascimento DATE,
genero VARCHAR(30),
telefone_contado VARCHAR(20),
email_contato VARCHAR(50)
);
INSERT INTO professor (
id_professor,
nome_completo,
data_nascimento,
genero,
telefone_contado,
email_contato)
VALUES
(1, 'Ana Oliveira', '1980-05-25', 'Feminino', '(11) 1234-5678', 'ana@email.com'),
(2, 'Carlos Ferreira', '1975-09-12', 'Masculino', '(11) 2345-6789', 'carlos@email.com'),
(3, 'Mariana Santos', '1982-03-15', 'Feminino', '(11) 3456-7890', 'mariana@email.com'),
(4, 'Ricardo Silva', '1978-08-20', 'Masculino', '(11) 7890-1234', 'ricardo@email.com'),
(5, 'Fernanda Lima', '1985-01-30', 'Feminino', '(11) 4567-8901', 'fernanda@email.com');
SELECT * FROM professor;
CREATE TABLE disciplina
(id_disciplina INT PRIMARY KEY,
nome VARCHAR(100),
descricao TEXT,
carga_horaria INT,
id_docente INT,
FOREIGN KEY (id_docente) REFERENCES id_docente(id_professor)
);
INSERT INTO disciplina(
id_disciplina,
nome,
descricao,
carga_horaria,
id_docente)
VALUES
(1, 'Matemática', 'Estudo de conceitos matemáticos avançados', 60, 1),
(2, 'História', 'História mundial e local', 45, 2),
(3, 'Física', 'Princípios fundamentais da física', 60, 1),
(4, 'Química', 'Estudo da química e suas aplicações', 45, 3),
(5, 'Inglês', 'Aulas de inglês para iniciantes', 45, 4),
(6, 'Artes', 'Exploração da criatividade artística', 30, 5);
SELECT * from disciplina;
CREATE TABLE turma
(id_turma INT PRIMARY KEY,
nome VARCHAR(100),
ano_letivo INT,
id_orientador INT,
FOREIGN KEY (id_orientador) REFERENCES id_orientador(id_professor)
);
INSERT INTO turma(
id_turma,
nome,
ano_letivo,
id_orientador)
VALUES
(1, 'Turma A', 2023, 1),
(2, 'Turma B', 2023, 2),
(3, 'Turma C', 2023, 3),
(4, 'Turma D', 2023, 4),
(5, 'Turma E', 2023, 5);
SELECT * from turma;
CREATE TABLE turma_disciplinas (
id_turma INT,
id_disciplina INT,
FOREIGN KEY (id_turma) REFERENCES id_turma(id_turma),
FOREIGN KEY (id_disciplina) REFERENCES id_disciplina(id_disciplina));
INSERT INTO turma_disciplinas (
id_turma,
id_disciplina)
VALUES
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(1, 3),
(2, 1),
(3, 2);
SELECT * FROM turma_disciplinas