SQLite Criar Visualização

Resumo : neste tutorial, você aprenderá como usar a CREATE VIEWinstrução SQLite para criar uma nova visualização no banco de dados.

O que é uma visão

Na teoria do banco de dados, uma visualização é um conjunto de resultados de uma consulta armazenada . Uma visualização é a maneira de compactar uma consulta em um objeto nomeado armazenado no banco de dados.

Você pode acessar os dados das tabelas subjacentes por meio de uma visualização. As tabelas às quais a consulta na definição da visualização se refere são chamadas de tabelas base.

Uma visualização é útil em alguns casos:

  • Primeiro, as visualizações fornecem uma camada de abstração sobre as tabelas. Você pode adicionar e remover colunas na visualização sem tocar no esquema das tabelas subjacentes.
  • Segundo, você pode usar visualizações para encapsular consultas complexas com junções para simplificar o acesso aos dados.

A visualização SQLite é somente leitura. Isso significa que você não pode usar instruções INSERT, DELETEUPDATEpara atualizar dados nas tabelas base por meio da visualização.

CREATE VIEWInstrução SQLite

Para criar uma visualização, você usa a CREATE VIEWinstrução da seguinte forma:

CREATE [TEMP] VIEW [IF NOT EXISTS] view_name[(column-name-list)]
AS 
   select-statement;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Primeiro, especifique um nome para a visualização. A IF NOT EXISTSopção só cria uma nova visualização se ela não existir. Se a visualização já existir, ela não fará nada.

Segundo, use a opção TEMPou TEMPORARYse desejar que a visualização fique visível apenas na conexão atual do banco de dados. A visualização é chamada de visualização temporária e o SQLite remove automaticamente a visualização temporária sempre que a conexão com o banco de dados é fechada.

Terceiro, especifique uma  SELECTinstrução para a visualização. Por padrão, as colunas da visualização derivam do conjunto de resultados da SELECTinstrução. No entanto, você pode atribuir nomes às colunas da visualização diferentes do nome da coluna da tabela

CREATE VIEWExemplos de SQLite

Vejamos alguns exemplos de criação de uma nova visualização usando a CREATE VIEWinstrução.

1) Criando uma visão para simplificar uma consulta complexa

A consulta a seguir obtém dados das tabelas tracks, albumse media_typesno genresbanco de dados de exemplo usando a cláusula inner join .

SELECT
   trackid,
   tracks.name,
   albums.Title AS album,
   media_types.Name AS media,
   genres.Name AS genres
FROM
   tracks
INNER JOIN albums ON Albums.AlbumId = tracks.AlbumId
INNER JOIN media_types ON media_types.MediaTypeId = tracks.MediaTypeId
INNER JOIN genres ON genres.GenreId = tracks.GenreId;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

Exemplo de MySQL CREATE VIEW

Para criar uma visualização baseada nesta consulta, use a seguinte instrução:

CREATE VIEW v_tracks 
AS 
SELECT
	trackid,
	tracks.name,
	albums.Title AS album,
	media_types.Name AS media,
	genres.Name AS genres
FROM
	tracks
INNER JOIN albums ON Albums.AlbumId = tracks.AlbumId
INNER JOIN media_types ON media_types.MediaTypeId = tracks.MediaTypeId
INNER JOIN genres ON genres.GenreId = tracks.GenreId;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

De agora em diante, você pode usar a seguinte consulta simples em vez da complexa acima.

SELECT * FROM v_tracks;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

2) Criando uma visualização com nomes de colunas personalizados

A instrução a seguir cria uma visualização chamada v_albumsque contém o título do álbum e a duração do álbum em minutos:

CREATE VIEW v_albums (
    AlbumTitle,
    Minutes
)
AS
    SELECT albums.title,
           SUM(milliseconds) / 60000
      FROM tracks
           INNER JOIN
           albums USING (
               AlbumId
           )
     GROUP BY AlbumTitle;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, especificamos novas colunas para a visualização AlbumTitleda albums.titlecoluna e Minutos para a expressãoSUM(milliseconds) / 60000

Esta consulta retorna dados da v_albumsvisualização:

SELECT * FROM v_albums;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, você aprendeu sobre visualizações de banco de dados e como usar a CREATE VIEWinstrução para criar novas visualizações no SQLite.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *