BAB V
AGREGASI SQL dan VIEW
Bahasan dan sasaran
I.
Bahasan
§ Agregasi sql yang diperlukan dalam perhitungan
data
§ View yang merupakan tabel bayangan yang berisi
query baik dari satu tabel atau berbagai tabel
II.
Sasaran
§ Mahasiswa memahami operator agregasi sql
sehingga mempermudah dalam hal perhitungan data.
§ Mahasiswa memahami cara penggunaan view.
A. DASAR TEORI
1. AGREGATE
Fungsi agregat
(kadangkala disebut fungsi grup atau fungsi ringkasan) adalah fungsi yang
disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data.
Fungsinya sendiri adalah suatu kumpulan instruksi yang menghasilkan sebuah
nilai jika dipanggil. Adapun fungsi agregat yang disediakan oleh SQL dapat
dilihat pada tabel dibawah ini.
(01)
§ COUNT (*)
Fungsi COUNT
berguna untuk menghitung jumlah rows dalam sebuah query. Parameter fungsi COUNT
dapat menggunakan semua columns yang ada dalam sebuah tabel. Kita juga dapat
menggunakan karakter asterisk (*), yang berarti semua rows, termasuk nilai duplikat
dan NULL.Bentuk penggunaannya :
select
count(nama_column) from nama_tabel;
Pada
prinsipnya bagian yang terdapat dalam COUNT bisa berupa nama kolom apa saja.
Namun seringkali nama kolom itu diganti dengan tanda asterisk (*). Sehingga
bentuk penggunaannya sebagai berikut :
select
count(*) from nama_tabel;
§ SUM
Fungsi SUM
berguna untuk melakukan penjumlahan data. Bentuk umum penggunaannya :
select sum
(nama_kolom) from nama_tabel;
§ MAX
Fungsi MAX
berguna untuk memperoleh nilai yang terbesar. Bentu k umum penggunaannya :
select max
(nama_kolom) from nama_tabel;
§ MIN
Fungsi MIN
berguna untuk memperoleh nilai terkecil. Bentuk umum penggunaannya :
select min
(nama_tabel) from nama_tabel;
§
AVG
Fungsi AVG (
AVERAGE ) adalah untuk memperoleh nilai rata-rata. Bentuk umum penggunaannya :
select avg
(nama_kolom) from nama_tabel;
Nilai NULL
akan diabaikan oleh fungsi AVG. Yang bernilai NULL tidak ikut dipakai untuk
menhitung rata-rata.
2. GROUP BY
GROUP BY
merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah
SELECT. Group by seringkali diperlukan untuk menjalankan agregate menjadi
sebuah kelompok dari hasil query. Bentuk penggunaannya :
select
nama_kolom from nama_tabel group by nama_kolom;
Penting :
“Kolom-kolom yang anda sebutkan dalam SELECT dan tidak berada dalam fungsi
agregat haruslah disebutkan dalam klausa GROUP BY.”
3. HAVING
Klausa
HAVING digunakan dalam query yang memakai fungsi GROUP untuk memberikan
kondisi. Usahakan untuk selalu menguunakan klausa WHERE dibanding dengan menggunakan
klausa HAVING. Menggunakan klausa WHERE akan mempercepat performansi query
dibandingkan dengan menggunakan kalusa HAVING. Klausa WHERE selalu ditulis
setelah klusa FROM , sedangkan klausa HAVING selalu ditulis setelah
klausa GROUP BY. Bentuk penggunaannya :
select
nama_kolom from nama_tabel group by nama_kolom having kondisi;
4. CASE
Meskipun SQL
bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat
dengan bebas mengontrol data yang kembali dari query. Kata WHERE
menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan CASE perbandingan
dalam bentuk output kolom. Jadi intinya penggunaan CASE akan membentuk
output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di
dalamnya.Struktur didalam select seperti berikut :
CASE WHEN condition THEN result
[WHEN ...]
[ELSE result] END
5. VIEW
Views dapat
juga disebut tabel bayangan tetapi buka temporary table, bukan juga merupakan
sebuah tabel yang asli. Tetapi meskipun demikian di dalam PostgreSQLview dapat
juga di SELECT, INSERT, UPDATE atau DELETE. Satu lagi kelebihan yang dimiliki
oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah
subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa. Bentuk
umum penggunaannya:
create view
nama_tabel as query;
Catatan :
Query diatas merupakan query untuk menampilkan data menggunakan select.
B.
HASIL PRAKTIKUM
Berikut ini
adalah hasil praktikum yang saya kerjakan dilab :
Dan ini
adalah hasil pekerjaan rumah :
1.
Cari nim atau id mahasiswa yang paling kecil, paling besar dan
rata-ratanya.
2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih
dari 12.
3.
Tampilkan jumlah mahasiswa berdasarkan fakultas
4.
Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang
lebih dari sama dengan 2 saja yang ditampilkan.
5.
Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya
“L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.
6.
Buatlah view untuk query penampilan data mahasiswa, fakultas.
Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
C.
PERBANDINGAN
Saya rasa
tidak ada perbedaan dalam hal query dalam praktikum ini dari kedua DBMS
tersebut, semua query sama persis. ^_^
Untuk kelebihan
dan kemudahan, saya rasa MySQL yang memiliki nilai lebih, karena jika kita
mengalami kesalahan dalam penulisan query, kita bisa mengeditnya, atau jika
kuery nya kurang kita bisa lansung meng-klik dimana kekurangan query tersebut
dan menambahkannya, tapi pada SQL shell tidak bisa, kita akan mendapati error
dan harus mengulangnya kembali.
D.
KESIMPULAN
a.
Rangkuman
Fungsi AGREGAT adalah
fungsi yang disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan
sejumlah data. Fungsinya sendiri adalah suatu kumpulan instruksi yang
menghasilkan sebuah nilai jika dipanggil.
GROUP BY merupakan fungsi
yang digunakan untuk melakukan pengelompokan dari perintah SELECT.
HAVING digunakan dalam
query yang memakai fungsi GROUP untuk memberikan kondisi.
penggunaan CASE akan
membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi
yang di dalamnya.
Views dapat juga disebut tabel
bayangan tetapi buka temporary table, bukan juga merupakan sebuah tabel yang
asli.
b.
Kritik & Saran
Mungkin
masih banyak yang belum saya bahas pada postingan ini, silahkan belajar dengan
sumber yang lain yang lebih lengkap.
c.
Manfaat pembaca
Pembaca
dapat mengetahui fungsi agregate, group by, having, case dan juga view.
Bagaimana query nya juga sudah ada diatas, untuk contohnya silahkan dilihat
hasil praktikum diatas dengan menggunakan 2 DBMS, walaupun query nya sama
persis. Semoga bisa membantu pembaca ^_^
E.
DAFTAR PUSTAKA
Kadir, Abdul. 2010. Mudah Mempelajari Database MySQL. Yogyakarta : Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
MODUL
PRAKTIKUM DBD 2014
0 komentar:
Posting Komentar