Friday, December 8, 2023

PENGANTAR PERTANYAAN 

  MYSQL CREATE TRIGGER

 

Pertama, buat tabel baru dengan nama employees_audituntuk menyimpan perubahan pada employeestabel:

CREATE TABLE employees_audit (
    id INT AUTO_INCREMENT PRIMARY KEY,
    employeeNumber INT NOT NULL,
    lastname VARCHAR(50) NOT NULL,
    changedat DATETIME DEFAULT NULL,
    action VARCHAR(50) DEFAULT NULL
);Bahasa kode:  SQL (Bahasa Kueri Terstruktur)  ( sql )

Selanjutnya, buat BEFORE UPDATEpemicu yang dipanggil sebelum perubahan dilakukan pada employeestabel.

CREATE TRIGGER before_employee_update 
    BEFORE UPDATE ON employees
    FOR EACH ROW 
 INSERT INTO employees_audit
 SET action = 'update',
     employeeNumber = OLD.employeeNumber,
     lastname = OLD.lastname,
     changedat = NOW();Bahasa kode:  SQL (Bahasa Kueri Terstruktur)  ( sql )

Di dalam badan pemicu, kami menggunakan OLDkata kunci untuk mengakses nilai kolom employeeNumber dan lastnamebaris yang dipengaruhi oleh pemicu.

Lalu, tampilkan semua pemicu di database saat ini dengan menggunakan SHOW TRIGGERSpernyataan:

SHOW TRIGGERS;Bahasa kode:  SQL (Bahasa Kueri Terstruktur)  ( sql )
MySQL CREATE TRIGGER - tampilkan pemicu

Selain itu, jika Anda melihat skema menggunakan MySQL Workbench di bawah Employee > triggers , Anda akan melihat  before_employee_updatepemicunya seperti yang ditunjukkan pada gambar di bawah:

MySQL membuat contoh pemicu

Setelah itu, perbarui satu baris dalam employeestabel:

UPDATE employees 
SET 
    lastName = 'Phan'
WHERE
    employeeNumber = 1056;Bahasa kode:  SQL (Bahasa Kueri Terstruktur)  ( sql )

Terakhir, kueri employees_audittabel untuk memeriksa apakah pemicu dipicu oleh UPDATEpernyataan:


SELECT * FROM employees_audit;


ini outputnya




Saturday, November 18, 2023

Procedure Stored MySQL IF Statement

NIKO SALOMO - 211011401004

Procedure Stored MySQL IF Statement 

 Langkah - Langkah IF Statement pada MySQL

1. Open Phpmyadmin anda dan pastikan anda sudah mempunyai database.

Disini saya menggunakan database yang sudah ada.





2. Setelah itu ketik syintak seperti dibawah ini untu membuat stored procedure if ,setelah itu klik go.

DELIMITER $$

CREATE PROCEDURE GetCustomerLevel(

    IN  pCustomerNumber INT, 

    OUT pCustomerLevel  VARCHAR(20))

BEGIN

    DECLARE credit DECIMAL(10,2) DEFAULT 0;

    SELECT creditLimit 

    INTO credit

    FROM customers

    WHERE customerNumber = pCustomerNumber;

    IF credit > 50000 THEN

        SET pCustomerLevel = 'PLATINUM';

    END IF;

END$$

DELIMITER ;






3. Jika hasilnya seperti dibawah ini maka berhasil 





4. Untuk mengeceknya lagi pilih " Routines "




5. Setelah itu kita cek credit limit yang memiliki lebih dari 50.000. tuliskan syintak seperti dibawah ini 


SELECT 

    customerNumber, 

    creditLimit

FROM 

    customers

WHERE 

    creditLimit > 50000

ORDER BY 

    creditLimit DESC;







6. Maka akan menampilkan nilai yang lebih dari 50.000




7. Jika credit di atas 50.000 maka akan mendapat level " Platinum " dan tuliskan syintak seperti ini lalu klik go

CALL GetCustomerLevel(141, @level);

SELECT @level;

Friday, November 10, 2023

Basic MySQL Stored Procedure

 

Basic MySQL Stored Procedure

Berikut adalah langkah-langkah membuat basic MySQL stored procedure: 1. Hubungkan ke database MySQL Kita dapat menggunakan perintah mysql untuk menghubungkan ke database MySQL. Misalnya, untuk menghubungkan ke database bernama mydb, Kita dapat menggunakan perintah berikut:
2.Buat stored procedure Gunakan perintah CREATE PROCEDURE untuk membuat stored procedure. Perintah ini memiliki sintaks berikut:
Dimana: [nama_stored_procedure] adalah nama stored procedure. [parameter1_name], [parameter2_name], ... adalah parameter yang dapat digunakan untuk passing data ke stored procedure. [parameter1_type], [parameter2_type], ... adalah tipe data dari parameter. [instruksi SQL] adalah instruksi SQL yang akan dijalankan oleh stored procedure. 3.Deklarasi parameter Parameter adalah variabel yang dapat digunakan untuk passing data ke stored procedure. Parameter dapat berupa variabel lokal atau variabel global. Untuk deklarasi parameter lokal, gunakan sintaks berikut:
4.Membuat instruksi SQL Instruksi SQL adalah perintah yang akan dijalankan oleh stored procedure. Instruksi SQL dapat berupa perintah DML (Data Manipulation Language), DDL (Data Definition Language), atau PL/SQL. 5.Mengembalikan nilai Jika stored procedure perlu mengembalikan nilai, kita dapat menggunakan pernyataan RETURN. 6.Menyimpan stored procedure Untuk menyimpan stored procedure, gunakan perintah COMMIT. 7.Memanggil stored procedure Untuk memanggil stored procedure, gunakan perintah CALL. Berikut adalah contoh cara membuat stored procedure untuk menghitung total penjualan:
Untuk memanggil stored procedure ini, Anda dapat menggunakan perintah berikut:
Output dari query ini adalah:

Friday, October 20, 2023

Dasar View Dalam My Sql 



                 Oktober 20, 2023

 

Dasar View MySql (CREATE VIEW, UPDATE VIEW, dan UPDATE WITH)

Nama : Niko Salomo
Nim : 211011401004
Kelas : 05TPLE009

Pada kali pertemuan kali ini kita akan belajar tentang "View"dalam MySql dan untuk pembelajaran kali ini kita masih menggunakan database yang sama seperti kemarin yakni database employees_db

     Dalam konteks SQL (Structured Query Language), "view" adalah objek database yang menyediakan tampilan virtual dari satu atau lebih tabel dalam database. View adalah hasil dari query SQL yang disimpan sebagai objek database, dan biasanya digunakan untuk menyederhanakan akses dan manipulasi data dalam database.

Untuk itu langsung saja masuk ke praktek yang pertama yakni untuk mengambil data melalui perintah sql :

Sebagai contoh kasus disini saya ingin melihat data order dan melihat jumlah order , artinya disini kita membutuhkan ordernumber, productname(melihat apa yang diorder), quantityorder(melihat banyaknya order),priceEach(melihat harga) dan seluruh data tersebut ada dalam dua tabel yakni tabel orderdetails dan tabel product maka kita gunakan sqlcode

"SELECT ordernumber, productname, quantityOrdered, priceEach,(untuk membanggil 3 data)

FROM orderdetails NATURE JOIN products;", untuk menggabungkan kedua tabel tersebut .Maka ketika diRUN akan tampil seperti berikut,


setelah data tampil disini kita akan membuat view berupa isi data tadi dengan codeSql berikut:

CREATE VIEW vOrderProduct AS ;



dan view order yang kita buat tadi dapat kita lihat di bar navigator/view



untuk mengganti nama view kita bisa menggunakan codeSql berikut

CREATE OR REPLACE VIEW vOrderPruduct AS SELECT orderNumber, productName, quantityOrdered, priceEach * priceEach AS subtotal FROM orderdetails NATURAL JOIN products; Maka priceEach berubah nama menjadi subtotal


Lalu jika ingin menghapus view maka digunakan codeSql berikut :

DROP VIEW vOrderProduct ; maka view vOrderProduct pun terhapus

b. Update View

Dalam MySQL, "UPDATE VIEW" mengacu pada proses pembaruan data dalam sebuah pandangan (view) yang telah dibuat sebelumnya. Sebuah view adalah hasil dari query yang dibuat untuk menghasilkan tampilan virtual dari satu atau beberapa tabel dalam database. View memungkinkan Anda untuk melihat data dari satu atau lebih tabel dengan cara yang telah ditentukan sebelumnya, tanpa perlu mengubah data yang sebenarnya di tabel-tabel tersebut.

untuk itu sebagai contoh langsung saja kita praktekan ketika kita ingin membuat view pada tabel offices dan ingin melakukan perubahan(update) pada bagian city, langkah pertama kita buat terlebih dahulu view nya dengan cara berikut :
CREATE OR REPLACE ALGORITHM = MARGE VIEW v_office1 AS
SELECT officeCode, city, phone
FROM offices;




disini kita akan melakukan perubahan atau update pada officeCode 2 merubahnya menjadi city "Jakarta" maka codeSql nya ialah :
UPDATE v_office1 SET city='jakarta'
WHERE officeCode ='2'; makan pada officeCode 2 telah berubah city yang awalnya boston menjadi jakarta.



Berikutnya kita juga dapat menambahkan data sebagai contoh disini saya menambahkan data pada officeCode 7 dengan city Wonogiri maka codeSql nya ialah 
INSERT INTO v_office1 
VALUES(8, 'Wonogiri', '+62 838 1698 9633')


namun pada keterangan disini warning dikarenakan terdapat type data NOT_NULL yang tidak disini maka diaction terdapat logo warning.


berikutnya kita juga dapat menghapus data dengan cara :
DELETE FROM v_office1
WHERE officeCode='11'
  
data 8 sudah terhapus

c.UPDATE WITH

Pada MySQL, ketika Anda ingin melakukan pembaruan (UPDATE) pada sebuah VIEW yang memiliki klausa WITH CHECK OPTION, itu mengacu pada penggunaan pembatasan tambahan saat melakukan pembaruan pada VIEW tersebut. Pembatasan ini memastikan bahwa data yang dimasukkan atau diperbarui melalui VIEW memenuhi kriteria atau kondisi yang telah ditentukan dalam VIEW tersebut.

Penggunaan WITH CHECK OPTION berguna dalam situasi di mana Anda ingin memastikan bahwa pembaruan yang dilakukan pada VIEW akan mengikuti aturan atau filter yang didefinisikan dalam VIEW. Jika data yang ingin dimasukkan atau diperbarui melalui VIEW tidak memenuhi kondisi yang telah ditentukan, operasi UPDATE atau INSERT akan ditolak.

Singkatnya jika kita menggubakan UPDATE WITH CHECK OPTION dan ingin merubah pada officeCode=1 (orang orang yang memiliki officeCode 1) maka perubahan atau operasi UPDATE dan INSERT hanya dapat dilakukan pada orang orang yang memiliki officeCode 1, selain itu maka akan ditolak disini saya akan praktekkan akses yang diterima dan ditolak :
Pertama kita akan mengguankan codeSql 

CREATE OR REPLACE VIEW v_employee1 AS
SELECT * FROM employees
WHERE officeCode=1
WITH CHECK OPTION;
artinya kita membuat view dengan nama v_employee1 dan menampilkan data yang hanya memiliki officeCode 1


v_employee1


kemudian kita kan melakukan perubahan/update , misalkan :
INSERT INTO v_empolyee1
VALUES(600545, 'Mulyana', 'Achmad', 'x2303', 'Achmadm@gmail.com', 2, 1111, 'Kartap');




disini gagal karena tadi kita sudah memberi ketetapan bahwa kita hanya mengubah data yang hanya mempumya officeCode 1, dan kasus diatas pada kolom officeCode 2 maka akses pun akan ditolak,

Berikutnya kita coba dengan codeSql yang sesuai dengan ketetapan WITH CHECK OPTION :
INSERT INTO v_employee1
VALUES(1011, 'Mulyana', 'Achmad', 'x803', 'Achmadm@gmail.com', 1, 1002, 'President');


menambahkan data

data pun berhasil di UPDATE




Sekian pada pertemuan kali ini, sampai berjumpa dipertemuan berikutnya :)

Friday, September 29, 2023

TUGAS PRAKTIKUM BASIS DATA PERTEMUAN-3




NIKO SALOMO            

211011401004

05TPLE009


Melakukan Pengisian data, Update, dan menghapus data pada table didalam MySQL dengan menggunakan syntax

- buka lembar kerja pada MySQL workbench


- pilih menu database, connect to database.

setelah itu masukan: create database Tugas;
                                 use Tugas;
                                -- membuat table 1  barang (sebagai komentar)
                                create table barang (
                                nama varchar(20),
                                Id_barang char(10),
                                harga int
);
kemudian execute (dengan menekan gambar petir)


- setelah itu masukan data tabel ke-2
create table kategori (
kode int auto_increment primary key,
nama varchar (20)
);  
catatan: - auto_increment digunakan untuk mengurutkan tabel data yang dibuat secara otomatis
kemudian execute


- jika sudah imputkan show  tables; 
- kemudian execute untuk melihat tebel data yang anda buat seperti digambar ini.


- untuk melakukan menambahkan data pada tabel anda ketikan: 
        alter table barang
        add kategori(sebagai data tambahan) int;
kemudian execute


- untuk melihat data tabel yang sudah anda buat dan anda tambahkan ketik : 
             describe barang;
- maka tampilan di layar komputer anda akan menampilkan tabel barang yang sudah anda buat.

- untuk memodifikasi jenis data yang ada didalam tabel anda dapat melakukan : 
            alter table barang
            modify nama varchar(50)
- kemudian execute

- sesudah anda execute ketika anda ketikan kembali 
        describe barang;
- pada bagian Type varchar yang sebelumnya (20) sudah menjadi (50).


- unruk melakukan delete pada data dalam tabel anda dapat menggunakan DROP yang disertai data       yang ingin di hapus. untuk menghapus data dapat dilakukan :
        alter table barang
        drop stok;
- kemudian execute

- untuk mengecek apakah sudah berhasil ketikan
        describe barang; kemudian execute
- pada gambar dibawah penghapusan data dalam tabel sudah berhasil.

- untuk melakukan pengisian data pada table dapat dilakukan dengan mengimputkan INSERT INTO
 contoh : insert into kategori(nama) 
               values('celana'),('jaket'),('switer');


- dan ketika anda masukan select * from kategori; maka data pada table kategori sudah terisi


- hal serupa juga anda lakukan untuk mengisi data pada table barang
- ketikan : insert into barang
                 values('Kemeja','pb001','125000','1'); 
- catatan : mengisi data pada values harus sesuai urutan pada daftar tabel.
- kemudian execute

- setelah itu ketikan kembali select * from barang; untuk melihat data yang baru saja diisi


- dan lakukan sebanyak yang anda mau.

untuk melakukan update anda dapat masukan : 
        update barang
        set harga = '90000'
        where Id_barang = 'pb003';
catatan : where digunakan agar data yang anda ganti tidak menyeuruh ke semua data yang ada.


dan masukan select * from barang;
maka data pada harga sudah berubah menjadi '90000'

Demikian cara melakukan membuat, mengisian data, Update, dan menghapus data menggunakan MySQL dengan syntac

PRATIKUM-BASIS-DATA PENGANTAR PERTANYAAN    MYSQL CREATE TRIGGER - Desember 05, 2023  ...