Translate

Sunday, August 7, 2016

View



View

6.1 Membuat View
        Sebuah view adalah tabel yang dibangun dari satu atau beberapa tabel yang sudah ada. Secara fisik, view tidak membuat penyimpana data seperti tabel, melainkan hanya menyimpan referensi / pointer ke dalam record pada tabel – tabel yqang berkaitan. View disebut juga “virtual table”. Secara umum sintaks dari view adalah :
CREATE VIEW nama_view  (kolom 1, kolom 2, … ) AS
SELECT kolom_1, kolom_2, …
FROM NamaTabel
WHERE Kondisi
Sebagai contoh adalah sebuat VIEW yang terbentuk dari satu tabel.
SQL> CREATE VIEW v1 AS
2 SELECT ssn,fname , lname FROM employee;

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru maka v1 mewarisi kolom yang dipilih pada tabel instruktur. Untuk melihat VIEW :
SQL> SELECt * FROM v1;
Berikut membuat VIEW yang mempunyai nama kolom baru yaitu BomorPegawai, NamaDepan , NamaBelakang  dari data pegawai .
SQL> CREATE VIEW v1 (NomorPegawai,NamaDepan, NamaBelakang) AS
2 SELECT ssn,fname , lname FROM employee;

6.2 VIEW dari Beberapa Tabel
        VIEW dapat diciptakan dari beberapa tabel, misalnya sebuah join sederhana berikut ini :
VIEW v4 terdiri atas kolom yang dihasilkan melalui SELECT, yaitu nama employee, kode employee dan nomor  KTP
SQL> CREATE VIEW v4 AS
2 SELECT ssn, fname, lname , dept.dname
3 FROM employee, dept
4 WHERE employee.dnumber = dept.dnumber ;

6.3 UPDATING Melalui VIEW
UPDATING dapat dilakukan kedalam VIEW dengan memberikan nilai seperti  pada UPDATING Tabel. Namun perlu diperhatikan “NOT NULL” option dan constraint lainnya, sebelum memasukkan nilai kedalam VIEW.

Contoh :
SQL>INSERT INTO v1 VALUES (‘32101’, ‘DANDI’,’SUTRISNO’) ;
Agar konsistensi dapat dijaga, makapada saat VIEW dibuat, pada akhir instruksi harus ditambahkan “WITH CHEK OPTION”.

6.4 Mengubah VIEW
Untuk dapat langsung mengubah VIEW tanpa harus menghapus lebih dahulu, maka kunci kata CREATE OR  REPLACE TABLE dapat digunakan, seperti kita lihat pada contoh :
SQL>CREATE OR REPLACE VIEW v4 AS
2 SELECT SSN, FNAME , SALARY , DEPT.DNAME
3 FROM employee , dept
4 WHERE employee.ssn = dept.ssn ;

Melalui VIEW dapat dilakukan INSERT, UPDATE, dan DELETE dengan beberapa limitasi yaitu :
-      Tidak dapat memasukkan record baru jika mengabaikan nilai NOT NULL pada basis tabel dari VIEW tersebut
-      Tidak dapat melakukan INSERT atau UPDATE jika salah satu kolom dalam VIEW merupakan hasil kalkulasi atau fungsi
-      Tidak dapat melakukan INSERT, UPDATE jika salah satu kolom dalam VIEW terdapat GROUP BY atau DISTINCT

6.5 Menghapus VIEW
        VIEW dapat dihapus dengan menggunakan DROP VIEW seperti berikut:
SQL> DROP VIEW v1;

No comments:

Post a Comment

silahkan membaca dan berkomentar