SQL SERVER E SSMS
USE DESAFIOS
GO
--- *** CRIANDO TABELAS *** ---
CREATE TABLE Alunos_MNM_gerenciamento_escolar_08 (
ID_Aluno INT PRIMARY KEY,
Nome_Aluno VARCHAR(255),
Data_Nascimento DATE,
Genero VARCHAR(50),
Endereco VARCHAR(255),
Telefone_Contato VARCHAR(20),
Email VARCHAR(255)
);
CREATE TABLE Professores_MNM_gerenciamento_escolar_08 (
ID_Professor INT PRIMARY KEY,
Nome_Professor VARCHAR(255),
Data_Nascimento DATE,
Genero VARCHAR(50),
Telefone_Contato VARCHAR(20),
Email VARCHAR(255)
);
CREATE TABLE Disciplinas_MNM_gerenciamento_escolar_08 (
ID_Disciplina INT PRIMARY KEY,
Nome_Disciplina VARCHAR(255),
Descricao TEXT,
Carga_Horaria INT,
ID_Professor INT,
FOREIGN KEY (ID_Professor) REFERENCES Professores_MNM_gerenciamento_escolar_08(ID_Professor)
);
CREATE TABLE Notas_MNM_gerenciamento_escolar_08 (
ID_Nota INT PRIMARY KEY,
ID_Aluno INT,
ID_Disciplina INT,
Nota DECIMAL(5, 2),
Data_Avaliacao DATE,
FOREIGN KEY (ID_Aluno) REFERENCES Alunos_MNM_gerenciamento_escolar_08(ID_Aluno),
FOREIGN KEY (ID_Disciplina) REFERENCES Disciplinas_MNM_gerenciamento_escolar_08(ID_Disciplina)
);
CREATE TABLE Turmas_MNM_gerenciamento_escolar_08 (
ID_Turma INT PRIMARY KEY,
Nome_Turma VARCHAR(255),
Ano_Letivo INT,
ID_Professor_Orientador INT,
FOREIGN KEY (ID_Professor_Orientador) REFERENCES Professores_MNM_gerenciamento_escolar_08(ID_Professor)
);
CREATE TABLE Turma_Alunos_MNM_gerenciamento_escolar_08 (
ID_Turma INT,
ID_Aluno INT,
PRIMARY KEY (ID_Turma, ID_Aluno),
FOREIGN KEY (ID_Turma) REFERENCES Turmas_MNM_gerenciamento_escolar_08(ID_Turma),
FOREIGN KEY (ID_Aluno) REFERENCES Alunos_MNM_gerenciamento_escolar_08(ID_Aluno)
);
CREATE TABLE Turma_Disciplinas_MNM_gerenciamento_escolar_08 (
ID_Turma INT,
ID_Disciplina INT,
PRIMARY KEY (ID_Turma, ID_Disciplina),
FOREIGN KEY (ID_Turma) REFERENCES Turmas_MNM_gerenciamento_escolar_08(ID_Turma),
FOREIGN KEY (ID_Disciplina) REFERENCES Disciplinas_MNM_gerenciamento_escolar_08(ID_Disciplina)
);
--- **** INSERINDO DADOS NAS TABELAS **** ---
BULK INSERT tabelas
FROM 'caminho do arquivo'
WITH (
FORMAT = 'csv',
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
);
--- *** CONSULTA 1 *** ---
SELECT
Disciplinas_MNM_gerenciamento_escolar_08.Nome_Disciplina as 'Disciplina',
AVG(Nota) as 'Média dos Alunos'
FROM Notas_MNM_gerenciamento_escolar_08
LEFT JOIN Disciplinas_MNM_gerenciamento_escolar_08
ON Notas_MNM_gerenciamento_escolar_08.ID_Disciplina = Disciplinas_MNM_gerenciamento_escolar_08.ID_Disciplina
GROUP BY Disciplinas_MNM_gerenciamento_escolar_08.Nome_Disciplina
HAVING Disciplinas_MNM_gerenciamento_escolar_08.Nome_Disciplina = 'Historia';
--Disciplina Média dos Alunos
--Historia 3.603000
--- *** CONSULTA 2 *** ---
SELECT *
FROM Alunos_MNM_gerenciamento_escolar_08
WHERE UPPER(LEFT(Nome_Aluno, 1)) = 'A';
--ID_Aluno Nome_Aluno Data_Nascimento Genero Endereco Telefone_Contato Email
--4 Ana Lima 2005-02-04 Feminino Rua da Escola, 56 (11) 8765-4321 ana@email.com
--- *** CONSULTA 3 *** ---
SELECT Nome_Aluno, month(Data_Nascimento) as 'Mês'
FROM Alunos_MNM_gerenciamento_escolar_08
WHERE month(Data_Nascimento) = 2;
--Nome_Aluno Mês
--Ana Lima 2
--Carolina Oliveira 2