View
View merupakan hasil perintah SELECT yang berupa tabel virtual yang dapat membungkus query tertentu.
View berfungsi untuk mempermudah dalam pengambilan query tertentu. Dengan view kita dapat
menerapkan pembatasan pada pengaksesan guna pengamanan keamanan data seperti di bawah ini:
- Kolom/Field pada tabel tertentu.
- Baris/Record pada tabel tertentu.
- Field dan Record pada tabel tertentu.
- Turunan dari view lain.
- Record menggunakan operasi join.
- Data statistik dari tabel.
tabel-tabel dalam sebuah database. Contoh : view Mahasiswa Pria yang diambil dari tabel Mahasiswa
di mana field Jenis Kelamin = “L”.
Kegunaan dari view adalah :
- Membatasi akses database
- Membuat query kompleks secara mudah
- Mengijinkan independensi data
- Untuk menampilkan view (pandangan) data yang berbeda dari data yang sama.
Cara membuat view :
Untuk membuat view kita dapat menggunakan perintah view dengan format seperti dibawah ini :
CREATE VIEW view_name[(column_list)] [WITH ENCRYPTION] AS select_statement [WITH CHECK OPTION]
Keterangan :
View_name adalah nama view yang akan dibuat. Column_list mendefinisikan field yang akan digunakan
dalam view. Column_list harus memiliki jumlah field yang sama dengan yang didefinisikan
pada select_statement. Jika column_list tidak ada maka view dibuat berdasarkan field yang
didefinisikan pada select_statement.
With Encryption adalah opsi untuk menambahkan enkripsi pada view. AS berisi perintah yang
digunakan untuk membuat view.
Contoh :
CREATE VIEW V_ SISWA AS SELECT * FROM SISWA
Cara menampilkan view :
Untuk menampilkan atau memanggil view yang sudah kita buat sebelumnya, kita dapat menggunakan perintah select dengan format seperti dibawah ini :
SELECT * FROM V_PELANGGAN
Cara merubah view :
Untuk merubah view kita dapat menggunakan perintah alter view dengan format seperti dibawah ini :ALTER VIEW view_name[(column_list)] [WITH ENCRYPTION] AS select_statement [WITH CHECK OPTION]
Contoh :
ALTER VIEW V_SISWA AS SELECT * FROM SISWA WHERE ALAMAT ='JAKARTA'
Cara menghapus view :
Untuk menghapus view kita dapat menggunakan perintah drop view dengan format seperti dibawah ini :
DROP VIEW view_nameContoh :
DROP VIEW V_PELANGGAN
SUB QUERY & VIEW
SUB QUERY
Sub query adalah query di dalam query, artinya seleksi data berdasarkan dari hasil seleksi
data yang telah ada.
CONTOH…
Jika diketahui terdapat beberapa table berikut :
1. Tabel_Barang
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20) dan
stok int,
primary key : kode_barang
CONTOH…
3. Tabel Pembelian
kode_pembelian char(10) ,kode_barang char(6),
kode_pelanggan char(6), tgl_pembelian datetime,
jum_pembelian int.
Primary key : kode_pembelian,kode_barang,kode_pelanggan
Foreign key : kode_barang, kode_Pelanggan
CONTOH…
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian).
SELECT tgl_pembelian, jum_pembelian FROM pembelian
2. Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
SELECT avg(jum_pembelian) as rata2_pembelian
FROM pembelian
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
SELECT tgl_pembelian, jum_pembelian
FROMpembelian
WHERE jum_pembelian > (SELECT avg(jum_pembelian) FROM pembelian)
Latihan…
Dari tabel nilai yang telah pernah anda buat sebelumnya carilah nilai mahasiswa yang nilainya di
SELECT field-1,…,field-n
FROM tabel
WHERE kriteria ( SELECT field-1,…,field-n
FROM tabel
WHERE kriteria );
FROM tabel
WHERE kriteria ( SELECT field-1,…,field-n
FROM tabel
WHERE kriteria );
Jika diketahui terdapat beberapa table berikut :
1. Tabel_Barang
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20) dan
stok int,
primary key : kode_barang
CONTOH…
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan
CONTOH…
3. Tabel Pembelian
kode_pembelian char(10) ,kode_barang char(6),
kode_pelanggan char(6), tgl_pembelian datetime,
jum_pembelian int.
Primary key : kode_pembelian,kode_barang,kode_pelanggan
Foreign key : kode_barang, kode_Pelanggan
CONTOH…
Dari ketiga tabel diatas tampilkan transaksi pembelian yang jumlahnya di atas rata-rata ….??
Penyelesaian …
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian).
2. Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
Dari ketiga tabel diatas tampilkan transaksi pembelian yang jumlahnya di atas rata-rata ….??
Penyelesaian …
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian).
2. Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
CONTOH…
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian).
SELECT tgl_pembelian, jum_pembelian FROM pembelian
2. Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
SELECT avg(jum_pembelian) as rata2_pembelian
FROM pembelian
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
SELECT tgl_pembelian, jum_pembelian
FROMpembelian
WHERE jum_pembelian > (SELECT avg(jum_pembelian) FROM pembelian)
Latihan…
Dari tabel nilai yang telah pernah anda buat sebelumnya carilah nilai mahasiswa yang nilainya di
atas rata-rata ???
SELECT nim, nilai
FROM nilai3
SELECT AVG (nilai) AS ratarata
FROM nilai3
SELECT nim, nilai
FROM nilai3
WHERE nilai > (SELECT AVG (nilai) FROM nilai3)
VIEW
View merupakan tabel semu, artinya secara fisik data tidak tersimpan dalam basis data, tetapi secara lojik
SELECT nim, nilai
FROM nilai3
SELECT AVG (nilai) AS ratarata
FROM nilai3
SELECT nim, nilai
FROM nilai3
WHERE nilai > (SELECT AVG (nilai) FROM nilai3)
VIEW
View merupakan tabel semu, artinya secara fisik data tidak tersimpan dalam basis data, tetapi secara lojik
dapat berfungsi seolah-olah sebagai tabel.
CREATE VIEW nama_view AS
SELECT field-1,…,field-n, aggregate function
FROM tabel-1,…, tabel-n
WHERE kriteria
GROUP BY field-1,…,field-n
HAVING kriteria_aggregate_function
ORDER BY field
Buat view bernama v_barang yang menampilkan nama barang dan stok barang
CREATE VIEW v_barang as
SELECT nama_barang, stok_barang
FROM barang
Tampilkan semua data yang ada pada view v_barang
SELECT * from v_barang
Tampilkan nama barang dari view v_barang
SELECT nama_barang from v_barang
Hapuslah view v_barang
DROP view v_barang
Tampilkan view v_barang ( apakah yang terjadi? )
SELECT * from v_barang
JAWAB
Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
CREATE VIEW V_pelanggan AS
SELECT nama, alamat, telepon
FROM pelanggan
WHERE kota = 'Jakarta'
SELECT * FROM V_pelanggan
CREATE VIEW V_PLGN_BELI AS
SELECT pelanggan.nama, pembelian.jum_pembelian, pembelian.tgl_pembelian
FROM pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan
ORDER BY pelanggan.nama, pembelian.tgl_pembelian
SELECT * FROM V_PLGN_BELI
CREATE VIEW V_JUM_BELI AS
SELECT barang.nama_barang, pelanggan.nama, pembelian.tgl_pembelian, pembelian.jum_pembelian
FROM barang, pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan and
barang.kode_barang = pembelian.kode_barang
ORDER BY barang.nama_barang, pelanggan.nama, pembelian.tgl_pembelian
SELECT * FROM V_JUM_BELI
CREATE VIEW nama_view AS
SELECT field-1,…,field-n, aggregate function
FROM tabel-1,…, tabel-n
WHERE kriteria
GROUP BY field-1,…,field-n
HAVING kriteria_aggregate_function
ORDER BY field
Buat view bernama v_barang yang menampilkan nama barang dan stok barang
CREATE VIEW v_barang as
SELECT nama_barang, stok_barang
FROM barang
Tampilkan semua data yang ada pada view v_barang
SELECT * from v_barang
Tampilkan nama barang dari view v_barang
SELECT nama_barang from v_barang
Hapuslah view v_barang
DROP view v_barang
Tampilkan view v_barang ( apakah yang terjadi? )
SELECT * from v_barang
LATIHAN
- Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
- Tampilkan pelanggan yang paling besar pembeliannya.
- Buatlah view dengan nama V_PELANGGAN yang menampilkan nama pelanggan,alamat dan
- telepon. Pelanggan yang ditampilkan adalah yang berasal dari kota Jakarta.
- Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per pelanggan untuk tanggal
- tertentu. Field yang ditampilkan adalah nama pelanggan jumlah pembelian, tanggal pembelian.
- Tampilkan semua data yang ada pada view V_PLGN_BELI
- Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang per pelanggan per tanggal tertentu. Field yang ditampilkan adalah nama barang, nama pelanggan, tanggal pembelian,dan jumlah pembelian.Tampilkan semua data yang ada pada view V_JUM_BELI
JAWAB
Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
SELECT nama_barang FROM barang;
SELECT avg(stok) AS rata2_stok
FROM barang
SELECT nama_barang
FROM barang
WHERE stok < (SELECT avg(stok) FROM barang)
Tampilkan pelanggan yang paling besar pembeliannya.
SELECT kode_pelanggan FROM pelanggan;
SELECT MAX(jum_pembelian) FROM pembelian
SELECT pelanggan.nama, pelanggan.kode_pelanggan, pembelian.jum_pembelian
FROM pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan and jum_pembelian =
SELECT avg(stok) AS rata2_stok
FROM barang
SELECT nama_barang
FROM barang
WHERE stok < (SELECT avg(stok) FROM barang)
Tampilkan pelanggan yang paling besar pembeliannya.
SELECT MAX(jum_pembelian) FROM pembelian
SELECT pelanggan.nama, pelanggan.kode_pelanggan, pembelian.jum_pembelian
FROM pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan and jum_pembelian =
(SELECT MAX(jum_pembelian) FROM pelanggan, pembelian)
Buatlah view dengan nama V_PELANGGAN yang menampilkan nama pelanggan,alamat dan telepon.
Buatlah view dengan nama V_PELANGGAN yang menampilkan nama pelanggan,alamat dan telepon.
Pelanggan yang ditampilkan adalah yang berasal dari kota Jakarta.
CREATE VIEW V_pelanggan AS
SELECT nama, alamat, telepon
FROM pelanggan
WHERE kota = 'Jakarta'
SELECT * FROM V_pelanggan
Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per pelanggan untuk tanggal tertentu.
Field yang ditampilkan adalah nama pelanggan jumlah pembelian, tanggal pembelian.
Tampilkan semua data yang ada pada view V_PLGN_BELI.
CREATE VIEW V_PLGN_BELI AS
SELECT pelanggan.nama, pembelian.jum_pembelian, pembelian.tgl_pembelian
FROM pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan
ORDER BY pelanggan.nama, pembelian.tgl_pembelian
SELECT * FROM V_PLGN_BELI
Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang per pelanggan per tanggal tertentu.
Field yang ditampilkan adalah nama barang, nama pelanggan, tanggal pembelian,dan
jumlah pembelian.Tampilkan semua data yang ada pada view V_JUM_BELI.
CREATE VIEW V_JUM_BELI AS
SELECT barang.nama_barang, pelanggan.nama, pembelian.tgl_pembelian, pembelian.jum_pembelian
FROM barang, pelanggan, pembelian
WHERE pelanggan.kode_pelanggan = pembelian.kode_pelanggan and
barang.kode_barang = pembelian.kode_barang
ORDER BY barang.nama_barang, pelanggan.nama, pembelian.tgl_pembelian
SELECT * FROM V_JUM_BELI






Tidak ada komentar:
Posting Komentar