D. PRAKTIKUM
1. Himpunan Entitas
2. Menggunakan View
a. Ketikkan pernyataan pembuatan view vGetSiswa berikut:
3. View Kompleks
View dapat di definisikan suatu pernyataan yang kompleks, misalnya melibatkan fungsi
fungsi agregat, join bahkan subquery. Sebagai ilustrasi view berikut melibatkan join untuk
mendapatkan mata pelajaran yang tidak diambil oleh siswa terdaftar.
Pada pendekaan subquery, view di atas dapat kita tuliskan sebagai berikut:
CREATE VIEW vsubquery AS
SELECT * FROM mapel
WHERE kode_mapel NOT IN
(SELECT kode_mapel
RETNO XII RPL D 30 PRAKTIKUM VIEW
4. Nested View
a. Ketikkan pernyataan pembuatan view berikut
CREATE VIEW VMapel;
AS SELECT * FROM mapel;
b. Buat view baru yang merujuk pada view vMapel. Misalkan dengan tambahan predikat
semester = 5
CREATE VIEW vmapelBaru
AS SELECT * FROM vmapel
WHERE semester = 5;
5. Updatable View
a. Ketikkan pernyataan view sederhana berikut
CREATE VIEW VUpdate AS
SELECT * FROM siswa;
b. Periksa terlebih dahulu hasil pengambilan data
SELECT * FROM vupdate;
f. Terlihat bahwa modifikasi di view vUpdate akan mempengaruhi data di tabel siswa
E. LATIHAN SOAL
1. Buatlah view untuk mendapatkan nis dan nama siswa yang mengambil mapel di semester
3!
2. Buatlah view untuk mendapatkan nama guru yang mengajar mapel di semester 5!
JAWAB
1. tulis query
CREATE VIEW VNumber AS
SELECT siswa.nis, siswa.nama
FROM siswa
LEFT JOIN
(ambil_mapel RIGHT JOIN mapel
ON ambil_mapel.kode_mapel = mapel.kode_mapel)
WHERE siswa.nis = ambil_mapel.nis WHERE mapel.semester = 3
Hasil :
SELECT * FROM vnumber;
2. Tulis View
CREATE VIEW VNumberNew AS SELECT DISTINCT guru.nama_guru FROM guru
INNER JOIN mapel
ON guru.kode_guru = mapel.kode_guru
WHERE mapel.semester = 5
RETNO XII RPL D 30 PRAKTIKUM VIEW
Hasil :
SELECT * FROM vnumbernew;