Nama : Angga Dwi Wahyudi
NIM : 223100317
Prodi : Sistem Informasi
Assalamualaikum wr.wb, Pada kesempatam kali ini kita akan mencoba melakukan praktikum view.
Untuk modul yang digunakan bisa di klik link disamping klik disini
Panduan dan 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. Pertama yang kita lakukan yaitu kita harus membuat database baru kemudian 5 tabel beserta recordnya.
- Selanjutnya lakukan select untuk melihat isinya.
2. Pembuatan View (dengan terminal di laragon)
View adalah objek dalam database yang menampilkan hasil dari query atau pernyataan SQL tertentu. View adalah hasil dari query yang dieksekusi pada tabel atau objek lain dalam database. View tidak menyimpan data secara fisik, tetapi merupakan representasi virtual dari data yang ada dalam tabel atau objek lain.
Dengan menggunakan view, kita dapat mengatur dan mempresentasikan data dari satu atau lebih tabel dalam format yang lebih sederhana dan terstruktur. View juga memungkinkan Anda untuk menyembunyikan rincian kompleksitas query dan memberikan akses terkontrol ke data dengan mengizinkan pengguna untuk melihat atau mengubah data hanya sesuai dengan definisi view.
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 semua data yang ada dalam view "vgetmhs"
- Perintah "SHOW CREATE VIEW vgetmhs" akan menampilkan definisi view "vgetmhs", termasuk perintah SQL yang digunakan untuk membuat view tersebut.
- 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.
- Selanjunya karena ini percobaan maka kita hapus terlebih dahulu dengan perintah drop
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.
Contoh :
- 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 menggabungkannya 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 demikian, view ini akan menampilkan matakuliah yang tidak diambil oleh mahasiswa.
- Selanjutnya kita menggunakan perintah select untuk menampilkan semua data yang ada dalam view "vjoin"
B. NESTED VIEW
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", dan "kode_dos" dari tabel "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 berikan akan membuat view baru dengan nama "vmk5". View ini akan menggabungkan kolom-kolom dari view "vmk" dan tabel "ambil_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 gambar
C. UPDATABLE 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.
- 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".
3. Pembuatan View (melalui local host php my admin)- Masuk ke Localhost/PHPMyAdmin/
- Masuk ke tabel mahasiswa di database yang sudah dibuat sebelumnya.
- Isikan seperti di bawah ini
- Pilih “GO”
- Buka view yang sudah dibuat sebelumnya
- Memodifikasi View
- Masuk pada tab “Structure” dari view vGetMhs
- Pilih “Drop” pada view yang akan dihapus
3. 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
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 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
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 berikut:
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
e. Terlihat bahwa modifikasi di view vUpdate akan memengaruhi data di 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
me-review 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. Defnisikan nested view dengan Local Check Option sebagai berikut:
c. Defnisikan nested view dengan Cascaded 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 untuk mendapatkan data mahasiswa yang hanya mengambil sks
lebih dari 2 sks!
- 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 menggunakan phpmyadmin)
- Definisikan view untuk mendapatkan data mahasiswa yang hanya mengambil sks lebih dari 2 sks!
- 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!
## 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 menggunakan phpmyadmin)
- 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 menggunakan phpmyadmin)
Sekian, Terimakasih. Wassalamualaikum wr. wb.
Komentar
Posting Komentar