AGREGASI SQL DAN VIEW

Assalamu'alaikum Wr. Wb.

Puji syukur alhamdulillah saya ucapkan kepada Allah, karena pada kesempatan kali ini saya diberi kesempatan memposting laporan hasil praktikum desain basis data ini. Pada postingan kali ini saya akan membahas tntang agregasi sql dan view. Dari pada peanasaran, mari kita simak bab-bab dibawah ini.


Materi/ Teori


Mengenai pembahasan kali ini, pada PostgreSQL dan MySQL mempunyai kesamaan dalam hal query, akan tetapi hanya ada beberapa perbedaan dalam hal karakter spasinya.

1. AGREGATE OPERATOR


Fungsi aggregate atau disebut dengan fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input. Aggregate dapat digabungkan dengan sebuah parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih kompleks lagi. Adapun fungsi agregate yang disediakan oleh PostgreSQL dan MySQL dapat dilihat pada tabel berikut ini.:


1


Berikut adalah contoh agregate query dari suatu tabel pegawai:


2

  • Untuk pencarian banyaknya pegawai kita bisa menggunakan query berikut :


SELECT COUNT(*) FROM pegawai;


maka akan mendapatkan hasil = 4




  • untuk pencarian nilai terbesar berdasarkan ID :


SELECT MAX(Id_peg) FROM pegawai;


maka akan mendapatkan hasil = 4




  • untuk pencarian nilai terkecil :


SELECT MIN(Id_peg) FROM pegawai;


maka akan mendapatkan hasil = 1




  • untuk pencarian rata-rata :


SELECT AVG(Id_peg) FROM pegawai;


maka akan mendapatkan hasil = 2.5000


2. GROUP BY


GroupBy merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT Group by seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query. Berikut struktur SQL untuk penampilan data :


SELECT nama_kolom FROM nama_tabel GROUP BY nama_kolom;


Contoh:


3




  • Untuk menampilkan informasi nama pengarang :


SELECT pengarang_buk FROM buku GROUP BY pengarang_buk;


Hasil :


4


Pada hasil query terlihat pengarang muncul hanya sekali.




  • Untuk menampilkan informasi nama pengarang beserta jumlah buku yang dikarang :


SELECT pengarang_buk, COUNT(*) FROM buku GROUP BY pengarang_buk;


Hasil:


5




  • Untuk menampilkan informasi buku tiap tahunnya :


SELECT tahun_buk, COUNT(*) FROM buku GROUP BY tahun_buk;


Hasil:


6




  • Untuk menampilkan informasi jumlah total uang tiap tahunnya :


SELECT tahun_buk, SUM(harga_buk) AS total FROM buku GROUP BY tahun_buk;


Hasil:


7


3. HAVING


Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan. Berikut Struktur yang digunakan :


Kita akan menggunakan tabel “pesanan”:


8


Sekarang jika kita ingin mencari pelanggan yang memiliki total order kurang dari 2000 Maka, kita dapat menggunakan statement :


SELECT pelanggan, SUM(hargaorder) FROM pesanan GROUP BY pelanggan HAVING SUM(hargaorder) < 2000;


Maka hasilnya:


94. 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

Berikut contoh query penggunaan case, penentuan umur jika umurnya dibawah 1986-01-01 dianggap dewasa dan lebih dari itu dianggap remaja :

SELECT txt_namadepan, txt_namaakhir, dt_tgllahir, CASE WHEN dt_tgllahir < '1986-01-01' THEN 'dewasa' ELSE 'balita' END AS umur FROM pegawai ;


Hasil:


10


5. VIEW

View dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan. 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.

CREATE VIEW nama_tabel_view AS query;

Catatan : Query diatas merupakan query untuk menampilkan data menggunakan query sql select. Berikut adalah tabel contoh kasus penggunaan VIEW :

Kita akan menggunakan tabel “pesanan”:

11


Kita akan membuat view dari tabel diatas dengan ketentuan harga dikumpulkan berdasarkan nama pelanggannya. Sebagai berikut :


CREAYE VIEW total_pelanggan AS SELECT pelanggan, SUM (hargaorder) FROM pesanan GROUP BY pelanggan;

  • Untuk melihat hasil kita bisa melakukan query select sebagai berikut :


SELECT * FROM total_pelanggan;


Hasil Praktikum


1. Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan.Tambahkan data mahasiswa sesuai yang diperintahkan, jika sudah, coba tampilkan isi tabelnya : SELECT * FROM mahasiswa;. Tampilkan banyak data mahasiswa yang diinputkan : SELECT COUNT(*) FROM mahasiswa;. Kemudian cari nim mahasiswa paling kecil : SELECT MIN(nim_mah) FROM mahasiswa;, nim paling besar : SELECT MAX(nim_mah) FROM mahasiswa;, rata-rata nim : SELECT AVG(nim_mah) FROM mahasiswa;.

1


2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12. Rata-rata nim mahasiswa yang nimnya lebih dari 12 : SELECT AVG(nim_mah) FROM mahasiswa WHERE nim_mah > 12;.


2


3. Tampilkan jumlah mahasiswa berdasarkan fakultas. Jumlah mahasiswa berdasarkan fakultas : SELECT nama_fak, COUNT(*) FROM mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP BY f.nama_fak;.


3


4. Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan : Lebih dari sama dengan 2 : SELECT nama_fak, COUNT (*) FROM mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP BY f.nama_fak HAVING COUNT (m.id_fak) >= 2;.


4


5. Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan. Querynya : SELECT nim_mah, nama_mah, gender, CASE WHEN gender=’L’ THEN ‘LAKI-LAKI’ ELSE ‘PEREMPUAN’ END AS jenis_kelamin FROM mahasiswa;.


5


6. Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas. Buat tabel VIEW untuk menampilkan tabel mahasiswa dan fakultas. Ambil berdasarkan nim_mah, nama_mah, dan nama_fak : CREATE VIEW data_mahasiswa AS SELECT nim_mah, nama_mah, nama_fak FROM mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak;. Lalu, coba tampilkan tabelnya yang telah dibuat dengan urutan ascending sesuai nim : SELECT * FROM data_mahasiswa ORDER BY nim_mah ASC;.


6


Evaluasi Perbandingan DBMS PostgreSQL dan MySQL


Perbedaan antara PostgreSQL dengan MySQL dalam BAB ini, adalah dalam karakter spasinya , yakni pada COUNT, MAX, MIN, AVG. misalnya pada PostgreSQL query Count (*)  bisa diberi spasi, akan tetapi dalam MySQL pada Count(*) tidak boleh ada spasi. pemberian tanda koma (,) seperti pada perintah Count(*) dan Case. Yang biasanya setelah perintah SELECT tidak ada koma, untuk penggunaan perintah Count(*) dan Case kita harus memeberikannya.


Kesimpulan, Kritik, Saran, dan Manfaat


Pada pembahasan bab sebelumnya kita telah mengetahui beberapa perintah atau operator lanjutan dari perintah SELECT. Pada pembahasan kali ini telah dibahas juga lanjutan perintah SELECT dengan tambahan perintah yang lebih kompleks. Kita bisa menggunakan DBMS MySQL maupun PostgreSQL untuk mempraktekan perintah Agregasi dan View ini, karena keduanya memiliki struktur query yang sama. Saran saya, ketika menuliskan query harap bisa lebih teliti dan hati hati, karena banyak sekali faktor faktor kecil yang bisa membuat EROR, utamanya perintah Agregasi dan View ini.


Daftar Pustaka




  • Modul Praktikum Desain Basis Data Bab V.

  • Muiz(2011).Agregasi SQL dan View. from http://muizalba.blogspot.com/2011/11/agregasi-sql-dan-view.html. 19 Oktober 2014.

  • Pelajar.Seorang(2011).Pengelompokan Data dan Agregasi Fungsi. from http://pribadiwidianto.blogspot.com/2011/12/pengelompokan-data-dan-agregasi-fungsi.html. 19 Oktober 2014.

loading...

0 Response to "AGREGASI SQL DAN VIEW"

Post a Comment

.