Introdução às visualizações SQL

Para consultas SQL complexas, as visualizações são criadas usando uma ou mais tabelas. Além disso, o view é usado para fornecer o encapsulamento das tabelas para fins de segurança. Uma exibição é considerada uma tabela virtual com linhas e colunas como uma tabela normal do banco de dados.

Sintaxe para criar exibição

Uma visualização pode ser criada usando a instrução CREATE VIEW, conforme abaixo:

CREATE VIEW VIEW_NAME AS
SELECT column1, column2, column3…….
FROM table_name WHERE (condition);

Criando uma visualização no SQL com Exemplos:

Vamos considerar a tabela abaixo EMPREGADO:

Podemos criar uma visão da tabela acima, como abaixo.

CREATE VIEW EMLOYEE_VW AS
SELECT NAME, AGE, SALARY
FROM EMPLOYEE;

Na visualização acima EMPLOYEE_VW, as colunas abaixo serão criadas.

SELECT * FROM EMPLOYEE_VW;

Podemos criar visualizações de mais de uma tabela.

Vamos considerar outra tabela DEPARTAMENTO como abaixo.

Podemos criar uma visualização das tabelas EMPREGADO e DEPARTAMENTO acima, como abaixo:

CREATE VIEW DEPT_VIEW AS
SELECT EMPLOYEE.ID, EMPLOYEE.NAME, DEPARTMENT.DEPTNAME
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.ID = DEPARTMENT.ID;

A visualização DEPT_VIEW terá o resultado abaixo.

SELECT * FROM DEPT_VIEW;

Visualização diferente Operações nas visualizações SQL

Abaixo estão várias operações de exibição no SQL:

Atualizar na exibição

Embora uma visualização possa ser atualizada, precisamos manter algumas condições no aviso. Por exemplo, durante a atualização de uma exibição, a instrução select não deve conter uma palavra-chave DISTINCT, definir funções, cláusula order by, Agrupar por ou Ter, subconsultas etc. Além disso, a cláusula FROM não deve conter várias tabelas. Além do exposto acima, a exibição deve ter valores NOT NULL se precisar ser atualizada. Portanto, quando queremos atualizar a visualização EMPLOYEE_VW, mantendo os pontos acima em foco, a tabela EMPLOYEE será atualizada.

A instrução CREATE OR REPLACE VIEW é usada para adicionar ou remover campos de uma exibição.

SYNTAX for Update

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2….
FROM table_name
WHERE (condition);

Vamos atualizar a exibição DEPT_VIEW conforme abaixo para adicionar a coluna de localização.

CREATE OR REPLACE VIEW DEPT_VIEW AS
SELECT EMPLOYEE.ID, EMPLOYEE.NAME, DEPARTMENT.DEPTNAME, DEPARTMENT.LOCATION
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.ID = DEPARTMENT.ID;

SELECT * FROM EMPLOYEE;

A partir da consulta acima, obteremos o resultado abaixo.

INSERINDO O VIEW

Sintaxe para inserir em uma exibição

INSERT INTO view_name(column1, column 2, column3, ….) VALUES(value1, value2, value3, …);

Uma linha pode ser inserida para visualizar EMPLOYEE_VW usando insert em uma instrução como abaixo:

INSERT INTO EMPLOYEE_VW (NAME, AGE, SALARY) VALUES('RAM', '24', '27000.00');

Após a inserção, podemos ver o resultado na consulta de seleção abaixo.

SELECT * FROM EMPLOYEE_VW;

EXCLUINDO DE UMA VISTA

Excluir uma linha de uma exibição exclui a linha da tabela na qual a exibição foi criada.

A sintaxe para excluir de uma exibição

DELETE FROM view_name WHERE (condition);

Podemos excluir a linha da visualização como abaixo:

DELETE FROM EMPLOYEE_VW WHERE NAME = 'MALAY';

Após a exclusão, o resultado pode ser exibido na consulta abaixo.

SELECT * FROM EMPLOYEE_VW;

DROPPING VIEW

As visualizações podem ser eliminadas usando a sintaxe abaixo:

DROP VIEW view_name;

Se quisermos excluir a visualização EMPLOYEE_VW, ela poderá ser excluída como abaixo:

DROP VIEW EMPLOYEE_VW;

Vantagens e desvantagens das visualizações SQL

Abaixo estão alguns prós e contras das exibições SQL da seguinte maneira:

Vantagens

Abaixo estão as vantagens do uso de visualizações no SQL:

  • Se precisarmos manter informações confidenciais, fornecendo acesso limitado aos usuários, as visualizações serão usadas para esse fim. As visualizações são usadas para exibir apenas os dados necessários para os usuários, mantendo os dados confidenciais seguros.
  • Como uma visualização de banco de dados está associada a muitas tabelas nas quais a visualização é criada, simplifica a complexidade da consulta.
  • A visualização é usada para ocultar a complexidade das tabelas subjacentes usadas em um banco de dados dos usuários finais.
  • As visualizações são úteis no caso de redesenhar o banco de dados para não afetar outros aplicativos usando o mesmo banco de dados.
  • Os dados das colunas computadas podem ser calculados com muita facilidade quando consultamos os dados a partir da visualização, pois as visualizações ativam colunas computadas.

Desvantagens

Apesar das muitas vantagens que as visualizações oferecem, ainda existem algumas desvantagens, conforme abaixo:

  • Uma das principais desvantagens do uso da vista aparece em cena quando mudamos as estruturas da tabela com freqüência nas quais a vista é criada. Portanto, quando as estruturas da tabela são alteradas, a exibição também precisa ser alterada.
  • Além disso, o uso da visualização diminui o desempenho das consultas.

Conclusão

As visualizações são amplamente usadas por suas muitas vantagens. Eles adicionam uma camada de segurança extra ao banco de dados, essencial para qualquer sistema de gerenciamento de banco de dados relacional. As visualizações são flexíveis no caso de exposição dos dados aos usuários finais, mostrando apenas os dados necessários, por exemplo, usando visualizações somente leitura para limitar os privilégios aos usuários. Mas também as visualizações podem ser desvantajosas se as estruturas da tabela subjacente mudarem com muita frequência, aumentando assim a complexidade de alterar as visualizações de acordo com as estruturas da tabela. Portanto, com muitas vantagens na imagem, as visualizações são um pouco menos recomendadas quando o desempenho da consulta de dados é vital para os negócios. Depende de nós escolher o uso da visualização em nosso banco de dados, validando corretamente os requisitos de negócios, de modo a obter mais vantagens das visualizações, a fim de aumentar o desempenho do sistema.

Artigos recomendados

Este foi um guia para as visualizações SQL. Aqui discutimos a criação de uma exibição no SQL e sintaxe para criar a exibição junto com as vantagens e desvantagens das exibições no SQL. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Perguntas da entrevista do Oracle PL / SQL
  2. O que é o esquema do MySQL?
  3. O que é injeção de SQL?
  4. O que é o T-SQL?
  5. Aprenda a instrução INSERT no Oracle
  6. Opções de exibição diferentes no MySQL