Kursus
Administrator basis data dan pengguna basis data menghadapi dua tantangan: menulis kueri SQL yang kompleks dan mengamankan akses ke basis data. Terkadang kueri SQL menjadi lebih rumit karena penggunaan banyak join, subkueri, dan GROUP BY dalam satu kueri.
Untuk menyederhanakan kueri seperti itu, Anda dapat menggunakan semacam proksi atas tabel asli. Selain itu, dari sisi keamanan, administrator basis data terkadang ingin membatasi akses langsung ke basis data. Misalnya, jika sebuah tabel berisi berbagai kolom tetapi pengguna hanya memerlukan tiga kolom data, DBA akan membuat tabel virtual dengan tiga kolom tersebut. Untuk kedua tujuan ini, Anda dapat menggunakan view. View dapat bertindak sebagai proksi atau tabel virtual. View mengurangi kompleksitas kueri SQL dan menyediakan akses aman ke tabel dasar.
Apa itu View?
View adalah versi khusus dari tabel dalam SQL. View menyediakan lingkungan tabel virtual untuk berbagai operasi yang kompleks. Anda dapat memilih data dari beberapa tabel, atau memilih data tertentu berdasarkan kriteria tertentu dalam view. View tidak menyimpan data aktual; view hanya menyimpan definisi view di kamus data.

View adalah kueri yang disimpan di kamus data, yang dapat dikueri pengguna seperti halnya pada tabel. View tidak menggunakan memori fisik, hanya kuerinya yang disimpan di kamus data. View dihitung secara dinamis setiap kali pengguna menjalankan kueri terhadapnya. Perubahan yang dilakukan pada view mana pun akan tercermin pada tabel dasar sebenarnya.
Secara umum, view memiliki dua tujuan utama:
- Menyederhanakan kueri SQL yang kompleks.
- Memberikan pembatasan kepada pengguna untuk mengakses data sensitif.

Jenis-jenis View
- Simple View: View yang berdasarkan satu tabel saja, yang tidak mengandung klausa
GROUP BYdan fungsi apa pun. -
Complex View: View yang berdasarkan beberapa tabel, yang mengandung klausa
GROUP BYdan fungsi. -
Inline View: View yang berdasarkan subkueri dalam klausa
FROM, di mana subkueri tersebut membuat tabel sementara dan menyederhanakan kueri kompleks. -
Materialized View: View yang menyimpan definisi sekaligus data. View ini membuat replika data dengan menyimpannya secara fisik.

Simple View

Complex View


Inline View
Inline view adalah pernyataan SELECT dalam klausa FROM dari pernyataan SELECT lain untuk membuat tabel sementara yang dapat direferensikan oleh pernyataan SELECT tersebut. Inline view dimanfaatkan untuk menulis kueri SQL yang kompleks tanpa operasi join dan subkueri. Disebut tabel sementara karena salinan duplikat data yang dikembalikan oleh subkueri yang disimpan tidak disimpan di basis data. Di Oracle dan komunitas Postgres, tabel sementara ini disebut inline view. Ini juga disebut subselect.

Materialized View
Materialized view mereplikasi data yang diambil secara fisik. Data replikasi ini dapat digunakan kembali tanpa menjalankan view lagi. Jenis view ini juga dikenal sebagai "SNAPSHOTS". Materialized view mengurangi waktu pemrosesan untuk membangkitkan ulang seluruh data. View ini membantu pengguna jarak jauh untuk mereplikasi data secara lokal dan meningkatkan kinerja kueri. Tantangan utamanya adalah menyinkronkan perubahan pada tabel dasar materialized view.


Perbandingan antara View dan Materialized View

Membuat dan Menghapus View di SQL
View dapat dibuat dan diganti menggunakan CREATE VIEW dan REPLACE VIEW.

View dapat dihapus menggunakan perintah DROP VIEW.

Kelebihan dan Kekurangan View
View dapat dimanfaatkan sebagai subset dari data aktual untuk melakukan operasi tertentu. View membantu memberikan abstraksi kepada berbagai pengguna atau menyembunyikan kompleksitas bagi pengguna yang mengakses data dari tabel. Misalnya, seorang pengguna memiliki izin untuk mengakses kolom data tertentu alih-alih seluruh tabel. View dapat membantu menyederhanakan kueri kompleks menjadi lebih sederhana. View juga menyederhanakan akses data dari beberapa tabel yang di-join. View dapat digunakan sebagai tabel teragregasi menggunakan operasi group by. View dapat digunakan untuk tujuan keamanan atau menambah nilai dari sisi keamanan. View tidak memerlukan ruang penyimpanan karena hanya memiliki definisi di kamus data, bukan salinan data sebenarnya.
Selain banyak kelebihan, view juga memiliki beberapa kekurangan seperti ketergantungan pada struktur tabel dasar, waktu komputasi, dan pembatasan. View bergantung pada struktur tabel. Jika Anda mengubah struktur tabel, maka Anda harus mengubah definisi view yang terkait.
Kesimpulan
Selamat, Anda telah mencapai akhir dari tutorial ini!
Dalam tutorial ini, Anda telah mempelajari banyak hal tentang View. Anda telah mempelajari apa itu View, jenis-jenis View, Simple View, Complex View, Inline View, Materialized View, sintaks untuk membuat dan menghapus view, serta kelebihan dan kekurangannya.
Sekarang manfaatkan konsep View untuk menganalisis dataset Anda sendiri. Terima kasih telah membaca tutorial ini!
Jika Anda ingin mempelajari lebih lanjut tentang SQL, ikuti kursus Introduction to Relational Databases in SQL kami.
