SóProvas


ID
1035310
Banca
CESPE / CEBRASPE
Órgão
PEFOCE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de sistemas de banco de dados, julgue o item seguinte.

Na implementação de um banco de dados com base no modelo relacional, uma alternativa para se evitar a desnormalização — sem prejuízo ao aumento do desempenho na recuperação de dados constantemente usados — é criar uma visão materializada

Alternativas
Comentários
  • Visão Materializada é uma view, só que neste caso, o que é armazenado não é a consulta e sim o resultado dela.

    Isso implica algumas coisas muito importantes que devem ser entendidas quando for decidir entre criar uma VIEW ou uma MATERIALIZED VIEW.

    Primeiro, uma MATERIALIZED VIEW é uma tabela real no banco de dados que é atualizada SEMPRE que ocorrer uma atualização em alguma tabela usada pela sua consulta. Por este motivo, no momento em que o usuário faz uma consulta nesta visão materializada o resultado será mais rápido que se ela não fosse materializada.

    Basicamente a diferença no uso das duas é essa. A view realiza a consulta no momento que o usuário faz uma consulta nela e a materialized view realiza a consulta no momento em que uma das tabelas consultadas é atualizada.

    Fonte: http://www.dicasdeprogramacao.com.br/qual-a-diferenca-entre-view-e-materialized-view/

  • Gabarito Certo

    Ótima questão !

     

    Visões materializadas são recursos introduzidos na versão 9.3 do postgresql. Enquanto visões tradicionais reexecutam uma consulta sempre que são referenciadas, visões materializadas dispensam este esforço pelos seus dados já estarem guardados desde a sua criação ou do último refresh (atualização de visão). Pode-se dizer que uma visão materializada é um objeto que contém o resultado de uma consulta, facilitando o acesso aos dados nela contidos. 

    A principal justificativa para se utilizar visões materializadas é a aceleração de consultas em grandes massas de dados. É importante observar que em sistemas com pouco espaço em disco e discos lentos, visões materializadas podem ter pouco efeito ou até impacto negativo por sobrecarregar ainda mais o hardware.

    Para ter ainda mais desempenho,. é possível criar índices para visões materializadas

    No postgresql, a atualização de uma visão materializada é feita através do comando REFRESH MATERIALIZED VIEW, enquanto que a mudança do código da consulta da visão é feita através do comando ALTER MATERIALIZED VIEW. A exclusão de visões materializadas é feita com o comendo DROP MATERIALIZED VIEW. 

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • GABARITO CORRETO!

    .

    .

    ACHEI ESSA EXPLICAÇÃO EM UM FÓRUM DE TI:

    View materializada cria uma tabela auxiliar para armazenar os dados da query estabelecida pela view. Assim o banco de dados cria uma espécie de gatilho automático para que toda atualização de dados nas colunas envolvidas atualize também a visão materializada (tabela auxiliar), permitindo assim o acesso direto aos dados sem maiores processamentos em uma consulta.

    Com ela você ganha performance de acesso aos dados, mas passa ter um custo maior de atualização dos dados. Precisa analisar o que é mais interessante em cada caso. Então esta é uma otimização de acesso.

  • Q577578

    O uso de views materializadas permite aumentar o desempenho do banco de dados, pois minimiza o acesso às tabelas de dados e torna mais rápida a execução das consultas. 

  • Basicamente o q ele tá dizendo é o seguinte: eu quero q meu banco continue normalizado(por ex, até a 3FN), mas tbm quero continuar gozando do desempenho de 1 banco desnormalizado. O q tenho q fazer? Criar uma visão materializada!

    Segundo[1], "Applications that use a view frequently may benefit if the view is materialized. Applications that demand fast response to certain queries that compute aggregates over large relations can also benefit greatly by creating materialized views corresponding to the queries. In this case, the aggregated result is likely to be much smaller than the large relations on which the view is defined; as a result the materialized view can be used to answer the query very quickly, avoiding reading the large underlying relations.

    Segundo[2], "Most businesses want to maintain optimal performance for transactional processing; Remote users could improve query performance by replicating data to a local database.

    Fonte:

    [1] DBSC, Abraahan S.

    [2] Oracle 12c, SQL