4. VIEW
Obyektif :
Setelah menyelesaikan bahasan ini, diharapkan dapat melakukan hal berikut:
2. Membuat View
6. Menghapus View
Bab ini akan mempelajari salah satu objek database yaitu view. View adalah tabel
logika yang berdasarkan pada sebuah tabel atau dari view lainnya. Sebuah view tidak
mempunyai data dari view itu sendiri. Tabel yang ada pada view dinamakan ‘Tabel
Asal’. View disimpan seperti perintah Select pada data dictionary. Struktur pada bab
ini saling berhubungan dengan perintah DDL dan DML. Pada bagian pertama bab ini
yaitu menggunakan perintah DDL pada view, diantaranya yaitu CREATE VIEW,
ALTER VIEW, dan DROP VIEW. Selanjutnya yaitu menggunakan perintah DML
pada view, diantaranya yaitu SELECT, INSERT, UPDATE, dan DELETE. VIEW
tidak dapat digunakan untuk modifikasi suatu operasi tanpa batasan-batasan tertentu.
Alternatif lain dari view yaitu dengan memanggil index view.
Membuat View
View dibuat menggunakan perintah Create View. Berikut ini adalah bentuk umum
dari pembuatan view.
Syntax:
CREATE VIEW view_name [(column_list)]
[WITH {ENCRYPTION|SCHEMABINDING| VIEW_METADATA}]
AS select_statement
[WITH CHECK OPTION]
Keterangan syntax:
View_name : Nama view
Column_list : Nama kolom yang akan digunakan untuk kolom yang
ada di View
LEPKOM 2016 4-2
View
WITH ENCRYPTION : Menjelaskan bahwa hanya baris yang ada pada View
yang bisa dilakukan enkripsi sesuai yang ada di dalam
perintah SELECT, sehingga meningkatkan keamanan
dari sistem database.
SCHEMABINDING : Sebuah klausa view yang mana ketika
SCHEMABINDING ditentukan, objek database yang
direferensikan dalam SELECT harus menyertakan
nama dua bagian yaitu dalam bentuk owner.db_object
yang mana db_object adalah table, view atau sebuah
fungsi yang ditetapkan pengguna.
VIEW_METADATA : membantu dalam menemukan informasi untuk
database schema yang diberikan dapat berupa table,
view, nama kolom, tipe data, index.
AS : Berisi perintah yang digunakan untuk membuat view.
WITH CHECK OPTION : Berfungsi untuk membatasi perubahan yang
diakibatkan oleh penggunaan perintah DML,
sehingga jika adanya perubahan view, tidak
mempengaruhi pada database.
Example 4.1:
USE sample;
GO
CREATE VIEW v_clerk
AS SELECT empno, mgr, ename, hiredate
FROM emp
WHERE job = ‘CLERK’;
Sintaks di atas digunakan untuk menampilkan suatu tabel semu v_clerk dimana
terdapat database yaitu sample kemudian terdapat kolom empno, mgr, ename, dan
hiredate yang berasal dari tabel EMP dimana kondisi pekerjaan yang ditampilkan
hanya ‘CLERK’.
Example 4.2
USE sample
GO
CREATE VIEW v_dejo
AS SELECT deptno, job
FROM emp;
Pada sintax diatas tidak terdapat kondisi WHERE sehingga semua data yang ada di
kolom deptno dan job akan ditampilkan, data diambil dari tabel EMP.
Example 4.3
Sintax dibawah ini merupakan contoh program menggunakan grup function pada view.
USE sample;
GO
CREATE VIEW v_count(deptno, job)
AS SELECT deptno, COUNT(*)
FROM EMP
GROUP BY deptno;
LEPKOM 2016 4-4
View
Penggunaan group function pada view sama halnya mengikuti aturan dalam
pembuatan group function seperti biasa. Sintax di atas membuat view yang diberi nama
v_count yang mana pada view tersebut terdapat kolom deptno dan job, namun yang
perlu ditampilkan pada view semua data yang ada di tabel EMP untuk kolom deptno
dan menghitung jumlah pekerjaan pada setiap deptno untuk dimasukkan ke dalam
kolom job. Untuk memanggil view yang sudang dibuat dapat menggunakan perintah
SELECT * FROM nm_view.
Example 4.4
USE sample;
GO
ALTER VIEW v_dejo
AS SELECT deptno, ename
FROM emp WHERE deptno > = ‘10’;
Perintah Drop View digunakan untuk menghapus view yang telah di spesifikasikan
dari sistem table. Berikut ini contoh untuk menggunakan perintah Drop View.
Example 4.5
USE sample;
GO
Drop VIEW v_count;
Jika perintah Drop View akan menghapus sebuah view, semua view yang berkaitan
dengan view tersebut akan terhapus.
VIEW RETRIEVAL
View digunakan sama seperti table database. Semua data yang ada pada view diambil
dari table nyata. Seperti halnya pada sintax dibawah ini:
Example 4.6
USE sample;
GO
CREATE VIEW v_latihan
AS SELECT empno, ename
FROM EMP
WHERE deptno =’30’;
GO
SELECT ename
FROM v_latihan
WHERE ename LIKE ‘J%’;
Example 4.7
Use sample;
GO
CREATE VIEW v_dept
AS SELECT deptno, dname
FROM dept;
GO
INSERT INTO v_dept
VALUES (50,’DEVELOPMENT’);
Example 4.8
USE sample;
GO
CREATE VIEW v_pl
AS SELECT empno, job
FROM EMP
WHERE deptno=’10’;
GO
UPDATE v_pl
SET job=NULL WHERE job= ‘MANAGER’;
LEPKOM 2016 4-7
View
Perintah di atas digunakan untuk membuat nama view yaitu v_pl, kolom yang ada pada
v_pl adalah empno dan job. Data yang ditampilkan diambil dari tabel EMP yang mana
terdapat kondisi hanya deptno yang memiliki deptno 10 yang akan di tampilkan.
Kemudian setelah itu dilakukan pembaruan pada v_pl dimana untuk pekerjaan
awalnya MANAGER dirubah menjadi NULL.
Example 4.9
USE sample ;
GO
CREATE VIEW v_1100
AS SELECT deptno, sal, ename, job
FROM EMP
WHERE sal >1100
WITH CHECK OPTION;
GO
UPDATE v_1100
SET salary=2000
WHERE ename =’JAMES’;
yang dibuat yaitu v_deptno. V_deptno ingin menampilkan empno dan job dari tabel
EMP dengan kondisi kolom yang ditampilkan hanya deptno=20.
EXAMPLE 4.10
USE sample;
GO
CREATE VIEW v_deptno
AS SELECT empno, job
FROM EMP
WHERE deptno=’20’;
GO
DELETE FROM v_deptno
WHERE job=’CLERK’;
EXAMPLE 4.11
USE sample;
GO
CREATE VIEW v_salary (salary)
AS SELECT salary*50
FROM EMP;
GO
DELETE FROM v_salary;
Contoh diatas digunakan untuk melakukan operasi aritmatika yaitu perkalian yang
mana dibuat nama view yaitu v_salary, untuk setiap gaji yang ada pada kolom salary
dikalikan 50, data diambil dari tabel EMP, kemudian view yang telah dibuat dihapus
kembali dengan menggunakan perintah DELETE.