Mengontrol Akses Data Dengan Tampilan di SQL

Basis data tampilan mengurangi kompleksitas pengalaman pengguna akhir dan membatasi akses pengguna ke data yang terdapat dalam tabel database. Pada dasarnya, tampilan menggunakan hasil a kueri basis data untuk secara dinamis mengisi isi tabel database virtual.

Mengapa Menggunakan Tampilan?

Ada dua alasan utama untuk memberi pengguna akses ke data melalui tampilan daripada memberi mereka akses langsung ke tabel database:

  • Tampilan memberikan keamanan granular yang sederhana. Gunakan tampilan untuk membatasi data yang boleh dilihat pengguna dalam tabel. Misalnya, jika Anda memiliki tabel karyawan dan ingin memberi beberapa pengguna akses ke catatan karyawan penuh waktu, Anda bisa membuat tampilan yang hanya berisi catatan tersebut. Ini jauh lebih mudah daripada alternatif (membuat dan memelihara tabel bayangan) dan memastikan integritas data.
  • Tampilan menyederhanakan pengalaman pengguna. Tampilan menyembunyikan detail kompleks tabel database Anda dari pengguna akhir yang tidak perlu melihatnya. Jika pengguna membuang konten tampilan, mereka tidak akan melihat kolom tabel yang tidak dipilih oleh tampilan dan mereka mungkin tidak mengerti. Ini melindungi mereka dari kebingungan yang disebabkan oleh kolom bernama buruk, pengidentifikasi unik, dan
    instagram viewer
    kunci meja.

Membuat Tampilan

Membuat tampilan cukup mudah: Cukup buat kueri yang berisi batasan yang ingin Anda terapkan dan letakkan di dalam perintah CREATE VIEW. Berikut sintaks umumnya:

BUAT VIEW viewname AS

Misalnya, untuk membuat tampilan karyawan tetap, jalankan perintah berikut:

BUAT TAMPILAN penuh waktu SEBAGAI
PILIH first_name, last_name, employee_id
DARI karyawan
WHERE status='FT';

Memodifikasi Tampilan

Mengubah konten tampilan menggunakan sintaks yang sama persis dengan pembuatan tampilan, tetapi gunakan perintah ALTER VIEW alih-alih perintah CREATE VIEW. Misalnya, untuk menambahkan batasan ke tampilan penuh waktu yang menambahkan nomor telepon karyawan ke hasil, jalankan perintah berikut:

ALTER VIEW penuh waktu SEBAGAI
PILIH first_name, last_name, employee_id, telepon
DARI karyawan
WHERE status='FT';

Menghapus Tampilan

Sangat mudah untuk menghapus tampilan dari database menggunakan perintah DROP VIEW. Misalnya, untuk menghapus tampilan karyawan tetap, gunakan perintah berikut:

DROP VIEW penuh waktu; 

Tampilan vs. Tampilan Terwujud

View adalah tabel virtual. SEBUAH tampilan terwujud adalah tampilan yang sama yang ditulis ke disk dan diakses seolah-olah itu adalah tabel dalam dirinya sendiri.

Saat Anda menjalankan kueri terhadap tampilan, kueri sekunder yang menjadi sumber tampilan dijalankan secara real-time, lalu hasil tersebut diumpankan kembali ke kueri utama asli. Jika tampilan Anda sangat kompleks, atau kueri utama Anda memerlukan banyak gabungan hash di antara beberapa tabel dan tampilan, kueri utama Anda akan dijalankan dengan kecepatan kura-kura.

Tampilan terwujud mempercepat eksekusi kueri karena berfungsi sebagai kueri pra-kompilasi yang ditulis ke disk dan karenanya dieksekusi secepat tabel. Namun, tampilan yang terwujud hanya sebagus prosedur acara yang menyegarkannya. Dalam jangka panjang, dengan perawatan yang baik, tampilan yang terwujud mempercepat segalanya dengan sedikit trade-off dalam waktu penyegaran lag, tanpa perlu sekelompok tabel bayangan yang mungkin menjadi tidak aktif dan memakan ruang disk atau mencari pertanyaan orang lain Tidak pantas.