NEW
Font size
WorksheetsBanco de Dados - Revisão N2
Total questions: 38
Worksheet time: 13mins
Em um sistema de gerenciamento de biblioteca, existe uma tabela que armazena informações sobre empréstimos de livros. Nessa tabela, há campos como ID_Emprestimo, Data_Emprestimo, ID_Livro, Titulo_Livro, ID_Usuario e Nome_Usuario. Ao analisar essa estrutura sob a perspectiva da normalização de banco de dados, é correto afirmar que:
A tabela está perfeitamente normalizada, pois contém todas as informações necessárias
A tabela está na 1FN, mas viola a 2FN pois há dependências parciais
A tabela não precisa ser normalizada pois os IDs são únicos
A tabela está na 3FN pois usa chaves estrangeiras
Durante o desenvolvimento de um sistema de vendas online, você precisa criar uma estrutura que mantenha um registro histórico de todas as alterações de preços dos produtos. Considerando as opções disponíveis em SQL, qual seria a melhor solução para implementar esse requisito de forma automática e consistente?
Criar uma stored procedure que seja executada manualmente
Usar uma view que mostre os preços atualizados
Implementar um trigger AFTER UPDATE na tabela de produtos
Criar uma consulta com subconsulta correlacionada
Em um banco de dados de uma universidade, você precisa criar uma consulta que liste todos os professores que recebem salário acima da média do seu departamento. Ao analisar as possíveis soluções, você percebe que precisará acessar a mesma tabela mais de uma vez. Qual seria a implementação mais adequada?
Criar uma subconsulta correlacionada no WHERE
Usar UNION ALL entre duas consultas separadas
Fazer um FULL OUTER JOIN da tabela com ela mesma
Usar GROUP BY com HAVING COUNT(*)
Em uma aplicação de e-commerce, existe uma tabela de pedidos com as seguintes colunas: ID_Pedido, Data_Pedido, ID_Cliente, Nome_Cliente, Endereco_Cliente, Total_Pedido, Status_Pedido. Considerando as boas práticas de modelagem de dados e normalização, quais problemas podem ser identificados nesta estrutura?
Há dependências transitivas com os dados do cliente
Não há problemas pois todos os campos são necessários
A chave primária está incorreta
O campo Total_Pedido não deveria existir
Num sistema de gestão escolar, você precisa garantir que toda vez que uma nota for lançada para um aluno, a média da turma seja automaticamente recalculada. Além disso, é necessário manter um histórico de todas as alterações de notas. Qual seria a melhor combinação de recursos SQL para implementar essa funcionalidade?
Uma view materializada com JOINs
Uma stored procedure com subconsulta
Um trigger AFTER INSERT/UPDATE com uma tabela de log
Uma subconsulta correlacionada com GROUP BY
Você está desenvolvendo um sistema de RH e precisa criar uma estrutura que armazene o histórico salarial dos funcionários. A tabela principal tem: ID_Funcionario, Nome, ID_Departamento, Salario_Atual, Data_Admissao, Nome_Departamento. Analisando sob a ótica da normalização, quais problemas podem ser identificados?
Falta uma chave estrangeira para departamentos
Há apenas dependências funcionais parciais
A tabela já está totalmente normalizada
Existem dependências transitivas e funcionais parciais
Em um banco de dados de uma clínica médica, você precisa criar uma consulta que mostre todos os médicos que atenderam mais pacientes que a média de atendimentos da sua especialidade no último mês. Qual seria a melhor forma de implementar esta consulta?
Usar UNION com GROUP BY
Criar uma view com JOIN
Implementar uma subconsulta correlacionada com AVG
Fazer um CROSS JOIN entre médicos
Você está analisando uma tabela de vendas com as seguintes colunas: ID_Venda, Data_Venda, ID_Vendedor, Nome_Vendedor, Comissao_Vendedor, ID_Produto, Nome_Produto, Preco_Produto. Considerando a normalização de bancos de dados, qual afirmação está correta?
Há violações da 2FN e 3FN que precisam ser corrigidas
A tabela está na 3FN pois tem todas as chaves necessárias
Apenas a 1FN está sendo violada
A tabela está corretamente normalizada
Em um sistema de biblioteca, você precisa garantir que sempre que um livro for emprestado, o sistema verifique automaticamente se o usuário tem multas pendentes e se o livro está disponível. Qual seria a melhor forma de implementar esta regra?
Criar uma view que mostre os livros disponíveis
Fazer um JOIN entre as tabelas
Usar uma subconsulta no SELECT
Implementar uma stored procedure com validações
Um sistema de gestão acadêmica possui uma tabela com as seguintes colunas: ID_Matricula, ID_Aluno, Nome_Aluno, Email_Aluno, ID_Curso, Nome_Curso, Coordenador_Curso. Analisando esta estrutura, quais problemas de normalização podem ser identificados?
A tabela está na 1FN mas viola a 2FN e 3FN
Não há problemas pois todos os campos são necessários
Apenas a 3FN está sendo violada
A tabela está totalmente normalizada
Em um sistema de controle de estoque, você precisa desenvolver uma funcionalidade que monitore automaticamente o nível de estoque dos produtos e registre um alerta quando determinado produto atingir o estoque mínimo. Além disso, deve manter um histórico de todas as movimentações. Qual seria a melhor abordagem técnica para esta situação?
Criar uma view que mostre o estoque atual
Usar uma stored procedure com SELECT
Implementar um trigger AFTER UPDATE com tabela de log
Fazer uma consulta com INNER JOIN
Durante a análise de um banco de dados de uma loja online, você encontrou uma tabela contendo: ID_Pedido, Data_Pedido, ID_Cliente, Nome_Cliente, Endereco_Entrega, CEP_Entrega, Cidade_Entrega, Estado_Entrega. Considerando os conceitos de normalização, qual seria a principal preocupação com esta estrutura?
A chave primária está incorreta
O endereço deveria estar em uma tabela separada
Os dados do pedido estão incompletos
A data do pedido é desnecessária
Em um sistema de recursos humanos, existe a necessidade de calcular automaticamente o salário líquido dos funcionários toda vez que houver alteração no salário bruto ou nos descontos. O cálculo envolve várias regras de negócio e precisa manter histórico das alterações. Qual seria a solução mais adequada?
Usar uma view com cálculos
Criar uma subconsulta complexa
Implementar uma stored procedure com trigger
Fazer um JOIN entre as tabelas
Numa aplicação de gerenciamento escolar, existe uma tabela que armazena: ID_Aluno, Nome_Aluno, ID_Turma, Nome_Turma, ID_Professor, Nome_Professor, Disciplina_Professor. Analisando esta estrutura sob a perspectiva das formas normais, quais anomalias poderiam ocorrer?
Apenas anomalias de exclusão
Anomalias de inclusão e atualização
Somente anomalias
Todos os tipos de anomalias
Em um sistema de vendas, você precisa criar uma funcionalidade que permita consultar o total de vendas por vendedor, mas apenas para vendedores que tenham vendido acima da média geral da empresa no último mês. Como você implementaria esta consulta de forma otimizada?
Implementar uma subconsulta correlacionada
Criar uma view materializada
Usar UNION com GROUP BY
Fazer um CROSS JOIN
Em uma estrutura de banco de dados normalizada até a 3FN, ainda é possível encontrar dependências transitivas se existirem múltiplas chaves candidatas que se sobrepõem.
VERDADEIRO
FALSA
Um trigger AFTER UPDATE pode ser usado para manter um histórico de alterações em uma tabela, mas não pode impedir que a atualização ocorra caso alguma regra de negócio seja violada.
VERDADEIRO
FALSA
Uma view sempre pode ser atualizada diretamente, desde que ela não contenha funções de agregação ou GROUP BY em sua definição.
VERDADEIRO
FALSA
Na normalização de banco de dados, se uma tabela está na 3FN, ela automaticamente também está na 2FN e 1FN, mas o inverso não é necessariamente verdadeiro.
VERDADEIRO
FALSA
Subconsultas correlacionadas sempre têm desempenho inferior a JOINs equivalentes, por isso devem ser evitadas em qualquer situação.
VERDADEIRO
FALSA
Um trigger do tipo INSTEAD OF pode ser utilizado em views para permitir operações de INSERT, UPDATE e DELETE, mesmo quando estas operações não seriam naturalmente permitidas na view.
VERDADEIRO
FALSA
Na primeira forma normal (1FN), é permitido ter campos multivalorados desde que estes sejam armazenados em formato JSON ou XML.
VERDADEIRO
FALSA
Uma stored procedure pode chamar outras stored procedures, mas não pode chamar um trigger diretamente.
VERDADEIRO
FALSA
Em uma view, os dados são fisicamente armazenados no banco de dados, semelhante com o que ocorre com uma tabela no banco de dados.
VERDADEIRO
FALSA
A forma normal de Boyce-Codd (FNBC) é sempre necessária para garantir a integridade dos dados em um banco de dados relacional.
VERDADEIRO
FALSA
Um trigger AFTER pode ser usado para atualizar a mesma tabela que o acionou, desde que seja feito dentro de uma transação.
VERDADEIRO
FALSA
Na segunda forma normal (2FN), todos os atributos não-chave devem depender funcionalmente de toda a chave primária, não apenas de parte dela.
VERDADEIRO
FALSA
Uma view que contém JOINs entre várias tabelas nunca pode ser atualizada diretamente.
VERDADEIRO
FALSA
Dependências funcionais transitivas sempre indicam uma violação da terceira forma normal (3FN).
VERDADEIRO
FALSA
Uma stored procedure sempre retorna um conjunto de resultados ou um valor escalar.
VERDADEIRO
FALSA
A normalização até a terceira forma normal (3FN) garante a eliminação de todas as anomalias possíveis em um banco de dados.
VERDADEIRO
FALSA
Trigger pode ser configurado para executar tanto antes quanto depois de uma operação DML na mesma tabela.
VERDADEIRA
FALSA
Views são atualizadas automaticamente sempre que os dados das tabelas base são modificados.
VERDADEIRA
FALSA
Na primeira forma normal (1FN), cada coluna deve conter apenas valores atômicos, e não pode haver grupos repetitivos de colunas.
VERDADEIRA
FALSA
Uma stored procedure sempre tem melhor desempenho que uma consulta SQL equivalente executada diretamente.
VERDADEIRA
FALSA
Subconsultas correlacionadas podem ser usadas no SELECT, WHERE e HAVING de uma consulta principal.
VERDADEIRA
FALSA
Um trigger pode impedir uma operação de DELETE em uma tabela mesmo depois que a operação já começou.
VERDADEIRA
FALSA
Na normalização, se uma tabela está na FNBC, ela necessariamente está na 3FN, mas o contrário nem sempre é verdadeiro.
VERDADEIRA
FALSA
