PRAKTIKUM VIEW

Bismillah, hai teman-teman! 

Kali ini kita saya akan menunjukkan praktikum view menggunakan Laragon dan phpMyAdmin.


Di dalam MySQL, View dapat didefenisikan sebagai ‘tabel virtual’. Tabel ini bisa berasal dari tabel lain, atau gabungan dari beberapa tabel.

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).

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.

Latihan:
1Masuk ke command promt dan membuat membuat database beserta tabel-tabel sesuai perintah.


2. Mengisikan data ke dalam field pada tiap tabel



3. Membuat view pada phpMyAdmin. Masuk ke localhost/phpmyadmin. Kemudian masuk pada tabel mahasiswa yang telah dibuat sebelumnya. Pilih create view, kemudian isikan nama view vGetMhs dan isikan sebagai SELECT * FROM  'mahasiswa'; dan tekan Go.


4. Menghapus view vgetmhs. Dengan membuka view dan pilih Drop.


5. Membuat view vjoin. SELECT m.kode_mk, m.nama_mk, m.sks, m.semester, m.kode_dos FROM matakuliah m LEFT JOIN ambil_mk a ON m.kode_mk = a.kode_mk WHERE a.kode_mk IS NULL



6. Membuat nested view dengan nama view vmk. SELECT * FROM matakuliah


7. Membuat view vmk5. SELECT * FROM vmk WHERE semester = 5




8. Membuat updateable view dengan nama view vupdate. SELECT * FROM mahasiswa; dan melakukan perubahan update pada view vupdate. UPDATE 'vupdate' SET alamat = "Jl. Mangga" WHERE nim = "107"



10. Mendefinisikan updatable view pada view vmkoption dengan penggunaan check option. SELECT * FROM matakuliah WHERE sks < 2




11. Mendefinisikan nested view pada view vmklocal dengan local check option. jangan lupa check optionnya pilih yang local ya ges! SELECT * FROM vmkoption WHERE sks > 0



12. Mendefinisikan nested view pada view vmkcascaded dengan cascaded check option. jangan lupa check optionnya pilih yang cascaded ya ges! SELECT * FROM vmkoption WHERE sks > 0




13. Kemudian eksekusi perintah insert pada vmklocal dengan value kode_mk (PTI999), nama_mk (Statistika), sks (2), semester (4), kode_dos (12).

14. Kemudian eksekusi perintah insert pada vmkcascaded dengan value kode_mk (PTI998), nama_mk (Workshop Jaringan Komputer), sks (3), semester (5), kode_dos (14).

15. Hasilnya akan error. 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:
1. Mendefinisikan view untuk mendapatkan data mahasiswa yang hanya mengambil sks lebih dari 2 sks.




2. Mendefinisikan dosen yang mengajar mahasiswa beserta jumlah mahasiswa yang diajar.



(mohon maaf karena ini belum selesai, dikarenakan masih terjadi error. ketika saya ingin mendefinisikan ternyata terkendala pada bagian "group by" dan masih ingin mencari tahu terkait ini. saat itu saya mengatasi hal tersebut menggunakan "only_full_group_by". setelahnya justru saya mendapatkan "truncated incorrect double value". saya sudah mencari tahu dan mencoba membenahi , sayangnya belum bisa. ingin mencoba mengedit type data bigint pada total_mahasiswa menjadi type data varchar, namun sayangnya saya belum bisa mengubahnya, karena letaknya di bagian view (vpraktikum2)).

3. Mendefinisikan nested view dari tugas praktikum nomor 2 hanya dosen yang mengajar mahasiswa terbanyak.

(mohon maaf, karena ini masih berhubungan dengan soal nomor dua. insya Allah akan segera diatasi kembali).

Tugas Rumah:
1. Mendefinisikan 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.









2. Mendefinisikan updateable view dengan local check option untuk mendapatkan data matakuliah dengan sks diantara 1 dan 4.




Terima kasih! ^^

Komentar

Postingan populer dari blog ini

Cara Membuat Database Kasir dan Tabel Menggunakan Laragon

Cara Mengarsipkan Berkas pada Google Drive

Praktikum Data Manipulation Language (DML) dengan Laragon