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.