Diferença entre View e table em sql

136

Possível duplicado:
diferença entre modos de exibição e tabelas no desempenho

Qual é a principal diferença entre exibição e tabela no SQL. Existe alguma vantagem em usar visualizações em vez de tabelas.

Mahesh KP
fonte
1
Possível duplicata da diferença entre
modos de exibição
6
Não parece uma duplicata. A postagem vinculada está perguntando especificamente sobre desempenho / eficiência. Esta postagem está perguntando mais sobre como eles diferem como tipos de dados, como a resposta selecionada representa.
D ..

Respostas:

197

Uma tabela contém dados, uma visualização é apenas uma SELECTdeclaração que foi salva no banco de dados (mais ou menos, dependendo do seu banco de dados).

A vantagem de uma visualização é que ela pode unir dados de várias tabelas, criando assim uma nova visualização. Digamos que você tenha um banco de dados com salários e precise fazer algumas consultas estatísticas complexas.

Em vez de enviar a consulta complexa para o banco de dados o tempo todo, você pode salvar a consulta como uma exibição e, em seguida, SELECT * FROM view

Aaron Digulla
fonte
11
Portanto, a visualização é uma tabela real feita por uma instrução select. A visualização é armazenada e pode ser acessada. Qual seria a diferença entre criar uma nova tabela com essas informações em vez de uma visualização.
Doug Hauf
23
Você pode pensar em uma exibição como uma "instrução de seleção salva" que pode ser repetida. Não é realmente uma mesa; mesmo que alguns bancos de dados permitam criar visualizações com uma tabela real abaixo, é apenas uma SELECTdeclaração que retorna resultados.
Aaron Digulla
1
algo a ser observado: algumas visualizações de lista do sistema de banco de dados, juntamente com tabelas em "show tables"; comando.
Dexter #
1
@ShwetabhShekhar Isso depende do seu banco de dados e do tipo de visualização. Da forma mais simples, o banco de dados executará o SQL como se você tivesse acabado de enviar a coisa toda. Nesse caso, você salva o envio de muitos bytes novamente. Alguns bancos de dados podem executar a consulta e armazenar o resultado em uma tabela (real). Então você precisa resolver os problemas de alguma forma que você mencionou. Verifique a documentação do banco de dados como fazer isso.
Aaron Digulla
1
@FoxDeploy Sim, pois essa visualização não ajuda em nada. Cenários úteis seriam uma exibição com permissões limitadas ou uma exibição que seleciona uma tabela de outro esquema no mesmo banco de dados ou outro banco de dados (tabela remota).
Aaron Digulla
34

Tabela: Tabela é um armazenamento preliminar para armazenamento de dados e informações no RDBMS. Uma tabela é uma coleção de entradas de dados relacionadas e consiste em colunas e linhas.

Visualização: uma visualização é uma tabela virtual cujo conteúdo é definido por uma consulta. A menos que indexado, uma exibição não existe como um conjunto armazenado de valores de dados em um banco de dados. As vantagens sobre a mesa são

  • Podemos combinar colunas / linhas de várias tabelas ou outra visão e ter uma visão consolidada.
  • As visualizações podem ser usadas como mecanismos de segurança, permitindo que os usuários acessem dados através da visualização, sem conceder permissões aos usuários para acessar diretamente as tabelas base subjacentes da visualização
  • Ele atua como uma camada abstrata dos sistemas a jusante, portanto, qualquer alteração no esquema não é exposta e, portanto, os sistemas a jusante não são afetados.
Senthil_Arun
fonte
16

Uma visão é uma tabela virtual. Uma visualização consiste em linhas e colunas como uma tabela. A diferença entre uma visualização e uma tabela é que as visualizações são definições criadas sobre outras tabelas (ou visualizações) e não mantêm os próprios dados. Se os dados estiverem mudando na tabela subjacente, a mesma alteração será refletida na exibição. Uma visão pode ser construída sobre uma única tabela ou várias tabelas. Também pode ser construído sobre outra vista. Na página SQL Create View, veremos como uma visão pode ser criada.

As visualizações oferecem as seguintes vantagens:

  1. Facilidade de uso: Uma exibição oculta a complexidade das tabelas do banco de dados dos usuários finais. Essencialmente, podemos pensar em visualizações como uma camada de abstração em cima das tabelas do banco de dados.

  2. Economia de espaço: as visualizações ocupam muito pouco espaço para armazenar, pois não armazenam dados reais.

  3. Segurança de dados adicional: as visualizações podem incluir apenas determinadas colunas na tabela, de modo que apenas as colunas não sensíveis sejam incluídas e expostas ao usuário final. Além disso, alguns bancos de dados permitem que as visualizações tenham configurações de segurança diferentes, ocultando dados confidenciais de olhares indiscretos.

Resposta de: http://www.1keydata.com/sql/sql-view.html

SuperGuy10
fonte
4

Em vista, não há nenhuma relação direta ou física com o banco de dados. E Modificação através de uma visualização (por exemplo, inserir, atualizar, excluir) não é permitida. É apenas um conjunto lógico de tabelas

Haris
fonte
1
No SQL Server, você pode modificar a tabela subjacente por meio de uma exibição, se ela referenciar apenas uma tabela base. Veja aqui
Kristen Hammack
3

Uma visão nos ajuda a nos livrar da utilização do espaço do banco de dados o tempo todo. Se você criar uma tabela, ela será armazenada no banco de dados e conterá algum espaço ao longo de sua existência. Em vez disso, a visualização é utilizada quando uma consulta é executada, economizando, portanto, o espaço do banco de dados. E não podemos criar tabelas grandes o tempo todo unindo tabelas diferentes, mas poderíamos, mas isso depende do tamanho da tabela para economizar espaço. Portanto, visualize apenas criar temporariamente uma tabela juntando uma tabela diferente no tempo de execução. Especialistas, por favor, corrija-me se estiver errado.

Deepak Ranjan Mohanty
fonte
2

Tabela:

A tabela armazena os dados no banco de dados e contém os dados.

Visão:

View é uma tabela imaginária, contém apenas os campos (colunas) e não contém dados (linha) que serão enquadrados no tempo de execução Visualizações criadas a partir de uma ou mais de uma tabela por junções, com colunas selecionadas. As visualizações são criadas para ocultar algumas colunas do usuário por motivos de segurança e para ocultar as informações existentes na coluna. O Views reduz o esforço para escrever consultas para acessar colunas específicas todas as vezes. Em vez de acessar a consulta complexa no banco de dados toda vez, podemos usar o view

Hari
fonte