Praktikum basis Data View

 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.

  • Pilih Creat view


  •   Isikan seperti di bawah ini


  • Pilih “GO”
  • Buka view yang sudah dibuat sebelumnya



  • Menampilkan Query View

  • Memodifikasi View 
  • Masuk pada tab “Structure” dari view vGetMhs


  • Menghapus View 


  • 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

Postingan populer dari blog ini

Cara Membuat Database dan Table Menggunakan Aplikasi Laragon

PRAKTIKUM DCL