Ringkasan :dalam tutorial ini, Anda akan belajar bagaimana menggunakan SQLite CREATE VIEW
pernyataan untuk membuat tampilan baru dalam database.
Apa itu tampilan
Dalam teori basis data, tampilan adalah kumpulan hasil dari kueri yang disimpan. Tampilan adalah cara untuk mengemas kueri ke dalam objek bernama yang disimpan dalam database.
Anda dapat mengakses data tabel yang mendasarinya melalui tampilan. Tabel yang dirujuk oleh kueri dalam definisi tampilan disebut tabel dasar.
Tampilan berguna dalam beberapa kasus:
- Pertama, tampilan memberikan lapisan abstraksi di atas tabel. Anda dapat menambah dan menghapus kolom dalam tampilan tanpa menyentuh skema tabel yang mendasarinya.
- Kedua, Anda dapat menggunakan tampilan untuk merangkum kueri kompleks dengan gabungan untuk menyederhanakan akses data.
Tampilan SQLite hanya bisa dibaca. Artinya Anda tidak dapat menggunakan INSERT
, DELETE
, dan UPDATE
pernyataan untuk memperbarui data di tabel dasar melalui tampilan.
SQLite CREATE VIEW
pernyataan
Untuk membuat tampilan, Anda menggunakan CREATE VIEW
pernyataan sebagai berikut:
CREATE [TEMP] VIEW [IF NOT EXISTS] view_name[(column-name-list)]
AS
select-statement;
Code language: SQL (Structured Query Language) (sql)
Pertama, tentukan nama untuk tampilan. IF NOT EXISTS
opsi hanya membuat tampilan baru jika tidak ada. Jika tampilan sudah ada, tidak ada apa-apa.
Kedua, gunakan TEMP
atau TEMPORARY
opsi jika Anda ingin tampilan hanya terlihat di koneksi database saat ini. Tampilan tersebut disebut tampilan sementara dan SQLite secara otomatis menghapus tampilan sementara setiap kali koneksi database ditutup.
Ketiga, tentukan SELECT
pernyataan untuk tampilan. Secara default, kolom tampilan berasal dari kumpulan hasil SELECT
penyataan. Namun, Anda dapat menetapkan nama kolom tampilan yang berbeda dari nama kolom tabel
SQLite CREATE VIEW
contoh
Mari kita ambil beberapa contoh membuat tampilan baru menggunakan CREATE VIEW
pernyataan.
1) Membuat tampilan untuk menyederhanakan kueri yang kompleks
Kueri berikut mendapatkan data dari tracks
, albums
, media_types
dan genres
tabel dalam database sampel menggunakan klausa 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;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Untuk membuat tampilan berdasarkan kueri ini, Anda menggunakan pernyataan berikut:
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)
Cobalah
Mulai sekarang, Anda dapat menggunakan kueri sederhana berikut daripada kueri kompleks di atas.
SELECT * FROM v_tracks;
Code language: SQL (Structured Query Language) (sql)
Cobalah
2) Membuat tampilan dengan nama kolom khusus
Pernyataan berikut membuat tampilan bernama v_albums
yang berisi judul album dan panjang album dalam menit:
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)
Dalam contoh ini, kami menetapkan kolom baru untuk tampilan AlbumTitle
untuk albums.title
kolom dan Menit untuk ekspresi SUM(milliseconds) / 60000
Kueri ini mengembalikan data dari v_albums
lihat:
SELECT * FROM v_albums;
Code language: SQL (Structured Query Language) (sql)
Dalam tutorial ini, Anda telah mempelajari tentang tampilan database dan cara menggunakan CREATE VIEW
pernyataan untuk membuat tampilan baru di SQLite.