Anda di halaman 1dari 9

View

4. VIEW

Obyektif :
Setelah menyelesaikan bahasan ini, diharapkan dapat melakukan hal berikut:

1. Memahami tentang View pada Database

2. Membuat View

3. Mencari data melalui View

4. Merubah struktur View

5. Melakukan Insert, Update, dan Delete data melalui View

6. Menghapus View

LEPKOM 2016 4-1


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.

4.1. PERINTAH DDL PADA VIEW


Dalam bab sebelumnya, tabel yang biasa digunakan untuk perintah DDL dan DML
yaitu tabel yang tersimpan di dalam disk. View tidak memiliki table. Data yang ada di
view tidak disimpan. View merupakan salah satu objek database yang mana datanya
berasal dari satu atau lebih tabel dasar. View disebut juga virtual table, view digunakan
untuk membatasi hak user dengan admin.

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.

Tujuan View diantaranya:


a. Untuk membatasi penggunaan kolom dan atau baris dari tabel tertentu. Oleh
karena itu, view dapat digunakan untuk mengendalikan akses ke bagian
tertentu dari satu atau lebih tabel.
b. Untuk menyembunyikan rincian query yang kompleks. Jika aplikasi database
membutuhkan query, yang melibatkan operasi join yang kompleks, pembuatan
view yang sesuai dapat menyederhanakan pengunaan query tersebut.
c. Untuk membatasi memasukkan nilai dan perubahan nilai pada range tertentu.

Example 4.1:

LEPKOM 2016 4-3


View

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.

4.2. PERINTAH ALTER DAN REMOVE VIEW


Bahasa Transact-SQL mendukung perintah Alter View tidak standar, yang mana
digunakan untuk memodifikasi definisi Alter View. Perintah Alter View harus sesuai
dengan perintah Create View. Penggunaan Alter View tanpa harus mengubah objek
database. Alter View dapat digunakan untuk menghindari pemindahan hak yang ada.
Cara lain menggunakan nama view yang sama yaitu dengan Drop View dan
menggunakan perintah Create View kembali untuk membuat nama view yang baru.

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;

LEPKOM 2016 4-5


View

GO
Drop VIEW v_count;

Jika perintah Drop View akan menghapus sebuah view, semua view yang berkaitan
dengan view tersebut akan terhapus.

4.3. PERINTAH DML DAN VIEWS


Dapat dilakukan operasi DML pada data melalui View bila operasi tersebut mengikuti
aturan-aturan yang sudah ditetapkan. Penggunaan operasi DML dapat dimodifikasikan
dengan perintah Transact-SQL.

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%’;

LEPKOM 2016 4-6


View

PERINTAH INSERT PADA VIEW


Perintah insert dapat digunakan untuk menyisipkan data yang ada pada view tanpa
merubah data tabel aslinya. Dibawah ini merupakan bentuk sintaks untuk
menyisipkan data pada tabel DEPT yang mana menyisipkan kolom deptno 50 dengan
dname DEVELOPMENT.

Example 4.7
Use sample;
GO
CREATE VIEW v_dept
AS SELECT deptno, dname
FROM dept;
GO
INSERT INTO v_dept
VALUES (50,’DEVELOPMENT’);

PERINTAH UPDATE PADA VIEW


Perintah update dapat digunakan untuk memperbarui data yang ada pada view. Update
yang dapat dilakukan hanya merubah kolom yang akan di tampilkan bukan untuk
merubah nama view nya.

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.

PENGGUNAAN KLAUSA WITH CHECK OPTION


Dapat dimungkinkan untuk melakukan referential integrity checks melalui view. Dapat
pula memberikan constraint pada setiap level database. View dapat digunakan untuk
mempertahankan integritas data, tapi kegunaannya sangatlah terbatas. Klausa WITH
CHECK OPTION menjelaskan bahwa INSERT dan UPDATE melalui view tidak
dapat dibenarkan bila baris yang diisikan atau diperbarui bukan merupakan bagian dari
view yang dibuat.

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’;

PERINTAH DELETE PADA VIEW


Perintah view dapat digunakan untuk menghapus baris dari suatu table. Contoh
dibawah digunakan untuk menghapus nama pekerjaan CLERK yang mana nama view

LEPKOM 2016 4-8


View

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.

LEPKOM 2016 4-9

Anda mungkin juga menyukai