SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. SQL View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain yang sudah dibentuk dari kueri SQL yang telah ditentukan sebelumnya.
SQL View dibuat atau dibangun dengan SELECT statement. Di dalam query SELECT tersebut kita bisa menambahkan perintah ORDER BY untuk mengurutkan data atau tidak sama sekali.
SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan, mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Kegunaan VIEW
- Membuat struktur data sesuai dengan kebutuhan pengguna
- Menyembunyikan Kolom atau Baris sehingga pengguna hanya dapat melihat data tertentu
- Menyembunyikan Sintak SQL yang rumit
Keuntungan VIEW
- Kita dapat membatasi akses data dengan membuat view sesuai kebutuhan
- Memudahkan query yang kompleks karena tidak perlu membuat ulang query yang kompleks namun cukup memanggil view
- Untuk query yang rumit serta melibatkan ratusan tabel, VIEW bisa memberikan pengaruh besar dalam performa Database SQL
Membuat VIEW
VIEW dibuat menggunakan pernyataan CREATE VIEW . View dapat dibuat dari satu tabel, beberapa tabel atau tampilan lain.
Untuk membuat View, pengguna harus memiliki hak istimewa sistem yang sesuai dengan penerapan tertentu.
Sintaks dasar CREATE VIEW adalah sebagai berikut
CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
WITH CHECK OPTION
WITH CHECK OPTION adalah pilihan pernyataan CREATE VIEW. Tujuan dari WITH CHECK OPTION adalah untuk memastikan bahwa semua UPDATE dan INSERT memenuhi kondisi dalam definisi tampilan.
Berikut contoh pembuatan View CUSTOMERS_VIEW dengan ketentuan WITH CHECK OPTION.
CREATE VIEW CUSTOMERS_VIEW AS SELECT name, age FROM CUSTOMERS WHERE age IS NOT NULL WITH CHECK OPTION;
Dengan WITH CHECK OPTION maka SQL akan menolak masuknya nilai NULL yang measuk ke dalam kolom AGE pada View, karena View ditentukan oleh data yang tidak memiliki nilai NULL di kolom AGE.
Memperbarui VIEW
View dapat diperbarui dengan perintah CREATE OR REPLACE VIEW.
CREATE OR REPLACE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
Menghapus VIEW
View dihapus dengan perintah DROP VIEW.
DROP VIEW view_name;
Referensi
- https://www.w3schools.com/sql/sql_view.asp
- https://www.tutorialspoint.com/sql/sql-using-views.htm
- http://rizhaamanda.blogspot.com/2014/11/kegunaan-view-pada-sql.html