Sunday, October 19, 2014

LAPORAN PRAKTIKUM V AGREGASI SQL DAN VIEW

I. Landasan Teori
A. AGREGATE OPERATOR
Fungsi aggregate atau disebut 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 dapat dilihat pada tabel berikut :




B. 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. Berikut struktur SQL untuk penampilan data :
select nama_kolom from nama_tabel group by nama_kolom;


C. 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 :


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



E. VIEW
Views 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;


II. Hasil Praktikum

Dari praktikum ke lima kemarin kita dapat mengetahui tentang "Agresi SQL dan VIEw" yang ada pada progesmysql. Namum pada laporan kali ini kita akan membahasnya dalam DBMS Mysql berikut beberapa queri yang telah saya pelajari :

1. Menampilkan nim mahasiswa yang paling kecil, paling besar dan rata-ratanya dari tabel mahasiswa yang  telah kita buat .


 berikut adalah queri - queri untuk menampilkan nilai minimal,nilai maksimal serta rata - ratanya.

 select min(nim_mah) from mahasiswa;
 select max(nim_mah) from mahasiswa;
 select avg(nim_mah) from mahasiswa;


2. Kemudian kita akan menampilkan rata-rata nim mahasiswa yang data nimnya lebih dari 12.
berikut queri dari langkah no 2 :
    select avg(nim_mah) from mahasiswa where nim_mah > 12;




3. Menampilkan jumlah mahasiswa berdasarkan fakultas.
queri dari langkah diatas yaitu seperti ini :
 select nama_fak as nama_fakultas,count(*) from mahasiswa,fakultas where mahasiswa.id_fak=fakultas.id_fak group by nama_fak;



4. Langkah ke empat menampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari   sama dengan 2 saja yang ditampilkan.

 select nama_fak as nama_fakultas,count(*) from mahasiswa,fakultas where mahasiswa.id_fak=fakultas.id_fak group by nama_fak;




karena data minimun jumlah fakultas 2 maka tampilannya seperti gambar no 3

5. Menampilkan  data  mahasiswa  dengan  persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

 select*,case when gender='L' then 'laki-laki' else 'perempuan'end as jenis_kelamin from mahasiswa ;



6. Membuat view untuk query penampilan data mahasiswa, fakultas.Yang mengambil berdasarkan nim, nama mahasiswa, nama fakultas.

create view baru as select nim_mah as NIM,nama_mah as Nama,nama_fak as Fakultas from mahasiswa,fakultas where mahasiswa.id_fak=fakultas.id_fak;
select*from baru;




C. PERBANDINGAN DBMS

Secara garis besar diantara kedua DBMS ini memiliki query yang sama, kecuali beberapa uraian di bawah ini :
- PostgresSQL
Perbedaan :
1. Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya kita boleh atau tidak ada spasi setelah query avg.

- MySQL

Perbedaan :
1. Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya kita tidak boleh ada spasi setelah query avg. jika ada maka hasilnya akan error.



D. KESIMPULAN

Dari hasil praktikum yang telah kita pelajari pada pertmuan ke 5 ini. Maka dapat disimpulkan bahwa secara garis besar Query-query untuk membuat yang terdapat di DBMS PostgresSQL maupun MySQL tidak jauh berbeda. Dan dengan adanya fungsi view ini maka akan lebih memudahkan kita jika ingin menampilkan tabel berulang-ulang maka tanpa harus membuat query yang panjang.
Demikian laporan praktikum yang dapat saya utarakan semoga bermanfaat khususnya untuk saya dan umumnya untuk yang membaca blog ini terimakasih.

E. DAFTAR PUSTAKA

Modul Praktikum Desain Basis Data 2014.pdf


0 comments:

Post a Comment