Mengenal View di SQL: Pengertian, Manfaat, dan Cara Membuatnya

 
Mengenal View di SQL: Pengertian, Manfaat, dan Cara Membuatnya

Pengertian View di SQL

Dalam SQL, view merupakan sebuah tabel virtual yang berfungsi untuk menampilkan data berdasarkan hasil dari query SQL. View tidak menyimpan data secara fisik, melainkan menyimpan definisi query yang dapat digunakan untuk mengambil data dari satu atau lebih tabel yang mendasarinya. Dengan kata lain, view bertindak sebagai layer abstraksi yang memungkinkan kita untuk menyederhanakan query yang kompleks tanpa harus menulis ulang kode query berulang kali.

Cara Membuat View di SQL

Untuk membuat view di SQL, kita menggunakan perintah CREATE VIEW. Perintah ini diikuti oleh nama view yang ingin dibuat dan definisi query yang mendasari view tersebut. Berikut adalah contoh sintaks dasar untuk membuat view:

CREATE VIEW nama_view AS
SELECT kolom1, kolom2
FROM nama_tabel
WHERE kondisi;


Contohnya, jika kita ingin membuat view untuk menampilkan data pelanggan dari tabel pelanggan dengan kondisi bahwa mereka berasal dari kota tertentu, kita bisa menggunakan query berikut:

CREATE VIEW ViewOrders AS
SELECT order_id, customer_id
FROM orders
WHERE status = pending';


View ini akan menampilkan order_id dan customer_id yang berstatus pending.

Kegunaan View di SQL

View memiliki berbagai kegunaan yang penting dalam SQL, antara lain:
  1. Mempermudah query kompleks: Dengan menggunakan view, kita dapat menyederhanakan query yang kompleks menjadi lebih mudah dibaca dan digunakan kembali.
  2. Meningkatkan keamanan data: View memungkinkan pengguna untuk mengakses subset data tertentu tanpa harus memberikan akses penuh ke seluruh tabel.
  3. Manajemen akses: View bisa digunakan untuk memberikan izin akses yang berbeda kepada pengguna, misalnya hanya menampilkan kolom-kolom tertentu sesuai kebutuhan.

Keuntungan Menggunakan View

Menggunakan view di SQL memberikan beberapa manfaat, di antaranya:
  1. Abstraksi dari query kompleks: View memungkinkan kita untuk menyimpan query kompleks dalam bentuk sederhana, yang bisa digunakan berulang kali tanpa perlu menulis ulang query.
  2. Peningkatan keamanan: View dapat membantu membatasi akses pengguna hanya pada data yang relevan, melindungi kolom sensitif dari pengguna yang tidak berwenang.
  3. Performa yang lebih baik: View memungkinkan database untuk mengoptimalkan query di belakang layar, terutama jika view didasarkan pada tabel-tabel besar.

Perbedaan View dengan Tabel

Secara fundamental, view dan tabel fisik di SQL memiliki perbedaan penting:
  • Tabel menyimpan data secara fisik di dalam database, sementara view hanya menyimpan query yang menghasilkan data ketika dipanggil.
  • Data pada tabel bersifat statis hingga dimodifikasi, sementara view selalu menampilkan data yang dihasilkan oleh query terbaru, sehingga datanya bisa berubah tergantung kondisi.
  • Modifikasi data biasanya dilakukan langsung pada tabel, sedangkan view lebih digunakan untuk menampilkan data.

Jenis-Jenis View di SQL

Terdapat beberapa jenis view yang umum digunakan dalam SQL, yaitu:
  1. Simple view: View yang dihasilkan dari satu tabel, tanpa fungsi agregat atau perhitungan rumit.
  2. Complex view: View yang melibatkan beberapa tabel, dengan join atau fungsi agregat.
  3. Materialized view: Berbeda dengan view biasa, materialized view menyimpan hasil query secara fisik di database, sehingga dapat meningkatkan performa pada query yang sering diakses.

Mengupdate Data Melalui View

Dalam beberapa kasus, kita bisa mengupdate data melalui view, namun ada batasannya. Misalnya, jika view hanya didasarkan pada satu tabel tanpa fungsi agregat, kita bisa melakukan operasi INSERT, UPDATE, atau DELETE pada view, dan perubahan tersebut akan diteruskan ke tabel asli. Namun, jika view kompleks atau melibatkan beberapa tabel, operasi ini biasanya tidak diizinkan.

Contoh update data melalui view:
UPDATE ViewOrders
SET status = ' Completed '
WHERE customer_id = ' 103 ';

Membuat View dengan Kondisi Filter

View juga bisa dibuat dengan kondisi tertentu menggunakan klausa WHERE untuk memfilter data. Sebagai contoh:
CREATE VIEW ViewOrders AS
SELECT order_id, customer_id
FROM orders
WHERE status = ' Completed ';


View ini hanya menampilkan orders yang memiliki status completed.

Keamanan dengan View di SQL

Dalam hal keamanan, view dapat digunakan untuk memberikan akses terbatas kepada pengguna. Sebagai contoh, kita bisa membuat view yang hanya menampilkan kolom-kolom tertentu yang relevan, sehingga data sensitif seperti informasi pribadi atau finansial tidak ditampilkan kepada pengguna yang tidak berwenang. Hal ini bisa membantu mengamankan data tanpa harus mengubah struktur tabel.

Menghapus dan Mengubah View

Jika kita perlu menghapus view, perintah DROP VIEW digunakan. Misalnya:
DROP VIEW ViewOrders;
 
Untuk mengubah view yang sudah ada, kita bisa menggunakan perintah ALTER VIEW:
ALTER VIEW ViewOrders AS
SELECT order_id, customer_id, total_amount
FROM orders
WHERE status = ' Completed ';
 
Perintah ini memperbarui view dengan menambahkan kolom total_amount pada hasil query.
Dengan demikian, penggunaan view dalam SQL mempermudah pengelolaan data, meningkatkan keamanan, dan menyederhanakan query yang kompleks.