MySQL Visualizações: Como criar visualizações a partir de tabelas

⚡ Resumo Inteligente

MySQL As views são tabelas virtuais que não armazenam dados próprios e, em vez disso, apresentam o resultado de uma consulta SELECT armazenada. Este recurso explica como criar, consultar, unir e excluir views, com exemplos executáveis ​​do banco de dados myflixdb.

  • 🧱 Definição Essencial: Uma view é uma instrução SELECT nomeada que se comporta como uma tabela, mas não armazena dados.
  • 🔐 Benefício de segurança: As visualizações exibem apenas as colunas autorizadas e mantêm os campos confidenciais ocultos dos usuários.
  • ♻️ Benefício da reutilização: Uma junção complexa envolvendo várias tabelas é escrita uma única vez e reutilizada como uma instrução SELECT de linha única.
  • 🛠️ Sintaxe de criação: A instrução CREATE VIEW `view_name` AS SELECT define a visualização dentro do banco de dados.
  • 🗑️ Comandos do ciclo de vida: O comando SHOW CREATE VIEW exibe a consulta armazenada e o comando DROP VIEW a exclui sem afetar as tabelas base.

MySQL Visualizações

O que são visualizações em MySQL?

VISTAS são tabelas virtuais que não armazenam nenhum dado próprio, mas exibem dados armazenados em outras tabelas. Em outras palavras, VIEWS nada mais são do que consultas SQL. Uma visualização pode conter todas ou algumas linhas de uma tabela. A MySQL view pode mostrar dados de uma tabela ou de várias tabelas.

MySQL Sintaxe de visualizações

Vejamos agora a sintaxe básica usada para criar uma visualização em MySQL.

CREATE VIEW `view_name` AS SELECT statement;

ONDE

  • “CRIAR VISUALIZAÇÃO `view_name`” conta MySQL servidor para criar um objeto de visualização no banco de dados chamado `view_name`
  • “Instrução AS SELECT” são as instruções SQL a serem compactadas no MySQL Visualizações. Pode ser uma instrução SELECT que pode conter dados de uma tabela ou de várias tabelas.

Por que usar visualizações?

Antes de construir uma casa com vista, é útil saber o que ela realmente proporciona.

Você pode querer usar visualizações principalmente pelos seguintes três motivos

  • Em última análise, você usará o seu SQL É necessário conhecimento para criar aplicações que utilizem um banco de dados para atender às suas necessidades de dados. Recomenda-se o uso de VIEWS (views) da estrutura original das tabelas em sua aplicação, em vez de utilizar as próprias tabelas. Isso garante que, ao refatorar seu banco de dados, seu código legado ainda poderá visualizar o esquema original por meio da view, sem quebrar a aplicação.
  • VIEWS aumentam a reutilização. Você não terá que criar consultas complexas envolvendo junções repetidamente. Toda a complexidade é convertida em uma única linha de consulta usando VIEWS. Esse código condensado será mais fácil de integrar em seu aplicativo. Isso eliminará chances de erros de digitação e seu código ficará mais legível.
  • VIEWS ajudam na segurança dos dados. Você pode usar visualizações para mostrar apenas informações autorizadas aos usuários e ocultar dados confidenciais, como números de cartão de crédito.

Como criar visualizações em MySQL

Com a sintaxe e os benefícios estabelecidos, os passos abaixo criam uma visualização funcional de ponta a ponta.

A seguir está um processo passo a passo para criar uma visualização em MySQL:

Passo 1) Crie nossa primeira visualização usando o “myflixdb”

Vamos agora criar nossa primeira view utilizando o “myflixdb” vamos criar uma view simples que restringe as colunas vistas na tabela de membros.

Suponha que os requisitos de autorização especifiquem que o departamento de contabilidade só pode visualizar o número, o nome e o sexo do membro na tabela de membros. Para isso, você pode criar uma VIEW –

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

Passo 2) Expandindo o nó de visualizações

Executando o script acima em MySQL workbench contra o myflixdb e expandir o nó de visualizações no explorador de banco de dados nos dá os seguintes resultados.

Criar visualizações em MySQL

Observe que o objeto accounts_v_members agora está visível nos objetos de visualizações do banco de dados.

Passo 3) Execute uma instrução SELECT

Vamos agora executar um Instrução SELECT que seleciona todos os campos da visualização conforme mostrado abaixo MySQL criar exemplo de visualização.

SELECT * FROM `accounts_v_members`;

Passo 4) Executar um script

Executando o script acima em MySQL workbench contra myflixdb nos dá os seguintes resultados mostrados abaixo.

membership_number full_names gender
1 Janet Jones Female
2 Janet Smith Jones Female
3 Robert Phil Male
4 Gloria Williams Female
5 Leonard Hofstadter Male
6 Sheldon Cooper Male
7 Rajesh Koothrappali Male
8 Leslie Winkle Male
9 Howard Wolowitz Male

Apenas as colunas autorizadas para o departamento de contabilidade foram retornadas. Outros detalhes encontrados na tabela de membros foram ocultados.

Se quisermos ver as instruções SQL que constituem uma visualização específica, podemos usar o script mostrado abaixo para fazer isso.

SHOW CREATE VIEW `accounts_v_members`;

A execução do script acima fornece o nome da visualização e as instruções SQL SELECT usadas para criar a visualização.

Junções e visualizações em MySQL

Uma visualização de tabela única é o caso mais simples. As visualizações tornam-se muito mais valiosas quando englobam uma consulta de várias tabelas.

Vejamos agora um exemplo bastante complexo que envolve múltiplas tabelas e utiliza junta.

Iremos empacotar o JOIN criado que obtém informações de três (3) tabelas, nomeadamente membros, filmes e locações de filmes. Abaixo está o script que nos ajuda a conseguir isso.

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date`
FROM `movierentals` AS mr
INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number`
INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;

A execução dos scripts acima cria a visualização chamada general_v_movie_rentals em nosso myflixdb

Vamos agora selecionar todos os campos de uma tabela chamada general_v_movie_rentals.

SELECT * FROM `general_v_movie_rentals`;

Executando o script acima em MySQL bancada contra o myflixdb nos dá os seguintes resultados mostrados abaixo.

membership_number full_names title transaction_date return_date
1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012
1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X-Men 23-06-2012 28-06-2012

Observe que não precisamos escrever a complexa consulta JOIN para obter informações sobre membros, filmes e detalhes de aluguel de filmes. Simplesmente usamos a visão em uma instrução SELECT regular como qualquer outra tabela comum. A visualização pode ser chamada de qualquer lugar no sistema do aplicativo em execução no myflixdb.

Cairping Visualizações em MySQL

O comando DROP pode ser usado para excluir uma visualização do banco de dados isso não é mais necessário. A sintaxe básica para eliminar uma visualização é a seguinte.

DROP VIEW `general_v_movie_rentals`;

Cairping Uma view remove apenas a consulta armazenada; as tabelas subjacentes e seus dados permanecem intactos.

Perguntas Frequentes

Às vezes. As operações INSERT, UPDATE e DELETE funcionam apenas em visualizações simples que contêm todas as colunas NOT NULL da tabela base. Visualizações construídas com base em junções ou funções de agregação não podem ser atualizadas.

Uma tabela armazena fisicamente as linhas em disco. Uma visão armazena apenas uma instrução SELECT e reconstrói suas linhas a cada consulta, de modo que sempre reflita os dados atuais nas tabelas base.

Não. Uma view executa sua instrução SELECT subjacente em cada chamada, portanto o desempenho corresponde à consulta original. MySQL Não possui visualizações materializadas e a velocidade ainda depende dos índices da tabela base.

Sim. Assistentes de IA em ferramentas como MySQL Workbench É possível elaborar uma instrução CREATE VIEW a partir de uma descrição. Verifique a lista de colunas e as chaves de junção antes de executá-la.

Em parte. A IA pode sinalizar colunas sensíveis, como números de cartão, e sugerir uma lista de colunas mais seguras. A decisão final ainda deve seguir a política de acesso a dados da sua organização.

Resuma esta postagem com: