8
respostas

[Projeto] Desafio: gerenciamento escolar com banco de dados relacional

CREATE TABLE Alunos (
  id_aluno INT PRIMARY KEY,
  Nome_aluno VARCHAR(150),
  Data_nascimento DATE,
  Genero_aluno VARCHAR (20),
  Endereço_aluno VARCHAR (250),
  Telefone_aluno VARCHAR (15),
  Email_aluno VARCHAR (50)
  );
  
 INSERT INTO Alunos
(id_aluno,
 nome_aluno,
 data_nascimento,
 genero_aluno,
 endereço_aluno,
 telefone_aluno,
 email_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');

8 respostas
CREATE TABLE Professores (
  id_professor INT PRIMARY KEY,
  Nome_professor VARCHAR(150),
  Data_nascimento DATE,
  Genero_professor VARCHAR(50),
  Telefone_professor VARCHAR(15),
  Email_professor VARCHAR(50)
  );

INSERT INTO Professores
(id_professor,
 nome_professor,
 data_nascimento,
 genero_professor,
 telefone_professor,
 email_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');
CREATE TABLE Disciplinas 
( id_disciplina INT PRIMARY KEY,
  Nome_disciplina VARCHAR(50),
  Descricao TEXT,
  Carga_horaria INT, 
  id_prof_disciplina INT,
  FOREIGN KEY (id_prof_disciplina) REFERENCES Professores (id_professor));
  
INSERT INTO Disciplinas
(id_disciplina,
 nome_disciplina,
 descricao,
 carga_horaria,
 id_prof_disciplina)
 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);
CREATE TABLE Turmas
( id_turma INT PRIMARY key,
 Nome_turma VARCHAR(10),
 Ano_letivo DATE,
 id_prof_orientador INT,
 FOREIGN KEY (id_prof_orientador) REFERENCES Professores (id_professor));


INSERT INTO Turmas
(id_turma,
 nome_turma,
 ano_letivo,
 id_prof_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);
CREATE TABLE Turma_Disciplinas
( id_turma_TD INT,
 id_disciplinas_TD INT,
 FOREIGN KEY (id_turma_TD) REFERENCES Turmas (id_turma),
 FOREIGN KEY (id_disciplinas_TD) REFERENCES Disciplinas (id_disciplina));

INSERT INTO Turma_Disciplinas
( id_turma_td,
 id_disciplinas_td)
 VALUES
(1, 1),
(2,	2),
(3,	3),
(4,	4),
(5,	5),
(1,	3),
(2,	1),
(3,	2);
CREATE TABLE Turma_alunos
( id_turma_TA INT,
 id_alunos_TA INT,
 FOREIGN KEY (id_turma_TA) REFERENCES Turmas (id_turma),
 FOREIGN KEY (id_alunos_TA) REFERENCES Alunos (id_aluno));

INSERT INTO Turma_alunos
(id_turma_ta,
 id_alunos_ta)
 VALUES
(1,	1),
(2,	2),
(3,	3),
(4,	4),
(5,	5),
(1,	6),
(2,	7),
(3,	8),
(4,	9),
(5,	10);
CREATE TABLE Notas
( id_nota INT PRIMARY KEY,
 id_aluno_N INT,
 id_disciplina_N INT,
 Valor_nota FLOAT,
 Data_avaliacao DATE,
 FOREIGN KEY (id_aluno_N) REFERENCES Alunos (id_aluno),
 FOREIGN KEY (id_disciplina_N) REFERENCES Disciplinas (id_disciplina));

INSERT INTO Notas
(id_nota,
 id_aluno_n,
 id_disciplina_n,
 valor_nota,
 data_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.4,	'2023-07-07'),
(11, 1, 10, 3.28, '2023-07-07'),
(12, 2, 1, 1.34, '2023-07-09'),
(13, 2, 2, 03.01, '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,	1, 3.41, '2023-07-09'),
(22, 3,	1, 6.82	, '2023-07-27'),
(23, 3,	2, 8.21	, '2023-07-27'),
(24, 3,	3, 01.03, '2023-07-27'),
(25, 3,	4, 4.1, '2023-07-07'),
(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,	08.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');
-- Consulta 1

SELECT * FROM Alunos;
SELECT * FROM Professores;
SELECT * FROM Disciplinas;
SELECT*FROM Turmas;
SELECT*FROM Turma_Disciplinas;
SELECT*FROM Turma_alunos;
SELECT*FROM Notas;

-- Consulta 2

SELECT*from Alunos ORDER by nome_aluno ASC;  

-- Consulta 3

SELECT * FROM Disciplinas WHERE carga_horaria > 40;

-- Consulta 4

SELECT*FROM Notas WHERE valor_nota BETWEEN 6 and 8;

Olá, Luís, como vai? Espero que esteja bem!

Fico feliz em ver que realizou a atividade, é isso aí! Continue se dedicando aos estudos e colocando em prática seus aprendizados.

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!