Introdução às visualizações no MySQL

A exibição SQL não passa de uma tabela virtual do banco de dados. A visualização contém campos como uma tabela real, mas esses campos são de uma ou mais tabelas no banco de dados que é executado executando várias consultas do MySQL. Podemos executar operações como as cláusulas WHERE e JOIN nas tabelas virtuais. Por outro lado, VIEW não passa de consultas SELECT.

Sintaxe:

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;

  • “CREATE VIEW view_name” comanda o MySQL para criar uma view / tabela virtual no nome de view_name.
  • A instrução “AS SELECT column1, column2 FROM table” busca a coluna1 e a coluna2 da tabela real. Em seguida, ele salva esses campos na tabela virtual.

Como criar vistas no MySQL?

Vamos criar uma tabela de clientes com os seguintes atributos:

Identificação do Cliente Nome do cliente Contact_no O email Valor_comprado Cidade
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Délhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
874 Abhinash Desai 7675878798 5000, 00 Mumbai

Criaremos uma tabela cutomser_archive com o atributo necessário.

Consulta nº 1

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;

Resultado:

Identificação do Cliente Nome do cliente Contact_no Cidade
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Délhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Também podemos aplicar a condição a essa consulta ao criar uma exibição.

Consulta nº 2

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Resultado:

Identificação do Cliente Nome do cliente Contact_no Valor_comprado Cidade
987 Vinay Das 9839878678 12000, 00 Délhi
452 K.Amarnath 7598759387 15000, 00 Kolkata

Opções de exibição diferentes no MySQL

A seguir, as diferentes opções de exibição no MySQL explicam com mais detalhes:

1. DROP: Uma visualização / tabela virtual pode ser excluída usando o comando DROP VIEW. Se quisermos excluir a tabela customer_archive,

Sintaxe:

DROP VIEW customer_archive;

2. CREATE OR REPLACE: Com o comando CREATE OR REPLACE VIEW, podemos atualizar uma tabela view / virtual.

Sintaxe:

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;

3. JOIN: Também podemos criar uma visualização juntando várias tabelas. Essa junção buscará registros correspondentes das duas tabelas. Existem diferentes tipos de junções nomeadas como junção interna, junção esquerda, junção direita, junção externa completa, junção cruzada, etc.

Sintaxe:

CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Acima está o exemplo de uma junção interna. Da mesma maneira, também podemos aplicar outras junções. No exemplo acima, a visualização será criada consolidando os registros presentes em table_name1 e table_name2 com base em um campo comum.

Exemplos de exibições no MySQL

Vamos considerar o exemplo acima:

Identificação do Cliente Nome do cliente Contact_no O email Valor_comprado Cidade
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Délhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
874 Abhinash Desai 7675878798 5000, 00 Mumbai
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Este é o banco de dados da tabela do cliente.

Criaremos outra visualização, nomeando-a como premium_customer. As condições para clientes premium serão enquanto o valor_comprado for maior que 10000.

Consulta nº 1

CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Resultado:

Identificação do Cliente Nome do cliente Contact_no Valor_comprado Cidade
987 Vinay Das 9839878678 12000, 00 Délhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Se quisermos descartar esta tabela virtual premium_customer, abaixo está a sintaxe.

DROP VIEW premium_customer;

Se for necessária alguma modificação nesta tabela premium acima, modificando algumas condições,

Consulta nº 2

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Resultado:

Identificação do Cliente Nome do cliente Contact_no O email Valor_comprado Cidade
184 Ravi Kumar 9887463893 8000, 00 Kolkata
987 Vinay Das 9839878678 12000, 00 Délhi
452 K.Amarnath 7598759387 15000, 00 Kolkata
987 Aseem Kumar 9697679867 18000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Vantagens e desvantagens das visualizações no MySQL

Aqui discutimos as vantagens e desvantagens do Views no MySQL,

Vantagens

  • Segurança: Existem muitas tabelas restritas a muitos usuários, pois alguns atributos nessas tabelas serão muito sensíveis. Portanto, se pudermos criar visualizações com alguns atributos específicos para os respectivos usuários, os usuários poderão ter permissão para acessar algum conjunto de visualizações em um banco de dados autorizado a eles. Isso pode manter a segurança e a integridade dos dados, assim como os usuários podem executar suas tarefas com as respectivas colunas autorizadas.
  • Simplicidade da consulta: uma visualização pode ser criada buscando dados de várias tabelas. Portanto, todos os registros cumulativos de todas as tabelas podem ser representados por uma única tabela usando a consulta de exibição.
  • Simplicidade estrutural: podemos criar uma visão específica ou personalizada do usuário. Portanto, podemos representar o banco de dados como um conjunto de tabelas virtuais que fazem sentido para o usuário.
  • Consistência: estamos mencionando consistência aqui, porque essa visão pode representar uma imagem consistente e inalterada da estrutura do banco de dados, mesmo se fizermos alguma manipulação na tabela principal ou na tabela principal.
  • Integridade dos dados: se os dados são acessados ​​em uma visualização, o banco de dados sempre verifica os dados para garantir se satisfaz as restrições de integridade ou não.

Desvantagens

  • Desempenho: as visualizações são a tabela virtual ou o representante das tabelas mestras. Quando executamos algumas consultas para criar uma exibição, o DBMS converte essas consultas nas exibições nas consultas nas tabelas subjacentes. Portanto, se a consulta de exibição for muito complexa e contiver várias fontes e algoritmos difíceis, a ação simples contra essas exibições levará um tempo considerável.
  • Restrições de atualização: Ao alterar as linhas em uma exibição, o DBMS deve converter a solicitação em uma atualização nas linhas da tabela de origem subjacente. A atualização pode ser feita na consulta simples, mas no caso de uma consulta complexa, o DBMS não permitirá a atualização, pois as exibições geralmente são restritas ao somente leitura.

Conclusão

Depois de analisar o material descrito acima, podemos conhecer claramente o significado desse comando. Isso é útil em muitos cenários em tempo real. A principal vantagem disso é que podemos realizar muitas consultas complexas apenas para saber quão eficaz é o nosso algoritmo subjacente. Manter a segurança e a integridade dos dados é a principal vantagem do comando view.

Artigos recomendados

Este é um guia para Views no MySQL. Aqui, discutiremos como criar visualizações no mysql e entender como diferentes opções de visualizações funcionam no MySQL. Você também pode consultar os seguintes artigos para saber mais:

  1. Os 3 principais operadores MySQL
  2. Comandos de consulta MySQL diferentes
  3. Os 6 principais caracteres curinga do MySQL
  4. Como o esquema do MySQL funciona?