Criando SQL VIEWS: explicado passo a passo

Usamos SQL ou linguagem de consulta estruturada para nos comunicar com um banco de dados relacional e criar exibições SQL.

Agora, o que são visualizações SQL? Eles são tabelas virtuais que combinam e armazenam dados de tabelas de banco de dados reais que você cria. Por sua vez, você obtém acesso seguro e simplificado ao seu conjunto de dados enquanto oculta as estruturas e implementações subjacentes da tabela.

Então, como isso funciona? Você já sabe que as consultas SQL são usadas para criar exibições SQL. Quando a visualização SQL é criada, a consulta SQL subjacente é armazenada. Quando você usa uma consulta SQL para pesquisar dados de várias tabelas, a consulta é executada e ajuda a buscar dados das tabelas de banco de dados correspondentes. Da mesma forma, quando você consulta uma exibição SQL criada, a consulta armazenada é primeiro buscada e depois executada.

Como a criação de exibições SQL é útil?

Como as exibições SQL são apoiadas por consultas SQL armazenadas, elas ajudam a tornar seu banco de dados seguro. Eles também simplificam consultas complexas e aumentam o desempenho de suas consultas, entre outros benefícios. Vamos ver como a criação de visualizações SQL pode ser benéfica para seu banco de dados e seus aplicativos:

#1. Fornece segurança de banco de dados

As exibições SQL atuam como tabelas virtuais e ocultam as estruturas das tabelas reais do banco de dados. Portanto, apenas olhando para uma view, não é possível saber quantas tabelas existem e quais são as diferentes colunas da tabela. Além disso, você pode adicionar restrições de controle de acesso ao seu banco de dados para que um usuário possa consultar apenas a exibição e não as tabelas reais.

  Como redefinir as configurações de fábrica do meu laptop Nextbook

#2. Simplifica consultas complexas

Muitas vezes, suas consultas SQL se estendem por várias tabelas com condições de junção complexas. Se estiver usando essas consultas complexas com frequência, você pode aproveitar o poder de criar exibições SQL. Você pode armazenar sua consulta complexa em sua visualização SQL. Com isso, você pode simplesmente consultar a exibição em vez de executar toda a consulta complexa.

#3. Mitiga Contra a Mudança de Esquema

Se suas estruturas de tabela subjacentes forem alteradas, como a adição ou remoção de colunas, suas exibições permanecerão inalteradas. Se você está contando com suas visualizações SQL para todas as suas consultas, não precisa se preocupar com a alteração do esquema. Sendo tabelas virtuais, sua visualização SQL criada continuará a funcionar perfeitamente.

#4. Melhora o desempenho da consulta

Ao criar exibições SQL, o mecanismo de banco de dados otimiza a consulta subjacente antes de armazená-los. Uma consulta armazenada é executada mais rapidamente do que executar a mesma consulta diretamente. Assim, usar exibições SQL para consultar seus dados oferece melhor desempenho e resultados mais rápidos.

Como criar visualizações SQL?

Para criar exibições SQL, você pode usar o comando CREATE VIEW. Uma exibição contém uma instrução SELECT. Isso fornece a consulta que será armazenada na exibição. A sintaxe é a seguinte:

CREATE VIEW view_name AS 
SELECT 
  column_1, 
  column_2, 
  column_3...
FROM 
  table_name_1, table_name_2
WHERE 
  condition_clause

Vamos entender isso usando um exemplo. Considere que você criou duas tabelas departamento e funcionário. O departamento contém o nome do departamento e seu ID. Assim, a tabela de funcionários contém o nome e o ID do funcionário, juntamente com o ID do departamento ao qual ele pertence. Você usará essas duas tabelas para criar sua visualização SQL.

  O BeamNG Drive está no Xbox?

Crie suas tabelas de banco de dados

departamento_iddepartment_name1Finanças2Tecnologia3NegóciosTabela 1: departamento

Se você estiver usando MySQLvocê pode criar essa tabela usando a seguinte consulta:

CREATE TABLE `department` (
  `department_id` int,
  `department_name` varchar(255),
  PRIMARY KEY (`department_id`)
);

Insira os dados na tabela que você criou usando o SQL abaixo:

INSERT INTO department VALUES (1, 'Finance');
INSERT INTO department VALUES (2, 'Technology');
INSERT INTO department VALUES (3, 'Business');

employee_idemployee_namedepartment_id100John3101Mary1102Natalya3103Bruce2Tabela 2: funcionário

Com a tabela de departamentos pronta e preenchida com dados, crie a tabela de funcionários usando a consulta MySQL abaixo:

CREATE TABLE `employee` (
  `employee_id` INT, 
  `employee_name` VARCHAR(255), 
  `department_id` INT, 
  FOREIGN KEY (`department_id`) REFERENCES department(department_id)
);

Em seguida, insira os registros dos funcionários em sua tabela. Lembre-se de que, como a coluna Department_id possui uma referência de chave estrangeira com a tabela Department, você não pode inserir um Department_id que não esteja presente na outra tabela.

INSERT INTO employee VALUES (100, 'John', 3);
INSERT INTO employee VALUES (101, 'Mary', 1);
INSERT INTO employee VALUES (102, 'Natalya', 3);
INSERT INTO employee VALUES (103, 'Bruce', 1);

Consultar suas tabelas de banco de dados

Vamos usar as tabelas em uma consulta de banco de dados. Considere o caso em que você precisa consultar o Employees_id, Employees_name e Department_name para todos os funcionários. Nesse caso, você precisa usar as duas tabelas e juntá-las usando a coluna comum, que é o departamento_id. Sua consulta torna-se assim:

SELECT
  employee_id,
  employee_name,
  department_name
FROM 
  employee,
  department
WHERE 
  employee.department_id = department.department_id;

Crie sua visualização SQL

Agora, pode acontecer que você esteja frequentemente procurando ou fazendo referência a esses dados. Além disso, com o tempo, com mais registros em suas tabelas, seu tempo de consulta começaria a aumentar. Nesse cenário, você pode criar a exibição SQL correspondente a essa consulta.

Use a consulta a seguir para criar uma exibição chamada employee_info:

CREATE VIEW employee_info AS 
SELECT
  employee_id,
  employee_name, 
  department_name 
FROM 
  employee, 
  department 
WHERE 
  employee.department_id = department.department_id;

Com essa visualização em vigor, você pode consultar diretamente o mesmo. Sua consulta é, portanto, simplificada para:

SELECT 
  * 
FROM 
  employee_info;

Consultar a exibição SQL fornece a mesma saída que executar sua consulta original. No entanto, sua consulta agora é fácil de manter. A exibição oculta as complexidades de sua consulta sem comprometer o resultado ou o desempenho.

  Entendendo os empréstimos e empréstimos de criptomoedas para iniciantes

Como substituir exibições SQL?

Se você tem uma visão com um nome específico e deseja modificá-la ou substituí-la, use o comando CREATE OR REPLACE VIEW. Usando isso, você pode modificar a instrução SELECT que foi usada para criar a exibição. Portanto, sua saída de visualização é substituída, mantendo o nome da visualização intacto. Além disso, você cria uma nova exibição SQL se ela não existir.

Você pode substituir exibições SQL usando a seguinte sintaxe:

CREATE OR REPLACE VIEW view_name AS 
SELECT 
  new_column_1, 
  new_column_2, 
  new_column_3 ...
FROM 
  new_table_name_1, 
  new_table_name_2 ...
WHERE 
  new_condition_clause

Você pode entender isso melhor com um exemplo. Considere o departamento e as tabelas de funcionários. Uma exibição SQL de Employees_info é criada a partir deles, que contém as colunas Employees_id, Employees_name e Department_name.

Considerando questões de segurança, talvez você queira remover o employee_id dessa exibição. Além disso, você também deseja alterar os nomes das colunas para ocultar as colunas reais do banco de dados. Você pode fazer essas alterações na exibição existente usando a seguinte consulta SQL:

CREATE OR REPLACE VIEW employee_info AS
SELECT
  employee_name as name,
  department_name as department
FROM
  employee,
  department
WHERE
  employee.department_id = department.department_id;

Depois que a exibição for substituída, você obterá resultados diferentes ao usar a mesma consulta que estava usando antes. Por exemplo, no resultado da consulta, você descobrirá que uma das colunas foi eliminada. Além disso, os nomes das colunas foram modificados de Employees_name e Department_name para Name e Department, respectivamente.

Aproveite o poder de criar exibições SQL

A criação de exibições de SQL não apenas oferece consultas simplificadas e pesquisa de dados mais rápida, mas também segurança e proteção contra alterações de esquema. A criação de exibições SQL é bastante direta. Você pode pegar qualquer consulta existente e transformá-la em uma visualização SQL.

Use o guia passo a passo acima para criar exibições SQL e utilizar suas vantagens. Com visualizações SQL, você pode tornar seus aplicativos de banco de dados simples e seguros enquanto aumenta seu desempenho.

Se você deseja gerenciar seu próprio servidor SQL, consulte o SQL Server Management Studio (SSMS).