View adalah sebuah virtual tabel yang isi atau nilainya di dalam
mendefisinikan melalui perintah query (SQL). Sama seperti
sesungguhnya, view terdiri dari sekumpulan kolom-kolom yang memiliki nama dan
baris baris data. Baris baris dan kolom kolom data berasal dari table table referensi
dalam query yang mendefinisikan view dan dibuat secara dinamis ketika view
tersebut direferensikan.
View berperas seperti filter pada table table yang direferensikan
dalam view, perintah query yang membuat view bisa berasal dari satu atau
beberapa table atau dari view view yang lain pada database yang sama maupun database
yang berbeda. Perintah query terdistribusi juga dapat digunakan untuk
mendefinisikan view yang menggunakan data sumber sumber yang banyak.
Jadi, view merupakan suatu cara alternative untuk melihat data
dari satu atau lebih table didalam database. View dapat dipandang sebagai suatu
virtual table (table yak nyata”) atau suatu stored query(query yang tersimpan)
Perintah dasarnya :
Create View
[<database_name>.][<owner>.]view_name[(column[, . . n])]
[with < view_attribute>[, . . n]]AS select_statement[WITH
CHECK OPTION]
<view_attribute> : : = [ENCRYPTION | SCHEMADBINDING |
VIEW_METADATA)
Atau Sederhananya
Create view view_name (daftar_field1) AS ekspresi_select
Dalam pembuatan view, terdapat beberapa peratuan atau petunjuk :
1. View
hanya dapat dibuat pada database yang sedang aktif atau sedang dipakai. Meskipun
begitu, table atau view lain yang direferensi dapat berasal dari database
lainnya.
2. Nama
view harus sesuai dengan aturan pernamaan identifier dan harus unik untuk
setiap user. Sebagai tambahan, namanya harus berbeda dengan table-tabel milik
user yang membuat view. Biasanya, nama view dimulai dengan awalan huruf “v”
atau awalan view.
3. View
dapat dibuat berdasarkan view yang lain.
4. Query
yang didefiniskan dalam view tidak boleh mengandung ORDER BY
5. Jumlah
kolom (field) yang tertera di daftar_fiel harus sama dengan jumlah kolom pada ekspresi_select
6. Daftar_field
bersifat optional, artinya boleh tidak tertulis, akan tetapi ada beberapa
kondisi tertentu yang menyebabkan daftar_field menjadi wajib ditulis yaitu :
1.
Terdapat kolom di dalam view yang
diturunkan dari ekpresi artimatika, fungsi atau konstanta.
2.
Dua atau lebih kolom dalam view yang
sama (biasanya terjadi karena berasal dari tabel0tabel yang di-join)
3.
Memang sengaja hendak memberi nama
kolo secara manual.
Contoh Penggunannya
Use Bank
Create View
vNasabahKaliurang AS Select * From nasabah WHERE alamat_nasabah
LIKE ‘JL.Kaliurang%’
GO
Untuk melihat
perintahna :
Use Bank
Select * From
vNasabahKaliurang
Contoh berikut adalah perintah untuk membuat view dengan nama
vNasabahHasRekening, yang menampilkan nomor rekening, nama nasabah, dan alamat
nasabah dari gabungan table nasabah, nasabah_has_rekening, rekening.
Create View
vNasabahHasRekening
AS
Select
b.no_rekening, nama_nasabah, alamat_nasabah From nasabah a, nasabah_has
_rekening b,
rekening c WHERE b.no_rekening = c.no_rekening AND a.id_nasabah=
b.id_nasabah GO
untuk melihat
hasilnya :
Use Bank
Select * From
vNasabahHasRekening
Contoh selanjutnya adalah perintah untuk membuat view dengan nama
vNasabahHasRekening1, yang menampilkan nomor rekening, nama nasabah dan
alamat nasabah dari gabungan table nasabah, nasabah_has_rekening dan rekening menggunakan metode JOIN-ON.
Create View vNasabahHasRekening1
AS
Select
b.no_rekening, nama_nasabah, alamat_nasabah FROM nasabah a JOIN nasabah
_has_rekening b ON a.id_nasabah =
b.id_nasabah
JOIN
rekening c ON c.no_rekening = b.no_rekening GO
Contoh berikut
adalah perintah untuk membuat view dengan nama vNasabahHasRekening2, yang
Menampilkan nomor
rekening, nama nasabah dan alamat
nasabah b dari view
vNasabahHasRekening yang telah dibuat sebelumnya. Dimana record
yang berulang pada nomor rekening hanya ditampilkan sekali dengan menggunakan
perintah DISTINCT.
Create View
vNasabahHasRekening2
AS Select
Distinct(no_rekening), nama_nasabah, alamat_nasabah From
vNasabahHasRekening GO
untuk melihat
hasilnya :
Use Bank
Select * From
vNasabahHasRekening
0 komentar:
Posting Komentar