PRAKTIKUM VIEW
Nama : Juliana Sari
Nim : 223100305
Prodi : Sistem Informasi
Assalamualaikum wr.wb , pada pertemuan kali ini kita akan melakukan uji coba praktikum VIEW.
Perhatikan pada gambar tugas berikut :
Dari modul yang akan kita lakukan uji coba langsung saja
Panduan serta langkah-langkah ada pada modul tersebut!
1. Himpunan Entitas
Dalam latihan ini, digunakan 5 buah tabel yaitu tabel mahasiswa, matakuliah, ambil_mk, dosen, dan jurusan. Langkah pertama yang akan kita lakukan yaitu kita harus membuat database baru terlebih dahulu baru kemudian 5 tabel beserta recordnya.
Seperti ini :
- Selanjutnya lakukan select untuk melihat isinya.
2. Pembuatan view ( Dengan menggunakan terminal di laragon )
View adalah objek di dalam database yang berisi kumpulan kolom yang dihasilkan dari Perintah select. Dengan kata lain yang lebih sederhana, view adalah object yang menyimpan hasil query, baik dari satu tabel atau lebih, didalam database view juga sering dinamakan sebagai “tabel virtual” , karena view sebenarnya tidak memiliki data. Data yang ditampilkan oleh sebuah view diambil dari tabel-tabel aktual yang disertakan dalam SELECT.
Tujuan dari pembuatan VIEW adalah untuk kenyamanan (mempermudah penulisan query), untuk keamanan (menyembunyikan beberapa kolom yang bersifat rahasia), atau dalam beberapa kasus bisa digunakan untuk mempercepat proses menampilkan data (terutama jika kita akan menjalankan query tersebut secara berulang).
Disini kita akan melakukan percobaan untuk membuat view.
- Perintah "CREATE VIEW" tersebut menandakan bahwa kita akan membuat sebuah view dengan nama "vgetmhs". View tersebut akan menampilkan kolom nim, nama, jenis_kelamin, dan alamat dari tabel mahasiswa.
- Selanjutnya yaitu perintah "select *from vgetmhs" yaitu menampilkan sebuah data yang ada dalam view "vgetmhs".
seperti ini :
- Perintah "SHOW CREATE VIEW vgetmhs" akan menampilkan definisi view "vgetmhs", termasuk perintah SQL yang digunakan untuk membuat view tersebut.
seperti ini :
- Perintah "alter view vgetmhs as select nim, nama, alamat from mahasiswa where nim > 1;" artinya yaitu mengubah definisi view "vgetmhs" agar hanya menampilkan baris dengan nilai kolom nim yang lebih besar dari 1.
seperti ini :
- Selanjutnya karena ini hanya percobaan maka kita hapus terlebih dahulu dengan perintah DROP.
seperti ini :
A. View Kompleks
View kompleks adalah jenis view yang melibatkan operasi- operasi kompleks seperti fungsi agregat, subquery, atau operasi join dalam definisinya. View kompleks memungkinkan pengguna untuk menghasilkan subset atau transformasi data yang lebih kompleks dari tabel yang mendasarinya. Hal ini memberikan fleksibilitas dan kemampuan untuk melakukan manipulasi data yang lebih lanjut menggunakan view tersebut.
- Query tersebut akan membuat sebuah view yang disebut "vjoin" dengan menggunakan operasi join antara tabel "matakuliah" dan "ambil_mk". View ini mengambil kolom-kolom tertentu dari tabel "matakuliah" dan menggunakan left join untuk menggabungkanya dengan tabel "ambil_mk". Selanjutnya, menggunakan klausul WHERE, hanya baris-baris yang tidak memiliki kecocokan dalam join (a.kode_mk is null) yang akan ditampilkan dalam view ini. Dengan begitu, view ini akan menampilkan matakuliah yang tidak diambil oleh mahasiswa.
- Selanjutnya kita menggunakan perintah select untuk menampilkan semua data yang ada dalam view "vjoin".
seperti ini :
B. Nested View
Adalah istilah yang mengacu pada penggunaan view di dalam definisi view lainnya. Dalam konteks ini, view yang sudah ada digunakan sebagai salah satu komponen atau subquery dalam definisi view yang baru.
Contoh :
- create view vmk as select kode_mk, nama_mk, sks, semester, kode_dos, from matakuliah;
* Perintah ini akan membuat view baru dengan nama "vmk". View ini akan mengambil kolom- kolom kode_mk, nama_mk, sks, semester, kode_dos, from matakuliah.
- create view vmk5 as select vmk.kode_mk, vmk.nama_mk, vmk.sks, vmk.semester, vmk.kode_dos, ambil_mk.nim from vmk join ambil_mk on vmk.kode_mk = ambil_mk.kode_mk where semester = 5;
* Perintah tersebut akan membuat view baru dengan nama "vmk5". View ini akan menggabungkan kolom-kolom dari view "vmk" dan tabel "tabel_mk" dengan kondisi join antara kolom "kode_mk" pada kedua entitas. Hanya data dengan nilai "semester" sama dengan 5 yang akan diambil.
- Selanjutnya jalankan perintah select untuk melihat hasilnya sesuai dengan
seperti ini :
C. Updatabel View
Updatable view adalah jenis view yang memungkinkan anda melakukan operasi insert, update, dan delete pada data melalui view tersebut. Dengan view yang dapat diubah, anda dapat memodifikasi data di tabel yang mendasarinya melalui view tanpa perlu mengakses tabel secara langsung. Anda dapat menggunakan perintah insert, update, dan delete pada view untuk memperbarui data yang sesuai dalam tabel yang mendasarinya. Updatable view memberikan fleksibilitas dalam mengelola dan memanipulasi data dengan cara yang lebih terstruktur.
Contoh :
- create view vupdate as select nim, nama, jenis_kelamin, alamat from mahasiswa;
* Perintah tersebut berarti kita akan membuat view baru bernama "vupdate" yang akan menampilkan kolom nim, nama, jenis_kelamin, dan alamat dari tabel mahasiswa.
- Kemudian, perintah "select*from vupdate" akan menampilkan data dari view tersebut.
seperti ini :
- update vupdate set alamat = "Jl. Mangga" where nim = "107";
* Query tersebut bertujuan untuk mengubah nilai kolom "alamat" pada baris dengan nilai "nim" yang sama dengan "107" dalam view "vupdate" menjadi "Jl. Mangga".
- Selanjutnya jalankan perintah select untuk melihat hasilnya sesuai dengan
seperti ini :
3. Pembuatan View ( Melalui Local Host PhpMyAdmin )
- Masuk ke localhost/PhpMyAdmin
- Masuk ke tabel mahasiswa di database yang sudah dibuat sebelumnya.
- Pilih Create view
- Isikan seperti di bawah ini
- Pilih GO
- Buka view yang sudah dibuat sebelumnya
- Menghapus View
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
4. 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 dibawah ini :
b. Eksekusi pembuatan view
c. Buatlah view vMK5 seperti pada gambar dibawah ini :
d. Eksekusi pembuatan view
e. Lakukan Browse pada vMK5
5. Updatable View
Sebagaimana disinggung di awal, view dapat bersifat updatable. Untuk mengetahui lebih jelasnya, perhatikan dan ikuti langkah-langkah berikut:
a. Buatlah view sederhana sebagai serikut :
b. Periksa hasilnya, apakah view sudah terbuat atau belum
c. Lakukan perintah update pada view vUpdate
d. Periksa hasilnya pada view vUpdate dan periksa record dari tabel mahasiswa
6. Check Option
Pada saat menciptakan updatable view, MySQL mengizinkan kita untuk menspesifikasikan bagaimana parser akan bekerja. Langkah ini dilakukan dengan mengaktifkan CHECK OPTION. Sederhananya, opsi ini mengakibatkan parser mereview klausa WHERE ketika memproses pernyataan update di view.
Ada dua jenis keyword yang bisa digunakan saat aktivasi check option: LOCAL dan CASCADED. Keyword LOCAL membatasi pemeriksaan hanya sebatas pada view yang didefinisikan, sedangkan mencakup semua view yang terkait misalkan dalam kasus nested view.
Untuk mengetahui penggunaan check option, perhatikan langkah-langkah berikut:
a. Definisikan Updatable view sebagai berikut:
b. Definisikan nested view dengan Local Check Option sebagai berikut:
d. Eksekusi perintah Insert pada vmklocal
e. Eksekusi perintah Insert pada vmkcascade
f. Penambahan pada view vMkCascade gagal dilaksanakan karena terhambat oleh rule opsi CASCADED dimana view induk (vMkOption) menyaratkan bahwa sks harus kurang dari 2.
- TUGAS PRAKTIKUM
- Definisikan view dosen yang mengajar mahasiswa beserta jumlah mahasiswa yang diajar!
- Definisikan nested view dari tugas praktikum nomor 2 hanya dosen yang mengajar mahasiswa terbanyak!
Jika ingin menggunakan phpMyAdmin seperti dibawah ini :
- Definisiskan view dosen yang mengajar mahasiswa beserta jumlah mahasiswa yang diajar!
- Definisikan nested view dari tugas praktikum nomor 2 hanya dosen yang mengajar mahasiswa terbanyak!
- TUGAS RUMAH
- Definisikan nested view untuk mendapatkan data mahasiswa yang jenis kelaminnya laki-laki dengan main view berupa mahasiswa yang mengambil sembarang matakuliah yang sksnya lebih dari sks terkecil!
Jika ingin menggunakan phpMyAdmin seperti dibawah ini :
- Buat view sksterkecil terlebih dahulu
- Setelah itu baru buatlah view mahasiswa laki-laki
- BERIKUTNYA
- Definisikan updatable view dengan local check option untuk mendapatkan data matakuliah dengan sks diantara 1 dan 4.
Jika ingin menggunakan phpMyAdmin seperti dibawah ini :
Terimakasih wassalamualaikum wr.wb.
seee uuuuuu
Komentar
Posting Komentar