Baixe o app para aproveitar ainda mais
Prévia do material em texto
TRABALHO ACADÊMICO AV1 DISCIPLINA: DESENVOLVIMENTO DE APLICAÇÕES COM BANCO DE DADOS 2020/2 ATIVIDADE Minimundo: Em uma universidade, as avaliações de uma disciplina são formadas por três notas: AV1, AV2 e AV3. A nota AV1 é composta por um trabalho acadêmico, que vale 7,0 pontos, e uma APS que vale 3,0 pontos. A AV2 é composta por um trabalho acadêmico, que vale 8,0 pontos, e uma APS que vale 2,0 pontos. A AV3 é composta apenas por um trabalho acadêmico que vale 10,0 pontos. O aluno é considerado aprovado se a média de duas avaliações quaisquer é maior ou igual a 7,0. Cada aluno pertencerá a um curso de graduação que poderá fazer de 1 (uma) a 10 (dez) disciplinas, sendo que cada disciplina será regida pelas regras das avaliações acima descritas. De acordo com o minimundo descrito elabore os comandos SQL: a) (2,0 pontos) Criação da base de dados; b) (1,0 pontos) Criação do usuário DBA que poderá criar e manipular o esquema da base de dados; c) (1,0 pontos) Criação do usuário DEV que poderá apenas manipular os dados; e d) (3,0 pontos) Comandos SQL para constituir o CRUD de cada entidade presente no minimundo. RESPOSTAS a) #cria a base de dados CREATE DATABASE faculdadex; USE faculdadex; #cria a tabela aluno CREATE TABLE Aluno( id INT AUTO_INCREMENT NOT NULL, nome VARCHAR(30) NOT NULL, curso VARCHAR(20) NOT NULL, PRIMARY KEY(id)); #cria a tabela disciplina CREATE TABLE Disciplina( id INT AUTO_INCREMENT NOT NULL, nome VARCHAR(30) NOT NULL, carga INT NOT NULL, professor VARCHAR(20) NOT NULL, PRIMARY KEY(id)); #cria a tabela de disciplinas por aluno CREATE TABLE aluno_disciplina( aluno INT, disciplina INT, Av1_trab FLOAT, Av1_aps FLOAT, Av2_trab FLOAT, Av2_aps FLOAT, Av3_trab FLOAT, Situação VARCHAR(30), CONSTRAINT FK_idAluno FOREIGN KEY (aluno) REFERENCES Aluno (id), CONSTRAINT FK_idDisciplina FOREIGN KEY (disciplina) REFERENCES Disciplina (id) ); b) #cria o usuário DBA CREATE USER 'DBA'@'localhost' IDENTIFIED BY 'senha'; GRANT ALL PRIVILEGES ON faculdadex.* TO 'DBA'@'localhost'; c) #cria o usuário DEV CREATE USER 'DEV'@'localhost' IDENTIFIED BY 'senha'; GRANT SELECT,UPDATE,INSERT,DELETE ON faculdadex.* TO 'DEV'@'localhost'; d) #COMANDOS CRUD Create (Criação) #inserção de alunos INSERT INTO aluno (nome, curso) Values ('Douglas', 'ADS'); INSERT INTO aluno (nome, curso) Values ('Thiago', 'ADS'); #inserção de disciplinas INSERT INTO Disciplina (nome, carga) Values ('Algoritmo', '60', 'Anderson'); INSERT INTO Disciplina (nome, carga) Values ('ADS', '60', 'Anderson'); #inserção de notas INSERT INTO aluno_disciplina (aluno, disciplina) Values ('1', '2'); INSERT INTO aluno_disciplina (aluno, disciplina) Values ('2', '2'); Read (Consulta) #a consulta retorna todos os alunos e as notas select a.nome as Aluno, d.nome as Disciplina, ad.Av1trab as 'AV1 Trabalho', ad.Av1aps as 'AV1 APS', ad.Av2trab as 'AV2 Trabalho', ad.Av2aps as 'AV2 APS', ad.Av3trab as 'AV3 Trabalho' from aluno a INNER JOIN aluno_disciplina ad ON a.id = ad.aluno INNER JOIN disciplina d ON d.id = ad.disciplina Update (Atualização) #atualização de notas UPDATE aluno_disciplina SET Av1trab = 7 WHERE aluno = 1; UPDATE aluno_disciplina SET Av1aps = 3 WHERE aluno = 1; #atualização de situação UPDATE aluno_disciplina SET situacao = 'APROVADO' WHERE aluno = 1; Delete (Destruição) #removendo um aluno da tabela de disciplinas DELETE FROM aluno_disciplina WHERE aluno = 1; Sensitivity: Internal
Compartilhar