Tabelas Visões (Views) e Índices

0
751

Última Atualização 14 de setembro de 2022

ÍNDICES

Os índices são estruturas que contêm uma chave de busca e um ponteiro, indicando a localização de determinado bloco de dados dentro da estrutura de armazenamento. A chave de busca é composta por um ou mais atributos de uma tupla, e o ponteiro contém o endereço virtual do bloco de dados onde cada faixa de registros vai estar.

  • Chave de busca + ponteiro;
  • Indicam a localização de determinado bloco de dados dentro da estrutura de armazenamento, melhorando a velocidade do acesso aos dados;
  • Diversos tipos: clustered, non-clustered, primary…;

VIEWS

O modelo relacional é composto de entidades e relacionamentos. Uma entidade pode ser uma tabela física ou uma projeção lógica de diversas tabelas, também conhecida como visão.

Efetuamos uma consulta e o banco de dados retorna uma tabela que não criamos nós mesmos, o BD, com base em nosso comando via SQL exibe, momentaneamente, uma tela virtual (view) para que o usuário realize sua análise ou posteriormente salve em um arquivo, por exemplo.

  • Tabelas virtuais, os dados não estão fisicamente armazenados no banco de dados;
  • Consultas SQL armazenadas, pode-se fazer referência a views como se fossem tabelas. Permitem o reuso de código e agilizam o desenvolvimento de determinadas consultas.

Como as views guardam apenas a consulta a ser realizada, mas não dados, os resultados têm que ser calculados e extraídos de suas respectivas tabelas no momento em que a consulta é executada. Nos casos de views que contêm consultas complexas, isso pode ter um impacto de performance elevado em relação a tabelas físicas. Assim, para algumas finalidades, existem as views materializadas, que, ao invés de armazenar as consultas, já armazenam os resultados delas. “Então qual a diferença de uma view materializada para uma tabela, professor?” É uma boa pergunta! As views materializadas apresentam diversas semelhanças com as tabelas, mas não é possível manipular seus registros diretamente. As views materializadas refletem os resultados de uma determinada consulta em um determinado ponto no tempo, e todas as vezes que alguma das tabelas acessadas por essa consulta são modificadas, os resultados da view materializada são atualizados para refletir as modificações. Essas views também têm algumas restrições de comandos SQL que podem ser executados e apresentam algumas particularidades em relação a performance, mas não vale a pena entrar a fundo neste assunto para não fugir do escopo do seu concurso.

QUESTÃO ERRADA: Uma view representa uma tabela em forma física consolidada a partir de outras tabelas previamente definidas.

Uma visão ou view é uma construção temporária armazenada na memória principal. Geralmente, não existe do ponto de vista físico. Ela é carregada durante a sua execução. Determinamos, então, a alternativa como errada.

CEBRASPE (2022):

QUESTÃO ERRADA: Em banco de dados relacionais, as views são conhecidas como tabelas físicas, uma vez que elas armazenam apenas as informações de interesse do usuário, que podem ser coletadas de uma ou mais tabelas do banco.

QUESTÃO ERRADA: Uma visão (view) é derivada de uma ou mais relações e armazena os dados em uma tabela física do banco de dados, visando tornar ágeis as consultas.

Negativo. Tabela virtual.

QUESTÃO ERRADA: Denomina-se visão uma tabela única derivada de uma ou mais tabelas básicas do banco. Essa tabela existe em forma física e viabiliza operações ilimitadas de atualização e consulta.

Uma visão concede um ponto de vista diferente para cada usuário. Essa visão pode ser um subconjunto do banco de dados ou conter algum dado virtual que é derivado dos arquivos do próprio banco de dados, mas em ambos os casos não são, necessariamente, armazenados explicitamente. Dessa forma, a operação de view não está associad a a existência física daquela tabela exposta ao usuário

Advertisement

A definição de visão presente no padrão SQL/ANSI é de uma estrutura temporária que armazena informações advinda de uma ou mais tabelas. A visão não é armazenada fisicamente em disco e é removida ou apagada ao final da sua utilização.

QUESTÃO ERRADA: As views proporcionam benefícios tais como mascaramento da complexidade do banco de dados, melhor controle das permissões de usuários e organização dos dados para exportação, contudo não aumentam a velocidade no acesso às informações visto que ainda executam os comandos SQL tradicionais.

As Views são pré-compiladas, consequentemente a velocidade de acesso às informações será maior do que se você executasse o mesmo SQL diretamente.

QUESTÃO ERRADA: View é um objeto que permite implementar a segurança em um banco de dados, omitindo dados irrelevantes para algum grupo de usuário. No entanto, não é permitido criar uma view com base na definição de outra view.

O trecho “View é um objeto que permite implementar a segurança em um banco de dados, omitindo dados irrelevantes para algum grupo de usuário.” Está correto, porém o trecho “… não é permitido criar uma view com base na definição de outra view.” Está errado, já que é perfeitamente possível a criação de uma view baseada em outra view.

QUESTÃO ERRADA: Suponha que um índice do tipo unique tenha sido configurado em uma coluna. Nesse caso, não será possível configurar outra coluna, nessa mesma tabela, com índice do mesmo tipo, visto que cada tabela permite apenas um índice do tipo unique.

Ainda a respeito das chaves primárias, quero que você saiba que podem existir campos que contêm restrições de unicidade, ou seja, que só permitem valores únicos, mas que não são chaves primárias. Essa restrição é implementada através de um operador da linguagem SQL chamado UNIQUE (único). Uma diferença entre um atributo marcado com UNIQUE e uma PK é que o UNIQUE permite valores nulos, desde que todos os valores válidos para esse atributo sejam diferentes entre si.

Uma tabela pode conter vários índices do tipo UNIQUE e cada um destes pode conter várias colunas. Cada tabela permite apenas um índice do tipo clusterizado.

QUESTÃO CERTA: Em um banco de dados, uma chave primária é uma restrição que confere unicidade a uma linha ou registro. Por conferir unicidade, pode-se imaginar que chaves primárias e restrição unique são iguais; porém, há diferenças fundamentais. A respeito das diferenças e semelhanças entre chaves primárias e restrição unique, assinale a opção correta: Uma coluna de tabela com a restrição unique associada pode receber valores nulos.