3
respostas

[Projeto] Mão na massa: gerenciamento escolar com banco de dados relacional

CREATE TABLE Alunos ( Id_do_Aluno int PRIMARY KEY, Nome_do_Aluno varchar(250), Data_de_Nascimento_do_Aluno date, Genero_do_Aluno varchar(20), Endereco_do_Aluno varchar(250), Telefone_de_Contato_do_Aluno int, email_do_Aluno varchar(100) );

CREATE table Professores( Id_do_Professor int PRIMARY KEY, Nome_do_professor varchar(250), Data_de_Nascimento_do_professor date, Genero_do_professor varchar(20), Telefone_de_contato_do_professor int, email_do_professor varchar(100) );

CREATE TABLE Disciplina( Id_da_Disciplina int PRIMARY KEY, Nome_da_Disciplina varchar(250), Descricao_Disciplina varchar(250), Carga_horaria int, id_do_professor int, FOREIGN key (id_do_professor) REFERENCES Professores (id_do_professor) );

CREATE TABLE Turmas( Id_da_turma int PRIMARY KEY, Nome_da_turma varchar (250), Ano_letivo int, id_do_professor_orientador int, FOREIGN KEY (id_do_professor_orientador) REFERENCES Professores (id_do_professor) );

CREATE TABLE Turma_Disciplina( Id_da_Turma int, Id_da_disciplina int, PRIMARY KEY (id_da_turma, Id_da_disciplina) FOREIGN key (Id_da_Turma) REFERENCES Turmas (id_da_turma) FOREIGN key (id_da_disciplina) REFERENCES Disciplina (id_da_disciplina) );

CREATE TABLE Turma_Alunos ( Id_da_turma int, Id_do_aluno int, PRIMARY KEY (Id_da_turma, Id_do_aluno) FOREIGN key (Id_da_Turma) REFERENCES Turmas (id_da_turma) FOREIGN Key (Id_do_aluno) REFERENCES Alunos (id_do_aluno) );

CREATE TABLE Notas( Id_da_Nota int PRIMARY key, Id_do_aluno int, Id_da_Disciplina int, Valor_da_Nota int, Data_da_avaliacao date, FOREIGN key (Id_do_Aluno) REFERENCES Alunos (id_do_aluno) FOREIGN key (Id_da_Disciplina) REFERENCES Disciplina (id_da_disciplina) );

3 respostas

INSERT INTO Alunos (id_do_aluno, nome_do_aluno, data_de_nascimento_do_aluno, genero_do_aluno, endereco_do_aluno, telefone_de_contato_do_aluno, email_do_aluno) 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');

INSERT into Disciplina (id_da_disciplina, nome_da_disciplina, descricao_disciplina, carga_horaria, id_do_professor) 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);

INSERT into Professores (id_do_professor, nome_do_professor, data_de_nascimento_do_professor, genero_do_professor, telefone_de_contato_do_professor, email_do_professor) 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');

INSERT into Turmas (id_da_turma, nome_da_turma, ano_letivo, id_do_professor_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);

INSERT into Notas (id_da_nota, id_do_aluno, id_da_disciplina, valor_da_nota, data_da_avaliacao) VALUES (2, 1, 1, 6.19, '2023-07-07'), (3, 1, 2, 7.18, '2023-07-07'), (4, 1, 3, 7.47, '2023-07-07'), (5, 1, 4, 7.46, '2023-07-07'), (6, 1, 5, 4.35, '2023-07-07'), (7, 1, 6, 4.43, '2023-07-07'), (8, 1, 7, 0.76, '2023-07-07'), (9, 1, 8, 9.22, '2023-07-07'), (10, 1, 9, 9.04, '2023-07-07'), (11, 1, 10, 3.28, '2023-07-07'), (12, 2, 1, 1.34, '2023-07-09'), (13, 2, 2, 3.1, '2023-07-09'), (14, 2, 3, 1.66, '2023-07-09'), (15, 2, 4, 0.03, '2023-07-09'), (16, 2, 5, 4.34, '2023-07-09'), (17, 2, 6, 4.02, '2023-07-09'), (18, 2, 7, 8.79, '2023-07-09'), (19, 2, 8, 1.17, '2023-07-09'), (20, 2, 9, 8.26, '2023-07-09'), (21, 2, 10, 3.41, '2023-07-09'), (22, 3, 1, 6.82, '2023-07-27'), (23, 3, 2, 8.21, '2023-07-27'), (24, 3, 3, 1.3, '2023-07-27'), (25, 3, 4, 4.01, '2023-07-27'), (26, 3, 5, 0.25, '2023-07-27'), (27, 3, 6, 6.63, '2023-07-27'), (28, 3, 7, 9.74, '2023-07-27'), (29, 3, 8, 3.77, '2023-07-27'), (30, 3, 9, 0.58, '2023-07-27'), (31, 3, 10, 8.52, '2023-07-27'), (32, 4, 1, 8.37, '2023-08-08'), (33, 4, 2, 0.26, '2023-08-08'), (34, 4, 3, 5.95, '2023-08-08'), (35, 4, 4, 6.98, '2023-08-08'), (36, 4, 5, 6.18, '2023-08-08'), (37, 4, 6, 4.79, '2023-08-08'), (38, 4, 7, 7.96, '2023-08-08'), (39, 4, 8, 0.62, '2023-08-08'), (40, 4, 9, 7.77, '2023-08-08'), (41, 4, 10, 5.81, '2023-08-08'), (42, 5, 1, 2.25, '2023-08-15'), (43, 5, 2, 5.82, '2023-08-15'), (44, 5, 3, 4.11, '2023-08-15'), (45, 5, 4, 7.99, '2023-08-15'), (46, 5, 5, 3.23, '2023-08-15'), (47, 5, 6, 8.09, '2023-08-15'), (48, 5, 7, 8.24, '2023-08-15'), (49, 5, 8, 3.33, '2023-08-15'), (50, 5, 9, 4.24, '2023-08-15'), (51, 5, 10, 0.11, '2023-08-15');

INSERT into Turma_Alunos (id_da_turma, id_do_aluno) VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 6), (2, 7), (3, 8), (4, 9), (5, 10);

INSERT INTO Turma_Disciplina (id_da_turma, id_da_disciplina) VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 3), (2, 1), (3, 2);

SELECT * FROM Alunos; SELECT * FROM Disciplina; SELECT * FROM Notas; SELECT * FROM Professores; SELECT * FROM Turmas; SELECT * FROM Turma_Alunos; SELECT * FROM Turma_Disciplina;

SELECT * FROM Alunos ORDER by nome_do_aluno;

SELECT * FROM Disciplina WHERE carga_horaria > 40;

--Opção1--

SELECT * FROM Notas WHERE valor_da_nota > 6 and valor_da_nota < 8;

--Opção2--

SELECT * FROM Notas WHERE valor_da_nota BETWEEN 6 AND 8;

Olá Lucas, tudo bem?

Parabéns pelo código! Você criou corretamente o banco de dados e já estruturou as tabelas principais.

Continue assim, que você vaio longe!

Caso surja alguma dúvida, compartilhe no fórum!

Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!