QuestLab Plataforma Inteligente de Questões
Banco público de questões

Questões para Concursos

Pesquise questões reais por disciplina, assunto, tópico, banca, órgão, cargo, ano e modalidade.

Questões por banca

29 bancas disponíveis. Clique para visualizar todas.

Encontre as questões que procura
Limpar filtros
4 questões encontradas

A literatura de bancos de dados propõe técnicas específicas para lidar com o problemade 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.

A Todas as assertivas estão corretas.
B Todas as assertivas estão incorretas.
C Apenas a assertiva I está correta.
D Apenas as assertivas I e III estão corretas.
E Apenas as assertivas II e III estão corretas.

Analise as seguintes definições de visões em um banco de dados relacional com as tabelas base PEDIDO(id_pedido, id_cliente, valor, status) e CLIENTE(id_cliente, nome, cidade): 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.

A Apenas V2 e V4 são não atualizáveis, pois V1 e V3 preservam a correspondência direta com as tuplas das tabelas base, permitindo que o SGBD identifique e modifique os registros originais sem ambiguidade.
B V2, V3 e V4 são não atualizáveis, pois V2 utiliza agregação com GROUP BY, V4 utiliza DISTINCT e V3 envolve junção entre duas tabelas, sendo que nenhuma dessas construções permite ao SGBD identificar unicamente a tupla da tabela base a ser modificada.
C Todas as visões são não atualizáveis, pois qualquer restrição aplicada na definição de uma visão, seja por WHERE, JOIN, GROUP BY ou DISTINCT, impede que o SGBD propague modificações para as tabelas base de forma confiável.
D Apenas V2 é não atualizável, pois o uso de GROUP BY com função de agregação impede a identificação direta das tuplas originais, enquanto V3, apesar de envolver junção, permanece atualizável por preservar a chave primária de ambas as tabelas base na projeção.
E V1, V2 e V4 são não atualizáveis, pois a cláusula WHERE em V1 restringe o conjunto de tuplas visíveis, tornando ambígua qualquer tentativa de inserção de registros com valor inferior a 500 diretamente pela visão.

Em sistemas de gerenciamento de banco de dados relacionais, uma view

A continuará executando e retornando os resultados calculados previamente, ainda que a tabela-base seja dela removida.
B pode receber privilégios de SELECT independentes da(s) tabela(s)-base, permitindo que usuários consultem apenas colunas específicas sem ter acesso pleno às tabelas originais.
C não armazena dados fisicamente e só reflete alterações nos dados das tabelas-base quando for redefinida.
D impede a exposição de colunas de uma tabela, mas não impede a exposição de linhas específicas que atendam a algum critério.
E é definida por meio de consulta simples em uma única tabela, sem poder incluir junções ou subconsultas.

O comando SQL para criar uma visão de nome Teste, a partir dos atributos C1 e C2 da tabela denominada Prova é:

A CREATE TABLE VISION Teste USING (C1, C2 FROM Prova);
B CREATE TABLE VIEW Teste AS SELECT C1, C2 FROM Prova;
C CREATE VISION Teste FROM Prova (C1, C2);
D CREATE VIEW Teste FROM Prova (C1, C2);
E CREATE VIEW Teste AS SELECT C1, C2 FROM Prova;