3
respostas

[Projeto] Resolução Projeto

Abaixo em partes as criações de tabelas, inserção de dados e consulta

CREATE TABLE Alunos
    (id_aluno INT PRIMARY KEY,
     nome_aluno VARCHAR(255),
     data_de_nascimento DATE,
     genero VARCHAR(15),
     endereco TEXT,
     telefone VARCHAR(20),
     email VARCHAR(255))



CREATE TABLE Professores
    (id_professor INT PRIMARY KEY,
     nome_professor VARCHAR(255),
     data_de_nascimento DATE,
     genero VARCHAR(15),
     telefone VARCHAR(20),
     email VARCHAR(255))
DROP TABLE Professores     
     
CREATE TABLE Disciplinas
    (id_disciplina INT PRIMARY key,
     nome_disciplina VARCHAR(100),
     descricao TEXT,
     carga_horaria INT,
     id_professor INT,
     FOREIGN KEY (id_professor) REFERENCES Professores(id_professor))


CREATE TABLE Turmas
     (id_turma INT PRIMARY KEY,
      nome_turma VARCHAR(100),
      ano_letivo INT,
      id_professor_orientador INT,
      FOREIGN KEY (id_professor_orientador) REFERENCES Professores(id_professor))
      

      
CREATE TABLE Turma_Disciplinas
    (id_turma INT,
     id_disciplina INT,
     PRIMARY key (id_turma, id_disciplina),
     FOREIGN KEY (id_turma) REFERENCES Turmas(id_turma),
     FOREIGN KEY (id_disciplina) REFERENCES Disciplinas(id_disciplina))

CREATE Table Turma_Alunos
    (id_turma INT,
     id_aluno INT,
     PRIMARY KEY (id_turma, id_aluno),
     FOREIGN KEY (id_turma) REFERENCES Turmas(id_turma),
     FOREIGN KEY (id_aluno) REFERENCES Alunos(id_aluno))
     
CREATE TABLE Notas
    (id_nota INT PRIMARY KEY,
     id_aluno INT,
     id_disciplina INT,
     nota INT,
     data_da_avaliacao DATE,
     FOREIGN key (id_aluno) REFERENCES Alunos(id_aluno),
     FOREIGN KEY (id_disciplina) REFERENCES Disciplinas(id_disciplina))
3 respostas

Dados:

INSERT INTO Alunos
    (id_aluno,
    nome_aluno,
    data_de_nascimento,
    genero,
    endereco,
    telefone,
    email)
VALUES
    ('1','João Silva','2005-03-15','Masculino','Rua das Flores, 123','(11) 9876-5432','joao@email.com'), 
    [...] 
     ('18','Juliana Pereira','2006-09-01','Feminino','Rua das Rosas, 789','(11) 3456-7890','juliana@email.com');
     
INSERT INTO Professores
    (id_professor,
    nome_professor,
    data_de_nascimento,
    genero,
    telefone,
    email)
 VALUES
    ('1','Ana Oliveira','1980-05-25','Feminino','(11) 1234-5678','ana@email.com'), 
     [...]
     ('5','Fernanda Lima','1985-01-30','Feminino','(11) 4567-8901','fernanda@email.com');
     
INSERT INTO Disciplinas
    (id_disciplina,
     nome_disciplina,
     descricao,
     carga_horaria,
     id_professor)
 VALUES
      ('1','Matemática','Estudo de conceitos matemáticos avançados','60','1'), 
     [...]
     ('6','Artes','Exploração da criatividade artística','30','5');
     
INSERT INTO Turmas
     (id_turma,
      nome_turma,
      ano_letivo,
      id_professor_orientador)
 VALUES
         ('1','Turma A','2023','1'), 
        [...]
         ('5','Turma E','2023','5');
         
INSERT INTO Turma_Disciplinas
    (id_turma,
     id_disciplina)
 VALUES
     ('1','1'), 
      [...]
     ('3','2');
     
INSERT INTO Turma_Alunos
    (id_turma,
     id_aluno)
 VALUES
     ('1','1'), 
     [...]
     ('5','10');
     
INSERT INTO Notas
    (id_nota,
     id_aluno,
     id_disciplina,
     nota,
     data_da_avaliacao)
VALUES
    (2,1,1,6.19,'07/07/2023'),
     [...]
    (51,5,10,0.11,'08/15/2023');

Por fim, as consultas

-- Consulta 1
SELECT * FROM Alunos;
SELECT * FROM Disciplinas;
SELECT * FROM Notas;
SELECT * FROM Professores;
SELECT * FROM Turmas;
SELECT * FROM Turma_Alunos;
SELECT * FROM Turma_Disciplinas;

-- Consulta 2
SELECT * FROM Alunos ORDER BY nome_aluno;

-- Consulta 3
SELECT * FROM Disciplinas WHERE carga_horaria > 40;

-- Consulta 4
SELECT * FROM Notas WHERE nota > 6 AND nota < 8;

Boa tarde Gabriel!

Obrigado por compartilhar sua resolução com a comunidade Alura. Como relembrar é manter vivo na memória, deixo abaixo uma tabela com um resumo dos principais funções que você utilizou no código:

ComandoDescrição
CREATE TABLECria uma nova tabela no banco de dados, definindo colunas, tipos de dados e restrições.
PRIMARY KEYDefine uma coluna ou conjunto de colunas como chave primária, garantindo unicidade.
FOREIGN KEYCria uma relação entre tabelas, vinculando colunas a chaves primárias de outras tabelas.
DROP TABLEExclui uma tabela existente do banco de dados.
INSERT INTOInsere registros (linhas) em uma tabela especificada.
VALUESEspecifica os valores que serão inseridos em uma tabela.
SELECT *Recupera todos os registros de uma tabela.
ORDER BYOrdena os resultados de uma consulta com base em uma ou mais colunas.
WHEREFiltra os resultados de uma consulta com base em condições especificadas.

Conte com o apoio do Fórum na sua jornada.

Abraços e bons estudos!