Em mysql, uma
view é uma tabela virtual com base no conjunto de resultados de uma instrução SQL. Não armazena dados diretamente. Em vez disso, ele armazena a consulta * que define como recuperar os dados. Quando você consulta uma visão, o MySQL executa a consulta subjacente e retorna o resultado como se fosse uma tabela real.
Pense nisso como uma consulta armazenada.
Aqui está um colapso dos aspectos -chave:
Principais recursos e características das visualizações MySQL: *
Tabela virtual: Uma visão não é uma tabela física. Não ocupa espaço de armazenamento para armazenar dados. É apenas uma definição de uma consulta.
*
Baseado em uma consulta: Uma visualização é criada usando uma instrução `Create View`, que inclui uma instrução` select`. Esta instrução `select` especifica como a visualização deve recuperar e apresentar os dados.
*
Derivação de dados: As visualizações derivam seus dados de uma ou mais tabelas base subjacentes (ou outras visualizações).
*
dados dinâmicos: Os dados exibidos através de uma visualização estão sempre atualizados. Quando você consulta uma visão, o MySQL reexeca a consulta subjacente. Isso garante que você veja os dados mais recentes das tabelas base.
*
Visualizações de consulta: Você pode consultar uma visualização, assim como você consultaria uma tabela regular usando as instruções `select`.
*
atualizável vs. não atualizado: Algumas visualizações são atualizáveis, o que significa que você pode usar as instruções `insert`,` update` e `delete` para modificar os dados subjacentes através da visualização. No entanto, muitas visualizações não são atualizáveis, especialmente aquelas que envolvem agregações, junções ou colunas calculadas.
* Privilégios
: Você pode conceder e revogar privilégios em visualizações, semelhante à maneira como gerencia privilégios nas tabelas.
Benefícios do uso de visualizações: *
Abstração de dados: As vistas oculam a complexidade das tabelas e consultas subjacentes. Você pode criar visualizações que apresentam apenas as colunas relevantes a usuários ou aplicativos específicos.
*
Segurança: As visualizações podem restringir o acesso a determinadas colunas ou linhas de uma tabela. Você pode conceder aos usuários acesso a uma visualização que mostra apenas um subconjunto dos dados, sem fornecer acesso direto à tabela subjacente.
*
Simplificação de consultas complexas: As vistas permitem que você divida consultas complexas em peças menores e mais gerenciáveis. Você pode criar uma visualização para cada etapa do processo e, em seguida, combinar essas visualizações para obter o resultado final.
*
Consistência de dados: Se você precisar usar a mesma consulta em vários lugares, poderá defini -la como uma visualização. Isso garante que a consulta seja consistente em todos os usos. Se você precisar alterar a consulta, só precisará modificar a definição de visualização.
*
REUSIBILIDADE DE CÓDIGO: As visualizações encapsulam consultas, permitindo que você as reutilize em diferentes aplicativos ou relatórios.
*
Renomear colunas: As visualizações permitem renomear colunas das tabelas subjacentes, fornecendo nomes mais descritivos ou amigáveis.
Exemplo: Digamos que você tenha uma tabela chamada 'funcionários' com as seguintes colunas:
* `funcionário_id`
* `First_Name`
* `last_name`
* `departamento`
* `Salário`
Você pode criar uma visualização chamada `gerentes ', que mostra apenas os funcionários que são gerentes e seu nome completo:
`` `SQL
Criar gerentes de visão como
Selecione
funcionário_id,
Concat (primeiro_name, '', last_name) como full_name,
departamento,
salário
DE
funcionários
ONDE
departamento ='gestão';
`` `
Agora, você pode consultar a visualização de `gerentes` assim:
`` `SQL
Selecione * dos gerentes;
`` `
Isso retornará apenas os funcionários que trabalham no departamento de 'gerenciamento', juntamente com seu ID, nome completo (calculado do primeiro e do sobrenome), departamento e salário. Você não precisa repetir a função `concat` ou a cláusula` where 'toda vez que deseja ver essas informações.
Criando uma visualização: `` `SQL
Crie View View_name como
Selecione Column1, Column2, ...
De table_name
Onde condição;
`` `
descartando uma visualização: `` `SQL
Soltar view view_name;
`` `
Considerações importantes: *
desempenho: Embora as visões ofereçam muitas vantagens, às vezes podem afetar o desempenho se a consulta subjacente for complexa. O MySQL precisa executar a consulta toda vez que a visualização é acessada. Considere o uso de visualizações materializadas (se suportadas pela sua versão ou configuração do MySQL) ou otimizando cuidadosamente a consulta se o desempenho se tornar um problema.
*
Restrições de atualização: Nem todas as visualizações são atualizáveis. Visualizações com junções, agregações (por exemplo, `sum`,` avg`), `distinct`,` grupo por `ou certas subconsências normalmente não são atualizáveis. O MySQL geralmente lhe dará um erro se você tentar modificar uma visualização não atualizável.
*
Dependências: As visões dependem das tabelas subjacentes. Se você soltar ou modificar uma tabela usada por uma visualização, a visualização poderá se tornar inválida.
Em resumo, as visualizações são uma ferramenta poderosa no MySQL para simplificar consultas, melhorar a abstração de dados e aumentar a segurança. Eles fornecem uma maneira de criar tabelas virtuais que apresentam dados de maneira personalizada e reutilizável. Lembre -se de considerar as implicações de atualização e desempenho ao projetar e usar as visualizações.