Resumo : neste tutorial, você aprenderá como usar a CREATE VIEW
instruçã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
, DELETE
e UPDATE
para atualizar dados nas tabelas base por meio da visualização.
CREATE VIEW
Instrução SQLite
Para criar uma visualização, você usa a CREATE VIEW
instruçã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 EXISTS
opçã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 TEMP
ou TEMPORARY
se 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 SELECT
instrução para a visualização. Por padrão, as colunas da visualização derivam do conjunto de resultados da SELECT
instrução. No entanto, você pode atribuir nomes às colunas da visualização diferentes do nome da coluna da tabela
CREATE VIEW
Exemplos de SQLite
Vejamos alguns exemplos de criação de uma nova visualização usando a CREATE VIEW
instrução.
1) Criando uma visão para simplificar uma consulta complexa
A consulta a seguir obtém dados das tabelas tracks
, albums
e media_types
no genres
banco 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 )
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 )
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 )
2) Criando uma visualização com nomes de colunas 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;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, especificamos novas colunas para a visualização AlbumTitle
da albums.title
coluna e Minutos para a expressãoSUM(milliseconds) / 60000
Esta consulta retorna dados da v_albums
visualizaçã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 VIEW
instrução para criar novas visualizações no SQLite.