Questões de Concurso
Sobre visão (view) em banco de dados
Foram encontradas 130 questões
Assinale a opção que contém a sintaxe correta, em SQL, para criar uma visão chamada 'v_vendas' que mostre todos os registros de uma tabela denominada 'pedidos'.
Assinale a opção que indica a sintaxe correta, em SQL, para criar uma visão chamada 'v_vendas' que mostre todos os registros de uma tabela denominada 'pedidos'.
() Views são tabelas virtuais definidas por uma consulta SQL, podendo envolver uma ou mais tabelas, filtros, joins e agregações.
() Views são criadas por meio da estrutura CREATE VIEW nome IN SELECT.
() Views não armazenam dados (exceto em materialized views) e refletem sempre os dados atuais das tabelas base, podendo ser utilizadas em consultas como se fossem tabelas normais.
() Uma view pode ser definida com consultas que incluem filtros (WHERE), junções (JOIN) e funções de agregação, dependendo da necessidade da consulta.
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?
A literatura de bancos de dados propõe técnicas específicas para lidar com o problema de implementar e atualizar visões em SGBDs. Com base nas estratégias de implementação e atualização de visões, analise as assertivas abaixo e assinale a alternativa correta.
I. A estratégia chamada modificação de consulta envolve transformar a consulta da visão (submetida pelo usuário) em uma consulta diretamente nas tabelas da base. A principal vantagem dessa técnica é a sua alta eficácia para visões definidas por consultas complexas, especialmente se várias delas tiverem de ser aplicadas à mesma visão em um curto período.
II. A materialização de visões envolve criar fisicamente uma tabela temporária. Para mantê-la sincronizada com as tabelas base, utilizam-se técnicas de atualização incremental, nas quais o SGBD, a cada alteração na base, remove automaticamente a tabela física e a recalcula para garantir a consistência dos dados exibidos.
III. A atualização de dados diretamente por meio de visões é um processo direto e livre de ambiguidades. Para uma visão que envolve junções (joins), uma operação de atualização é mapeada de forma única para as relações da base, permitindo que o SGBD determine, com exatidão, qual atualização foi intencionada pelo usuário.
V1: CREATE VIEW v_pedidos_altos AS
SELECT id_pedido, id_cliente, valor
FROM pedido
WHERE valor > 500;
V2: CREATE VIEW v_total_por_cliente AS
SELECT id_cliente, SUM(valor) AS total
FROM pedido
GROUP BY id_cliente;
V3: CREATE VIEW v_clientes_pedidos AS
SELECT p.id_pedido, c.nome, p.valor
FROM pedido p JOIN cliente c ON p.id_cliente = c.id_cliente;
V4: CREATE VIEW v_status_distinct AS
SELECT DISTINCT status
FROM pedido;
Um desenvolvedor precisa identificar quais visões não permitem operações de atualização direta segundo os critérios do padrão SQL. Sobre o assunto, assinale a alternativa correta.
Assinale a afirmativa correta sobre o uso de Views para implementar a restrição de acesso a colunas específicas.
• encapsula a lógica SQL dessas junções e filtros;
• pode ser reutilizado por diferentes usuários e aplicações;
• não duplica fisicamente as linhas das tabelas de origem, mas apresenta o resultado como se fosse uma “tabela lógica”.
Nessa situação, o tipo de objeto criado pelo administrador é, tipicamente:
Assinale a opção que corresponde a uma prática que deve ser evitada por resultar, em geral, em pior desempenho.
Fonte: ELMASRI, R; NAVATHE, S. B. Sistema de Banco de Dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. p. 8.
Sobre visões em banco de dados, assinale V (verdadeiro) ou F (falso) em cada afirmativa a seguir.
( ) O usuário não proprietário da tabela que possui autorização para fazer operações de seleção na tabela automaticamente possui autorização para realizar operações de projeção em visões criadas a partir da tabela.
( ) Visões, em banco de dados, são criadas para diminuir a complexidade das consultas no banco.
( ) Visões podem ser combinadas entre si para obter resultados ou outras visões.
A sequência correta é
• id_solicitacao (chave primária)
• id_departamento (chave estrangeira)
• data_solicitacao
• status ('pendente', 'em andamento', 'concluída')
A consulta a seguir foi implementada para contar o número de solicitações concluídas por departamento:
SELECT id_departamento, COUNT(*) AS total_concluidas FROM Solicitações WHERE status = 'concluída' GROUP BY id_departamento;
A equipe identificou que a consulta está impactando o desempenho do banco de dados quando acessada simultaneamente por múltiplos usuários. Considerando o impacto causado por acessos concorrentes a uma consulta de leitura com agregação, qual das estratégias a seguir representa a solução mais eficaz para otimizar o desempenho e reduzir a carga sobre o banco de dados?
Acerca de banco de dados, julgue o item a seguir.
Queries que determinam views apenas podem ser originadas de tabelas.