Senin, 18 Desember 2023

Memberikan tingkat pengalaman (Experience) berdasarkan nilai quantityInStock. pada Workbench

 Penggunaan MySQL memberikan berbagai wawasan yang dapat diakses, termasuk cara memberikan tingkatan pada produk berdasarkan jumlah pelanggan menggunakan database "classicmodels". Berikut Langkah - langkahnya :

1. Gunakan perintah USE untuk memilih database yang akan digunakan, Buat sebuah STORED PROCEDURE 



2. Lakukan pengujian apakah berhasil.


3. Lakukan pengujian apakah berhasil.



Dari hasil di atas maka dapat dilihat bahwa jika sales memiliki customer lebih dari 6 maka akan tercetak level Experienced atau berpengalaman sedangkan jika kurang dari 6 maka akan tercetak Newbie yang artinya pemula.




Kamis, 14 Desember 2023

Membuat Trigger pada MySQL

 Dalam menyisipkan sebuah data kita dapat melakukan sebuah fungsi yang secara otomatis terpanggil. Fungsi tersebut bernama TRIGGER. Berikut cara membuat TRIGGER dan Operasi-operasi yang dapat dilakukan pada trigger :


CREATE TRIGGER
Pertama-tama kita membuat tabel terlebih dahulu




Lalu buat triggernya

DROP TRIGGER
Setelah membuat, tentu saja kita dapat menghapusnya kembali. Yaitu dengan cara berikut :


 CREATE TRIGGER BEFORE INSERT
Sebelumnya sudah sempat disinggung bahwa sebuah Trigger terpanggil secara otomatis ketika dipicu oleh sebuah kejadian termasuk INSERT. Berikut contohnya :

CREATE TRIGGER AFTER INSERT
Trigger juga dapat dipicu setelah kejadian tertentu. Berikut contohnya :
1. Buat 2 tabel yang akan digunakan pada Trigger


2. Lalu buat triggernya









3. Berikut hasilnya ketika sudah dimasukkan 2 data



CREATE TRIGGER BEFORE UPDATE
Trigger juga dapat dipicu selain dari perintah INSERT tetapi dapat juga dari perintah UPDATE. Berikut contohnya :
1. Buat tabel dan input sejumlah data



2. Membuat triggernya. Yaitu trigger yang menghasilkan pesan error ketika data yang diinput lebih dari 3


3. Berikut hasilnya ketika sudah dimasukkan 2 data







CREATE TRIGGER BEFORE UPDATE
Trigger juga dapat dipicu selain dari perintah INSERT tetapi dapat juga dari perintah UPDATE. Berikut contohnya :
1. Buat tabel dan input sejumlah data


2. Membuat triggernya. Yaitu trigger yang menghasilkan pesan error ketika data yang diinput lebih dari 3

CREATE TRIGGER AFTER UPDATE
Selanjutnya adalah after update. Berikut contohnya :
1. Buat 2 tabel baru dan masukkan beberapa data pada 1 tabelnya


2. Membuat trigger agar setelah update mencetak tanggal dilakukan perubahan pada data


3. Melakukan pengujian apakah trigger berhasil dipanggil




CREATE TRIGGER BEFORE DELETE
Sebelum melakukan penghapusan data, kita juga dapat menyisipkan sebuah trigger. Berikut contohnya :
1. Buat 1 tabel baru dan masukkan beberapa data di dalamnya


2. Membuat trigger dimana seorang user yang memiliki hak ases Admin tidak bisa dihapus


3. Mencoba menghapus data.


Dapat dilihat bahwa user yang memiliki useraccess user dapat dihapus sedangkan Admin tidak bisa

CREATE TRIGGER AFTER DELETE
Kita dapat melakukan sesuatu jika kita telah selesai menghapus sebuah data. Berikut contohnya :
1. Buat 2 tabel baru dan masukkan beberapa data pada 1 tabelnya


2. Selanjutnya adalah pembuatan trigger untuk melihat data apa saja yang sudah dihapus


3. Pengujian apakah terigger terpicu ketika data dihapus



CREATE MULTIPLE TRIGGER
Selain membuat trigger untuk dipicu pada kejadian tertentu, trigger juga dapat dipicu oleh trigger lain. Berikut contohnya :
1. Buat 3 tabel baru


2. Masukkan data pada salah satu tabel

3. Membuat Dua trigger. Trigger yang pertama dibuat secara normal, untuk trigger yang kedua diberi tambahan berupa follow. Yang artinya trigger ini terpicu ketika suatu trigger dipicu


4. Tampilan sebelum adanya perubahan data


5. Setelah dilakukannya UPDATE pada salah satu data pada userdata maka di bagian userdata_logs dan userdata_history secara otomatis mencetak id user yang diubah datanya.





SHOW TRIGGER
Setelah membuat banyak sekali Trigger kita dapat melihat daftar trigger apa saja yang telah kita buat dengan perintah SHOW TRIGGERS.





























































Senin, 11 Desember 2023

Perintah IF dan CASE pada MySQL

 Pada MySPada MySQL, kita dapat menyisipkan perintah kondisi atau percabangan melalui perintah IF dan CASE. Tentu saja, perintah ini dibungkus dengan PROCEDURE untuk membuatnya lebih mudah digunakan. 

IF 

Perintah IF digunakan di sini. Jika ada lebih dari satu kondisi yang dibutuhkan, kita dapat menggunakan perintah IF-ELSE.





Berikut selanjutnya 







CASE
Penerapan :




Hasil :















Sabtu, 09 Desember 2023

Perintah Procedure pada MySQL Workbench

 Kita dapat menyimpan kumpulan perintah dengan sebuah perintah PROCEDURE. PROCEDURE memiliki peran yang kurang lebih sama dengan Function(fungsi) dalam pemrogramman. Di dalamnya dapat berupa sekumpulan perintah dan variabel yang disimpan. Cara menggunakan PROCEDURE ini cukup dengan menggunakan perintah CALL untuk memanggilnya. Berikut cara membuat serta operasi-operasi yang dapat dilakukan dengan PROSEDURE :


1. Membuat PROCEDURE



2. DELIMITER pada PROCEDURE juga dapat diubah.



3.Pada PROCEDURE, kita juga dapat menambahkan sebuah variabel.



4. Kita juga dapat menggunakan sebuah parameter. Sehingga dapat digunakan sesuai dengan kondisi yang diinginkan



5. Jika ada kesalahan pada pembutan PROCEDURE atau kita ingin mengubahnya, maka kita dapat menggunakan perintah Alter pada MySQL Workbench. Dengan klik kanan pada PROCEDURE yang sebelumnya sudah dibuat. Jika sudah pilih Apply.


6. Jika sudah tidak memerlukan sebuah PROCEDURE lagi kita dapat menghapusnya, yaitu dengan perintah DROP.



7. Untuk melihat sebuah PROCEDURE terhapus atau tidak dan melihat semua PROCEDURE yang ada kita dapat menggunakan SHOW.










Operasi pada MySQL

 

MEMBUAT VIEW

Untuk menampilkan data tertentu yang sering kita gunakan dapat dengan perintah view. Perintah VIEW seperti membuat tabel baru dengan beberapa data yang kita pilih baik dari 1 tabel ataupun 2 tabel. Berikut Perintah untuk memilih data dari dua tabel yang berbeda :




untuk membuat VIEW :




mengubah VIEW kita dapat menggunakan perintah CREATE OR UPDATE atau ALTER pada bagian syntaxnya. Kita perlu diperhatikan bahwa VIEW hanya dapat dibuat 1 kali saja, maka jika kalian menjalanan perintah CREATE VIEW untuk kedua kalinya maka akan terjadi error.



Dapat juga menggunkaan perintah AS pada VIEW seperti berikut :




Jika sebuah VIEWsudah tidak diperlukan lagi, maka dapat dihapus dengan perintah sebagai berikut :



MENGGANTI ISI FIELD YANG ADA DI VIEW

Selanjutnya adalah mengganti isi data dari VIEW. Syntax yang digunakan untuk mengganti isi datanya tidak berbeda dari perintah yang biasanya yaitu menggunakan UPDATE. Akan tetapi untuk mengganti data yang ada di VIEW diperlukan beberapa ketentuan, karena data dari VIEW merupakan data asli dari tabel yang dipilih. jika persyaratan tidak terpenuhi maka akan tampil pesan erorr seperti dibawah :



Untuk dapat mengganti isi data/ field tersebut salah satu persyaratannya adalah mengubah ALGORITHM sebuah view menjadi MERGE, maka akan dapat diubah pada VIEW dan akan berubah juga pada tabel aslinya.



Kita dapat menambahkan data ke dalam VIEW yang nantinya juga akan masuk ke tabel yang dipilih.

dapat melakukan hapus data.



Akan tetapi data yang dihapus hanya data yang sebelumnya kita input tadi, untuk data yang lain tidak bisa. Karena di dalam masing-masing tabel terdapat primary key dan foreign key. Dan untuk setiap data yang ada di tabel sudah merupakan foreign key di tabel lain.

VIEW WITH CHECK OPTION

Pertama buat kembali tabel view, dengan perintah CREATE OR REPLACE.




Kemudian kita akan mencoba memasukkan sebuah data




Akan tetapi data tersebut tidak masuk ke dalam VIEW. Seperti yang telah kita jalankan perintah sebelumnya bahwa VIEW yang kita buat menggunakankata kunci WHERE country = 'USA' yang artinya VIEW hanya mengambil data yang isi dari kolom countrynya adalah USA, sedangkan data yang kita masukkan sebelumnya adalah Rajeg. Oleh karena itu datanya tidak tampil. Akan tetapi data yang kita masukan tadi tetap masuk ke dalam tabel aslinya (Di dalam kasus ini di tabel offices).

Ini merupakan hal serius jika terjadi di lingkup perusahaan. Dimana sebuah user dapat memasukkan data ke bukan data pengguna. Oleh karena itu terdapat perintah WITH CHECK OPTION yang berfungsi untuk memeriksa apakah data yang diinput sesuai dengan VIEW. Contohnya dapat dilihat pada gambar dibawah :