Prévia do material em texto
Questões para NP2 – Disciplina Banco de Dados Profº Aldriano Aluno: ___________________________________________________ *Vale 3 pontos *Entregar no dia da prova, por escrito em uma folha. *Consulte nosso material - o PDF. 1-Por que é importante normalizar um banco de dados até a terceira forma normal? 2-O que significa 3FN em normalização de banco de dados? 3- O que é um trigger em um contexto de banco de dados? 4- Quais são os diferentes tipos de triggers comumente usados em sistemas de gerenciamento de banco de dados? Cite apenas os que foram explicados em aula. 5- Explique o conceito de VIEW em um banco de dados relacional e forneça um exemplo prático de como uma VIEW pode ser útil em um cenário específico de aplicativo. 6- O que é uma chave primária em um banco de dados relacional? a)() Uma coluna que pode conter valores duplicados. b)() Uma coluna que identifica exclusivamente cada linha em uma tabela. c)() Uma coluna que armazena dados do tipo texto. d)() Uma coluna que não pode ser indexada. 7-Qual é a definição de uma chave candidata em um banco de dados? a)() Uma chave estrangeira que faz referência a outra tabela. b)() Uma ou mais colunas que podem potencialmente funcionar como chave primária. c)() Uma coluna que pode ser nula. d)() Uma coluna que é opcional em uma tabela. 8- O que é uma chave estrangeira em um banco de dados relacional? a)() Uma coluna que contém valores únicos em uma tabela. b)() Uma coluna que faz referência a uma chave primária em outra tabela. c)() Uma coluna que não pode ter valores nulos. d)() Uma coluna que só pode conter valores numéricos. 9- Um relacionamento é uma associação significativa entre duas ou mais entidades. Pode ser de diferentes tipos, como "um para um", "um para muitos" e "muitos para muitos". a) Verdadeiro b)() Falso 10- Com base nas tabelas e nos relacionamentos entre elas, implemente e gere os comandos de consulta SQL das questões a, b e c. *Observação: Mostrar a implementação para o professor, após o termino da NP2. a) Escreva uma consulta SQL que liste o nome de todos os alunos matriculados no curso "Engenharia de Software". b) Escreva uma consulta SQL para listar todos os alunos que entraram na universidade antes de 2020 e que ainda estão ativos, indicando o nome e o ano de entrada. c) Escreva uma consulta SQL que liste todos os cursos com mais de 50 alunos matriculados, incluindo o nome do curso e o número de alunos. Para escrever uma consulta SQL, precisa realizar uma junção entre as tabelas Cursos e Matriculas e usar funções de agregação (COUNT) juntamente com uma cláusula GROUP BY. Estes comandos SQL configuram um ambiente de dados básico que você pode utilizar para testes e exercícios de consulta. CREATE TABLE Alunos ( ID_Aluno INT PRIMARY KEY, Nome VARCHAR(100), Ano_Entrada INT ); CREATE TABLE Cursos ( ID_Curso INT PRIMARY KEY, Nome VARCHAR(100), Departamento VARCHAR(100) ); CREATE TABLE Matriculas ( ID_Aluno INT, ID_Curso INT, Ano INT, Semestre INT, Nota DECIMAL(4,2), FOREIGN KEY (ID_Aluno) REFERENCES Alunos(ID_Aluno), FOREIGN KEY (ID_Curso) REFERENCES Cursos(ID_Curso) ); ================================================================ INSERT INTO Alunos (ID_Aluno, Nome, Ano_Entrada) VALUES (1, 'Ana Silva', 2019), (2, 'Bruno Dias', 2020), (3, 'Carla Gomes', 2021), (4, 'David Neto', 2018), (5, 'Eva Santos', 2022); INSERT INTO Cursos (ID_Curso, Nome, Departamento) VALUES (101, 'Engenharia de Software', 'Engenharia'), (102, 'Ciência de Dados', 'Computação'), (103, 'Arquitetura', 'Arquitetura'), (104, 'Direito', 'Ciências Sociais'), (105, 'Medicina', 'Saúde'); INSERT INTO Matriculas (ID_Aluno, ID_Curso, Ano, Semestre, Nota) VALUES (1, 101, 2023, 1, 88.5), (2, 101, 2023, 1, 92.0), (3, 102, 2023, 1, 95.0), (4, 103, 2023, 1, 78.0), (5, 104, 2023, 1, 85.0);