View dapat didefinisikan sebagai tabel maya (virtual) atau logical yang terdiri dari himpunan hasil query. Tidak seperti pada umumnya tabel di dalam basis data relasional, view bukanlah bagian dari skema fisik. View bersifat dinamis, ia mengandung data dari tabel yang direpresentasikannya. Dengan demikian, ketika tabel yang menjadi sumber datanya berubah, data di view juga akan berubah.
Merujuk pada dokumentasi MySQL,sintaks pendefinisian view diperlihatkan sebagai berikut :
Updatable View
View dapat berisi read-only atau updatable. Kondisi ini sangat dipengaruhi oleh adanya pendefinisian view itu sendiri. Bagaimanapun, untuk menciptakan updatable view, pernyataan SELECT yang didefinisikan di view harus mengikuti aturan-aturan sebagai berikut :
- Pernyataan SELECT tidak boleh merujuk ke lebih dari satu tabel.
- Pernyataan SELECT tidak boleh menggunakan klausa GROUP BY atau HAVING.
- Pernyataan SELECT harus tidak menggunakan DISTINCT.
- Pernyataan SELECT harus tidak merujuk ke view lain yang tidak updatable.
- Pernyataan SELECT tidak boleh mengandung ekspresi apa pun, misalnya fungsi agregat.
Pada hakikatnya, jika sistem database mampu menentukan pemetaan balik dari skema view ke skema tabel dasar, maka view memungkinkan untuk di update. Dalam kondisi ini, operasi-operasi INSERT, UPDATE dan DELETE dapat diterapkan pada view.
Sebagaimana disinggung di awal, view dapat bersifat updatable .
Untuk mengetahui lebih jelasnya, perhatikan dan ikuti langkah-langkah berikut:
a. Buatlah view sederhana sebagai berikut:
b. Periksa hasilnya
c. Lakukan perintah update pada view vUpdate
d. Periksa hasilnya pada view vUpdate
e. Periksa record dari tabel mahasiswa
f. Terlihat bahwa modifikasi di view vUpdate akan memengaruhi data di tabel mahasiswa.
View Kompleks
View dapat mendefinisikan suatu pernyataan yang kompleks, misalnya melibatkan fungsi-fungsi agregat,join atau bahkan subquery. Sebagai ilustrasi view berikut melibatkan join untuk mendapatkan matakuliah yang tidak diambil oleh mahasiswa terdaftar.
a. Buat view “vJOIN” dengan query sebagai berikut:
b. Eksekusi pembuatan view
c. Buka view vjoin
d. Tampilan vjoin
Nested View
Umumnya view diciptakan dengan mengacu pada tabel (seperti contoh-contoh sebelumnya). Namun juga tak menutup kemungkinan bagi kita untuk menciptakan view yang mengacu pada view. Pendekatan inilah yang dikenal sebagai view bersarang (nested view).
a. Buatlah view vMK seperti pada gambar di bawah ini:
b. Eksekusi pembuatan view
c. Buatlah view vMK5 seperti pada gambar di bawah ini:
d. Eksekusi pembuatan view
e. Lakukan Browse pada vMK5
f. Lakukan Browse pada vMK5
0 komentar:
Posting Komentar