Apa Itu View?
VIEW adalah tabel virtual (virtual table) hasil dari sebuah statement Select Query. Mengapa View disebut virtual tabel? Jawabannya karena View mirip sebuah tabel yaitu berisi kolom atau field dan record tetapi view bersifat read only yaitu Anda tidak bisa melakukan proses insert data ke view. Disamping itu, kita juga bisa melakukan query dengan menggunakan View.Catatan:
Data yang ada di View akan selalu up to date seiring dengan data yang ada di tabel.
Membuat View
Untuk membuat sebuah view di Oracle, Anda dapat menggunakan perintah CREATE VIEW. Di bawah ini adalah sintak dasar untuk membuat view di Oracle:CREATE VIEW nama_view AS SELECT kolom_1, kolom_2, kolom_n FROM nama_table WHERE kondisi;
Di bawah ini adalah langkah-langkah dalam membuat view sebagai bahan latihan.
- Buatlah sebuah table KARYAWAN dan isi datanya seperti berikut ini.
Tabel KARYAWAN
NIK Nama Kode_Department Gender Gaji_Pokok Tunjangan 0001 Nursalim IT L 3000000 250000 0002 Naura Krasiva Elsalna ACCOUNTING P 1750000 100000 0003 Nani Indriyani IT P 2750000 200000 0004 Ahmad Fathoni HRD L 1000000 100000 0005 Bayu Dirgantara IT L 3000000 250000
Script Buat Table
SQL> CREATE TABLE karyawan ( 2 nik VARCHAR2(5) NOT NULL PRIMARY KEY, 3 nama VARCHAR2(50) NOT NULL, 4 gender CHAR(1) NOT NULL, 5 department VARCHAR2(30) NOT NULL, 6 gaji_pokok NUMBER(10) NOT NULL, 7 tunjangan NUMBER(10) NOT NULL 8 ); Table created.
Script Insert Data
SQL> INSERT INTO karyawan VALUES('0001','Nursalim','L','IT',3000000,250000); 1 row created. SQL> INSERT INTO karyawan VALUES('0002','Naura Krasiva Elsalna','P','ACCOUNTING',1750000,100000); 1 row created. SQL> INSERT INTO karyawan VALUES('0003','Nani Indriyani','P','IT',2750000,200000); 1 row created. SQL> INSERT INTO karyawan VALUES('0004','Ahmad Fathoni','L','HRD',1000000,100000); 1 row created. SQL> INSERT INTO karyawan VALUES('0005','Bayu Dirgantara','L','IT',3000000,250000); 1 row created.
- Tampilkan data dari tabel KARYAWAN
SQL> SELECT * FROM karyawan;
- Buatlah sebuah view dengan nama V_KARYAWAN_IT yang mempunyai kolom
NIK, Nama, Jenis Kelamin, Gaji Bersih dimana Gaji Bersih adalah Gaji
Pokok + Tunjangan dari departement IT.
SQL> CREATE VIEW V_KARYAWAN_IT AS 2 SELECT nik, nama, gender "Jenis Kelamin", gaji_pokok+tunjangan "Gaji Bersih" 3 FROM karyawan 4 WHERE department = 'IT'; View created.
- Tampilkan data dari view V_KARYAWAN_IT dengan menggunakan MySQL command line
mysql> SELECT * FROM V_KARYAWAN_IT;
Menampilkan Daftar View
Anda dapat menampilkan daftar atau list view yang ada di database MySQL dengan menggunakan perintah di bawah ini:SQL> SELECT view_name FROM user_views; VIEW_NAME ------------------------------ V_KARYAWAN_IT
Meng-Update View
Anda dapat meng-update view sesuai dengan kebutuhan Anda seperti menambahkan kolom pada view ataupun menambahkan filter pada Where Clause di view tersebut. Untuk mengupdate view, Anda bisa menggunakan perintah CREATE OR REPLACE VIEW.Di bawah ini adalah sintak dasar untuk mengupdate view yang sudah ada di MySQL:
CREATE OR REPLACE VIEW nama_view AS SELECT kolom_1, kolom_2, kolom_n FROM nama_tabel WHERE kondisi;
Sebagai Latihan, coba Anda modifikasi view V_KARYAWAN_IT diatas dengan menambahkan filter HANYA karyawan yang berjenis kelamin laki-laki saja.
SQL> CREATE OR REPLACE VIEW V_KARYAWAN_IT AS 2 SELECT nik, nama, gender "Jenis Kelamin", gaji_pokok+tunjangan "Gaji Bersih" 3 FROM karyawan 4 WHERE department = 'IT' 5 AND gender = 'L'; View created.
Menghapus View (Drop View)
Di bawah ini adalah sintak dasar untuk menghapus view di OracleDROP VIEW nama_view;
Contoh:
DROP VIEW V_KARYAWAN_IT;
Sekian tutorial singkat Bagaimana Cara Membuat, Merubah, Dan Menghapus View Di Oracle. Semoga bermanfaat & Selamat Belajar Oracle.
Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan
teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial
diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk
menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog
ini.
Salam,
~Nursalim~
Naura-Lab.blogspot.com
1 comments:
Sangat membantu sekali..
ReplyTerima Kasih Banyak :)
Post a Comment