SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Visualização de criação do SQLite


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

O que é uma visualização


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

Você pode acessar os dados das tabelas subjacentes por meio de uma exibição. As tabelas às quais a consulta na definição de exibiçã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 as 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 INSERT , DELETE e UPDATE instruções para atualizar dados nas tabelas base por meio da exibição.

SQLite CREATE VIEW declaração


Para criar uma visualização, você usa o CREATE VIEW declaração da seguinte forma:
CREATE [TEMP] VIEW [IF NOT EXISTS] view_name[(column-name-list)]
AS 
   select-statement;Code language: SQL (Structured Query Language) (sql)

Primeiro, especifique um nome para a exibição. O IF NOT EXISTS A opção só cria uma nova visualização se ela não existir. Se a visão já existe, ela não faz nada.

Segundo, use o TEMP ou TEMPORARY opção se desejar que a visualização seja visível apenas na conexão de banco de dados atual. A exibição é chamada de exibição temporária e o SQLite remove automaticamente a exibição temporária sempre que a conexão com o banco de dados é fechada.

Terceiro, especifique um SELECT declaração para a vista. Por padrão, as colunas da visualização derivam do conjunto de resultados do SELECT demonstração. No entanto, você pode atribuir os nomes das colunas de exibição que são diferentes do nome da coluna da tabela

SQLite CREATE VIEW exemplos


Vamos dar alguns exemplos de criação de uma nova visualização usando o CREATE VIEW demonstração.

1) Criando uma visualização para simplificar uma consulta complexa


A consulta a seguir obtém dados das tracks , albums , media_types e genres tabelas no banco de dados de amostra usando a cláusula de junção interna.
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;Code language: SQL (Structured Query Language) (sql)

Tente

Para criar uma exibição com base nessa consulta, você usa 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;Code language: SQL (Structured Query Language) (sql)

Tente

A partir de agora, você pode usar a seguinte consulta simples em vez da complexa acima.
SELECT * FROM v_tracks;Code language: SQL (Structured Query Language) (sql)

Tente

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


A instrução a seguir cria uma visualização chamada v_albums que 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;
Code language: SQL (Structured Query Language) (sql)

Neste exemplo, especificamos novas colunas para a visualização AlbumTitle para o albums.title coluna e Minutos para a expressão SUM(milliseconds) / 60000

Esta consulta retorna dados do v_albums visualizar:
SELECT * FROM v_albums;Code language: SQL (Structured Query Language) (sql)

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