Skip to content

Aktivitas Praktikum

Pada bagian ini, mahasiswa akan mempraktikkan secara langsung penggunaan view pada MySQL. Aktivitas disusun secara bertahap, mulai dari membuat view sederhana, memberi nama kolom pada view, menggunakan atribut algoritma, mencoba updatable view, menguji INSERT dan UPDATE, menerapkan WITH CHECK OPTION, mengubah definisi view, melihat definisi view, hingga menghapus view. Kerjakan setiap aktivitas secara berurutan agar fungsi dan perilaku view dapat dipahami dengan baik.

Sebelum mulai praktik, pastikan database PRAK2 sudah tersedia dan tabel employee masih ada dari pertemuan sebelumnya.

Aktivitas 1 — Menyiapkan Data Praktikum

Percobaan 1.1 — Mengaktifkan database kerja

USE PRAK2;

Gunakan perintah ini untuk memastikan seluruh percobaan dijalankan pada database yang benar.

Percobaan 1.2 — Menampilkan daftar tabel

SHOW TABLES;

Perintah ini digunakan untuk memastikan tabel employee sudah tersedia.

Percobaan 1.3 — Menampilkan seluruh data pada tabel employee

SELECT * FROM employee;

Perintah ini digunakan untuk melihat isi tabel employee yang akan digunakan sepanjang praktikum.

Aktivitas 2 — Membuat View Sederhana

Percobaan 2.1 — Membuat view sederhana

CREATE VIEW view1 AS
SELECT CONCAT(first_name, ' ', last_name), city FROM employee;

Perintah ini digunakan untuk membuat view sederhana yang menampilkan gabungan nama depan, nama belakang, dan kota dari tabel employee.

Percobaan 2.2 — Menampilkan isi view1

SELECT * FROM view1;

Perintah ini digunakan untuk melihat hasil dari view yang telah dibuat.

Aktivitas 3 — Membuat View dengan Nama Kolom Khusus

Percobaan 3.1 — Membuat view dengan alias kolom tetap

CREATE VIEW view2 (name, place) AS
SELECT CONCAT(first_name, ' ', last_name), city FROM employee;

Perintah ini digunakan untuk membuat view dengan nama kolom hasil yang ditentukan sendiri, yaitu name dan place.

Percobaan 3.2 — Menampilkan isi view2

SELECT * FROM view2;

Perintah ini digunakan untuk memastikan bahwa nama kolom hasil mengikuti definisi view.

Aktivitas 4 — Menggunakan Algorithm Attributes

Percobaan 4.1 — Membuat view dengan algoritma MERGE

CREATE ALGORITHM = MERGE VIEW v_merge (name, salary)
AS SELECT CONCAT(first_name, ' ', last_name), salary
FROM employee WHERE salary > 2000;

Perintah ini digunakan untuk membuat view dengan algoritma MERGE.

Percobaan 4.2 — Menampilkan isi v_merge

SELECT * FROM v_merge;

Percobaan 4.3 — Menambahkan kondisi baru pada query terhadap view

SELECT * FROM v_merge WHERE salary < 5000;

Perintah ini digunakan untuk menunjukkan bahwa query tambahan terhadap view dengan algoritma MERGE akan digabungkan dengan kondisi asli view.

Percobaan 4.4 — Mencoba MERGE pada view agregat

CREATE ALGORITHM = MERGE VIEW myView (city, number_of_employee) AS
SELECT city, COUNT(id) FROM employee GROUP BY city;

Percobaan ini digunakan untuk menunjukkan bahwa MERGE tidak dapat dipakai pada view yang menggunakan GROUP BY dan fungsi agregat.

Percobaan 4.5 — Melihat warning

SHOW WARNINGS;

Perintah ini digunakan untuk melihat pesan warning ketika MERGE tidak dapat digunakan.

Percobaan 4.6 — Membuat view agregat dengan TEMPTABLE

CREATE ALGORITHM = TEMPTABLE VIEW tempView (city, number_of_employee) AS
SELECT city, COUNT(id) FROM employee GROUP BY city;

Perintah ini digunakan untuk membuat view agregat dengan algoritma TEMPTABLE.

Percobaan 4.7 — Menampilkan isi tempView

SELECT * FROM tempView;

Aktivitas 5 — Mencoba Updatable View

Percobaan 5.1 — Menampilkan isi view2

SELECT * FROM view2;

Percobaan 5.2 — Mengupdate kolom yang masih dapat diubah

UPDATE view2 SET place = 'Canberra' WHERE place = 'Toronto';

Perintah ini digunakan untuk menunjukkan bahwa update pada view dapat diteruskan ke tabel dasar jika view masih memenuhi syarat updatable view.

Percobaan 5.3 — Menampilkan isi view2 setelah update

SELECT * FROM view2;

Percobaan 5.4 — Memeriksa perubahan pada tabel employee

SELECT * FROM employee WHERE city = 'Canberra';

Perintah ini digunakan untuk menunjukkan bahwa perubahan pada view juga mengubah data pada tabel dasar.

Aktivitas 6 — Menguji INSERT dan UPDATE pada View

Percobaan 6.1 — Mencoba INSERT ke view yang memiliki kolom turunan

INSERT INTO view2 VALUES ('Miss Marple', 'London');

Percobaan ini digunakan untuk menunjukkan bahwa INSERT tidak dapat dilakukan pada view yang memiliki kolom turunan seperti hasil CONCAT().

Percobaan 6.2 — Mencoba UPDATE pada kolom turunan

UPDATE view2 SET name = 'John Doe' WHERE name = 'James Bond';

Perintah ini digunakan untuk menunjukkan bahwa kolom turunan tidak dapat diupdate secara langsung.

Percobaan 6.3 — Mengupdate kolom yang bukan turunan

UPDATE view2 SET place = 'Toronto' WHERE place = 'Canberra';

Percobaan 6.4 — Menampilkan isi view2

SELECT * FROM view2;

Aktivitas 7 — Mencoba INSERT pada View yang Insertable

Percobaan 7.1 — Membuat view emp_high

CREATE VIEW emp_high AS
SELECT first_name, salary, city FROM employee WHERE salary < 4000;

Perintah ini digunakan untuk membuat view yang hanya menampilkan first_name, salary, dan city dengan syarat salary kurang dari 4000.

Percobaan 7.2 — Menampilkan isi emp_high

SELECT * FROM emp_high;

Percobaan 7.3 — INSERT data yang masih memenuhi kondisi view

INSERT INTO emp_high VALUES ('Marple', 3000, 'London');

Percobaan 7.4 — Menampilkan isi emp_high setelah insert

SELECT * FROM emp_high;

Percobaan 7.5 — INSERT data yang tidak memenuhi kondisi view

INSERT INTO emp_high VALUES ('John', 4500, 'London');

Percobaan 7.6 — Menampilkan isi emp_high setelah insert kedua

SELECT * FROM emp_high;

Percobaan 7.7 — Menampilkan isi tabel employee

SELECT * FROM employee;

Percobaan ini digunakan untuk menunjukkan bahwa data tetap masuk ke tabel dasar walaupun tidak lagi tampil pada view karena tidak memenuhi kondisi view.

Aktivitas 8 — Menggunakan WITH CHECK OPTION

Percobaan 8.1 — Membuat view v1

CREATE VIEW v1 AS
SELECT first_name, salary, city FROM employee WHERE salary < 3000
WITH CHECK OPTION;

Percobaan 8.2 — Membuat view v2 dengan LOCAL CHECK OPTION

CREATE VIEW v2 AS
SELECT * FROM v1 WHERE salary > 0 WITH LOCAL CHECK OPTION;

Percobaan 8.3 — Membuat view v3 dengan CASCADED CHECK OPTION

CREATE VIEW v3 AS
SELECT * FROM v1 WHERE salary > 0 WITH CASCADED CHECK OPTION;

Percobaan 8.4 — INSERT ke v2

INSERT INTO v2 VALUES ('Doe', 3500, 'Indonesia');

Perintah ini digunakan untuk menunjukkan bahwa LOCAL CHECK OPTION hanya memeriksa kondisi pada view saat ini.

Percobaan 8.5 — INSERT ke v3

INSERT INTO v3 VALUES ('Hancock', 3500, 'Jakarta');

Percobaan ini digunakan untuk menunjukkan bahwa CASCADED CHECK OPTION memeriksa seluruh rantai kondisi view yang dirujuk.

Aktivitas 9 — Mengubah View dengan ALTER VIEW

Percobaan 9.1 — Menampilkan isi view1

SELECT * FROM view1;

Percobaan 9.2 — Mengubah definisi view1

ALTER VIEW view1 (name, city) AS
SELECT CONCAT(first_name, ' ', last_name), city FROM employee;

Perintah ini digunakan untuk mengubah definisi dan nama kolom hasil view.

Percobaan 9.3 — Menampilkan kembali isi view1

SELECT * FROM view1;

Aktivitas 10 — Melihat Definisi dan Deskripsi View

Percobaan 10.1 — Melihat definisi pembuatan view

SHOW CREATE VIEW view1;

Perintah ini digunakan untuk melihat sintaks lengkap pembentukan view.

Percobaan 10.2 — Melihat deskripsi view1

DESC view1;

Percobaan 10.3 — Melihat deskripsi view2

DESC view2;

Percobaan 10.4 — Melihat deskripsi v_merge

DESC v_merge;

Aktivitas 11 — Menghapus View

Percobaan 11.1 — Menghapus view1

DROP VIEW view1;

Perintah ini digunakan untuk menghapus view yang telah dibuat.

Catatan Akhir Aktivitas

Seluruh percobaan pada halaman ini disusun mengikuti alur modul pertemuan 5, mulai dari pembuatan view sederhana, penamaan kolom hasil, penggunaan algoritma, pengujian updatable view, INSERT, UPDATE, WITH CHECK OPTION, ALTER VIEW, SHOW CREATE VIEW, DESC, hingga DROP VIEW. Dengan menyelesaikan seluruh aktivitas ini, mahasiswa diharapkan tidak hanya mampu membuat view, tetapi juga memahami perilaku view dalam berbagai kondisi penggunaan.