Respostas:
Oh, existem muitas diferenças que você precisa considerar
Vistas para seleção:
Visualizações para inserção / atualizações:
Inconvenientes
As visualizações podem:
E você não deve projetar tabelas para corresponder às visualizações . Seu modelo básico deve se preocupar com o armazenamento e recuperação eficientes dos dados. As visualizações são, em parte, uma ferramenta que atenua as complexidades que surgem de um modelo normalizado eficiente, permitindo que você abstraia essa complexidade.
Além disso, perguntar "quais são as vantagens de usar uma visualização sobre uma mesa?" Não é uma boa comparação. Você não pode ficar sem tabelas, mas pode ficar sem visualizações. Cada um deles existe por uma razão muito diferente. As tabelas são o modelo concreto e as Visualizações são uma Visualização bem abstrata.
As visualizações são aceitáveis quando você precisa garantir que uma lógica complexa seja sempre seguida. Por exemplo, temos uma visão que cria os dados brutos necessários para todos os relatórios financeiros. Ao fazer com que todos os relatórios usem essa visualização, todos estão trabalhando a partir do mesmo conjunto de dados, em vez de um relatório usando um conjunto de junções e outro esquecendo de usar um que fornece resultados diferentes.
As visualizações são aceitáveis quando você deseja restringir os usuários a um subconjunto específico de dados. Por exemplo, se você não excluir registros, mas apenas marcar o atual como ativo e as versões anteriores como inativas, você deseja que uma visualização seja usada para selecionar apenas os registros ativos. Isso evita que as pessoas se esqueçam de colocar a cláusula where na consulta e obtenham resultados ruins.
As visualizações podem ser usadas para garantir que os usuários tenham acesso apenas a um conjunto de registros - por exemplo, uma visualização das tabelas para um cliente específico e nenhum direito de segurança nas tabelas pode significar que os usuários desse cliente só podem ver os dados para esse cliente.
As visualizações são muito úteis ao refatorar bancos de dados.
As visualizações não são aceitáveis quando você usa visualizações para chamar visualizações que podem resultar em um desempenho horrível (pelo menos no SQL Server). Quase perdemos um cliente multimilionário porque alguém optou por abstrair o banco de dados dessa forma e o desempenho era horrível e os tempos de espera eram frequentes. Tínhamos que pagar pela correção também, não o cliente, pois o problema de desempenho era totalmente nossa culpa. Quando as visualizações chamam as visualizações, elas precisam gerar completamente a visualização subjacente. Eu vi isso onde a visão chamada de visão que chamou de visão e tantos milhões de registros foram gerados para ver os três que o usuário precisava. Lembro-me de que uma dessas visualizações demorou 8 minutos para fazer uma contagem simples (*) dos registros. Visualizações chamando visualizações são uma ideia extremamente pobre.
Geralmente, as visualizações são uma má ideia para atualizar registros, pois geralmente você só pode atualizar campos da mesma tabela (novamente, este é o SQL Server, outros bancos de dados podem variar). Se for esse o caso, faz mais sentido atualizar diretamente as tabelas de qualquer maneira para que você saiba quais campos estão disponíveis.
As visualizações são úteis quando você precisa selecionar entre várias tabelas ou apenas obter um subconjunto de uma tabela.
Você deve projetar suas tabelas de forma que seu banco de dados seja bem normalizado (duplicação mínima). Isso pode tornar a consulta um pouco difícil.
As visualizações são um pouco separadas, permitindo que você visualize os dados nas tabelas de forma diferente daquela que estão armazenados.
Você deve projetar sua tabela SEM considerar as visualizações.
Além de salvar associações e condições, as exibições têm uma vantagem de desempenho: o SQL Server pode calcular e salvar seu plano de execução na exibição e, portanto, torná-lo mais rápido do que as instruções SQL "dinâmicas".
O modo de exibição também pode facilitar seu trabalho em relação ao acesso do usuário no nível do campo.
Em primeiro lugar, como o nome sugere, uma visão é imutável. isso porque uma visão nada mais é do que uma tabela virtual criada a partir de uma consulta armazenada no banco de dados. Por isso, você tem algumas características de visualizações:
portanto, há um zilhão de casos de uso para os quais as visualizações são mais adequadas do que as tabelas, basta pensar em exibir apenas usuários ativos em um site. uma visualização seria melhor porque você opera apenas em um subconjunto dos dados que realmente estão em seu banco de dados (usuários ativos e inativos)
confira este artigo
espero que isso tenha ajudado ..
De acordo com a Wikipedia ,
As visualizações podem limitar o grau de exposição das tabelas subjacentes ao mundo externo: um determinado usuário pode ter permissão para consultar a visualização, enquanto o acesso ao resto da tabela base é negado.
As visualizações podem juntar e simplificar várias tabelas em uma única mesa virtual.
As visualizações podem atuar como tabelas agregadas , onde o mecanismo de banco de dados agrega dados (soma, média etc.) e apresenta os resultados calculados como parte dos dados.
As visualizações podem ocultar a complexidade dos dados. Por exemplo, uma exibição pode aparecer como Sales2000 ou Sales2001, particionando de forma transparente a tabela subjacente real.
As vistas ocupam muito pouco espaço para armazenar ; o banco de dados contém apenas a definição de uma visão, não uma cópia de todos os dados que apresenta.
As visualizações podem fornecer segurança extra , dependendo do mecanismo SQL usado.