MySQL Visualizações: como criar visualizações a partir de tabelas com exemplos

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.

Como criar visualizações em MySQL

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 estabeleçam que o departamento de contas só pode ver o número, nome e sexo do membro na tabela do membro. Para conseguir 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

Somente as colunas autorizadas do departamento de contas 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

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.

Colocando 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 `;

Por que usar visualizações?

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

  • Em última análise, você usará seu SQL conhecimento, para criar aplicações, que utilizarão um banco de dados para requisitos de dados. É recomendado que você use VIEWS da estrutura da tabela original em seu aplicativo em vez de usar as próprias tabelas. Isso garante que quando você refatorar seu banco de dados, seu código legado verá o esquema original por meio da visualização sem interromper o aplicativo.
  • 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.

Resumo

  • As visualizações são tabelas virtuais; eles não contêm os dados retornados. Os dados são armazenados nas tabelas referenciadas na instrução SELECT.
  • As visualizações melhoram a segurança do banco de dados, mostrando apenas os dados pretendidos aos usuários autorizados. Eles escondem dados confidenciais.
  • As visualizações facilitam a vida, pois você não precisa escrever consultas complexas repetidamente.
  • É possível usar INSERT, UPDATE e DELETE em uma VIEW. Estas operações irão alterar as tabelas subjacentes da VIEW. A única consideração é que VIEW deve conter todas as colunas NOT NULL das tabelas às quais faz referência. Idealmente, você não deve usar VIEWS para atualização.

Boletim informativo diário Guru99

Comece o seu dia com as últimas e mais importantes notícias sobre IA entregues agora mesmo.