Dasar View Dalam MySql Tugas Pertemuan 7

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

    Bagas Riatma Putera-211011401021


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, 'Putera', 'Bagas', 'x2303', 'bagasr@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, 'Putera', 'Bagas', 'x803', 'bagasr@gmail.com', 1, 1002, 'President');

menambahkan data
data pun berhasil di UPDATE



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

Komentar

Postingan populer dari blog ini

PERTEMUAN 12 Insight JOIN

Pertemuan 8 Praktikum basis data

PERTEMUAN 10 stored procedure if statment