0
respostas

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

USE DESAFIOS
GO

CREATE TABLE alunos_escola_mao_na_massa_08
    (
        ID_Aluno INT PRIMARY KEY,
        Nome_Aluno VARCHAR(100),
        Data_Nascimento_Aluno DATE,
        Genero_Aluno VARCHAR(50),
        Endereco_Aluno VARCHAR(50),
        Telefone_Contato_Aluno VARCHAR(15),
        Email_Aluno VARCHAR(30)
    );

CREATE TABLE professores_escola_mao_na_massa_08
    (
        ID_Professor INT PRIMARY KEY,
        Nome_Professor VARCHAR(100),
        Data_Nascimento_Professor DATE,
        Telefone_Contato_Professor VARCHAR(15),
        Email_Professor VARCHAR(30)
    );

CREATE TABLE disciplinas_escola_mao_na_massa_08
    (
        ID_Disciplina INT PRIMARY KEY,
        Nome_Disciplina VARCHAR(50),
        Descricao_Disciplina VARCHAR(MAX),
        Carga_Horaria_Disciplina INT,
        Professor INT,
        FOREIGN KEY (Professor) REFERENCES professores_escola_mao_na_massa_08(ID_Professor)
    );

CREATE TABLE turmas_escola_mao_na_massa_08
    (
        ID_Turma INT PRIMARY KEY,
        Nome_Turma VARCHAR(50),
        Ano_Letivo_Turma INT,
        Professor_Orientador INT,
        FOREIGN KEY (Professor_Orientador) REFERENCES professores_escola_mao_na_massa_08(ID_Professor)

    );

CREATE TABLE turmas_disciplinas_escola_mao_na_massa_08
    (
        Turma INT,
        Disciplina INT,
        PRIMARY KEY (Turma, Disciplina),
        FOREIGN KEY (Turma) REFERENCES turmas_escola_mao_na_massa_08 (ID_Turma),
        FOREIGN KEY (Disciplina) REFERENCES disciplinas_escola_mao_na_massa_08 (ID_Disciplina)
    );

CREATE TABLE turmas_alunos_escola_mao_na_massa_08
    (
        Turma INT,
        Aluno INT,
        PRIMARY KEY (Turma, Aluno),
        FOREIGN KEY (Turma) REFERENCES turmas_escola_mao_na_massa_08 (ID_Turma),
        FOREIGN KEY (Aluno) REFERENCES alunos_escola_mao_na_massa_08 (ID_Aluno)
    );


CREATE TABLE notas_escola_mao_na_massa_08
    (
        ID_Nota INT PRIMARY KEY,
        Aluno INT,
        Disciplina INT,
        Nota_Valor DECIMAL(4,2),
        Avaliacao_Data DATE,
        FOREIGN KEY (Aluno) REFERENCES alunos_escola_mao_na_massa_08 (ID_Aluno),
        FOREIGN KEY (Disciplina) REFERENCES disciplinas_escola_mao_na_massa_08 (ID_Disciplina)
    );
    --Comandos concluídos com êxito.

    --USE DESAFIOS
    --GO
    --*** CHAT GPT BRILHANDO ***--
    BULK INSERT tabelas
    FROM 'caminho dos arquivos'
    WITH (
        FORMAT = 'csv',
        FIRSTROW = 2,
        FIELDTERMINATOR = ';',
        ROWTERMINATOR = '\n'
    );

--*** CONSULTA 1 ***--
SELECT * FROM alunos_escola_mao_na_massa_08;
-- (18 linhas afetadas)
SELECT * FROM professores_escola_mao_na_massa_08;
-- (5 linhas afetadas)
SELECT * FROM turmas_escola_mao_na_massa_08;
-- (5 linhas afetadas)
SELECT * FROM notas_escola_mao_na_massa_08;
-- (50 linhas afetadas)
SELECT * FROM disciplinas_escola_mao_na_massa_08;
-- (6 linhas afetadas)
SELECT * FROM turmas_alunos_escola_mao_na_massa_08;
-- (10 linhas afetadas)
SELECT * FROM turmas_disciplinas_escola_mao_na_massa_08;
-- (8 linhas afetadas)

--*** CONSULTA 2 ***--
SELECT * FROM alunos_escola_mao_na_massa_08
ORDER BY Nome_Aluno;
--ID_Aluno	Nome_Aluno	Data_Nascimento_Aluno	Genero_Aluno	Endereco_Aluno	Telefone_Contato_Aluno	Email_Aluno
--4	Ana Lima	2005-04-02	Feminino	Rua da Escola, 56	(11) 8765-4321	ana@email.com
--12	Bruno Costa	2005-07-30	Masculino	Avenida Principal, 456	(11) 7654-3210	bruno@email.com
--[...]
--17	Vinicius Santos	2003-07-28	Masculino	Avenida da Amizade, 123	(11) 8901-2345	vinicius@email.com

--*** CONSULTA 3 ***--
SELECT Nome_Disciplina AS Disciplina from disciplinas_escola_mao_na_massa_08
Where Carga_Horaria_Disciplina > 40;
    --Disciplina
    --Matematica
    --Historia
    --Fisica
    --Quimica
    --Ingles

--*** CONSULTA 4 ***--
SELECT ID_Nota, Nota_Valor FROM notas_escola_mao_na_massa_08
WHERE Nota_Valor > 6 AND Nota_Valor < 8;
    --ID_Nota	Nota_Valor
    --2			6.19
    --3			7.18
    --4			7.47
    --5			7.46
    --22		6.82
    --27		6.63
    --35		6.98
    --36		6.18
    --38		7.96
    --40		7.77
    --45		7.99