Wednesday, October 15, 2014

Laporan Prakt Desain Basis Data (Modul 5)

Nama     :  Ahmad Nafis Syahroni
NIM       : 13650131
Matkul   : Prakt DBD
Kelas      :  D




AGREGASI SQL dan VIEW
A.    Pembahasan
Agregasi sql yang diperlukan dalam perhitungan data

View yang merupakan tabel bayangan yang berisi query baik dari satu tabel
B.     Tujuan
Mahasiswa memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data.
  Mahasiswa memahami cara penggunaan view.
C.     Dasar Teori
1.      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.

AGREGATE
KETERANGAN
COUNT (*)
Menghitung Jumlah Baris
SUM (NAMA KOLOM)
Menghitung Penjumlahan Data
MAX (NAMA KOLOM)
Mencari Nilai Terbesar
MIN (NAMA KOLOM)
Mencari Nilai Terkecil
AVG (NAMA KOLOM)
Mencari Nilai 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.

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.

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

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

D.    Hasil Percobaan Mysql
         Tugas praktikum 

Mahasiswa
Nim_mah
(primary key)
Nama_mah
Alamat_mah
Id_fak
(Foreign key)

Fakultas
Id_fak
(Primary key)
Nama_fak

Dari bab sebelumnya kita telah membuat tabel mahasiswa dan fakultas. jadi kita tidak usah membuat ulang tabel lagi.

Nim : 12
Nama : edi
Alamat : malang
Fakultas : SAINTEK

Nim : 13
Nama : sinta
Alamat : jogja
            Fakultas : SAINTEK

Nim : 14
Nama : luki
Alamat : ponorogo
Fakultas : PSIKOLOGI


·   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. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata ratanya.



·       Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.

 
·       Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut
Nama Fakultas
Count (*)
Saintek
2
Psikologi
1



·         Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.

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

 
·         Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.




E.     Perbandingan ke 2 DBMS
Perbandingan nya terletak pada spasi setiap Query
Perbedaan
Mysql
Postgres
select count(*) from mahasiswa;
select count (*) from mahasiswa;
select min(nim_mah) from mahasiswa;
select min (nim_mah) from mahasiswa;
select max(nim_mah) from mahasiswa;
select max (nim_mah) from mahasiswa;
select nama_fak, count(*) as jumlah from mahasiswa, fakultas where mahasiswa.id_fak = fakultas.id_fak group by nama_fak;
select nama_fak, count (*) as jumlah from mahasiswa, fakultas where mahasiswa.id_fak = fakultas.id_fak group by nama_fak;
select nama_fak, count(*) as jumlah from mahasiswa, fakultas where mahasiswa.id_fak = fakultas.id_fak group by nama_fak having count (*)>2
;
select nama_fak, count (*) as jumlah from mahasiswa, fakultas where mahasiswa.id_fak = fakultas.id_fak group by nama_fak having count (*)>2
;



Persamaan
Mysql dan Postgres sama
select avg (nim_mah) from mahasiswa;
select avg (nim_mah) from mahasiswa where nim_mah >12;
select nim_mah, alamat_mah, nama_mah, id_fak, no_telp, case when gender = 'L' then 'laki-laki' else 'perempuan' end as gender from mahasiswa;
create view mahasiswa_fakultas as select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak = fakultas.id_fak;



F.      Kesimpulan
·         Fungsi COUNT Untuk menghitung frekuensi pemunculan suatu data digunakan fungsi COUNT. Sebagaimana fungsi SUM, maka COUNT hanya dapat digunakan apabila data tersebut telah ditentukan kriterianya dengan klausa
·         Fungsi AVG
Fungsi ini hanya dapat digunakan untuk tipe data numeric, sebagaimana fungsi SUM. AVG menghitung rata-rata sekumpulan data yang telah ditentukan kriterianya menggunakan WHERE.
·         Fungsi MIN dan MAX
Untuk mencari nilai maksimum dan minimum dari sekumpulan data anda dapat menggunakan fungsi MIN dan MAX. Misalkan anda ingin mencari jumlah barang yang paling banyak terjual maka dijalankan perintah berikut :
SELECT MAX(Quantity) as Maksimum from [Order Details]

Fungsi Agregasi/Agregates     Fungsi yang dihasilkan dari sebuah group data.
·         SUM = Untuk menjumlah suatu kolom tertentu yang telah definisikan dalam    perintah select.
Sintak : SELECT SUM (nama_kolom) FROM nama_tabel [WHERE = Kondisi]
Contoh : SELECT SUM (SKS) FROM Mata_Kuliah
·         COUNT = Untuk menghitung jumlah baris dalam sebuah tabel
Sintak : SELECT COUNT nama_kolom FROM nama_tabel [WHERE]
Contoh : SELECT COUNT (*) FROM mahasiswa
SELECT COUNT (SKS) FROM Mata_Kuliah
·         AVG = Untuk menghitung nilai rata – rata dari suatu kolom tertentu yang telah definisikan dalam perintah select.
Sintak : SELECT AVG nama_kolom FROM nama_tabel [WHERE]
Contoh : SELECT AVG (SKS) FROM Mata_Kuliah
·         MIN = Untuk mengetahui nilai terkecil dari sebuah kolom tertentu dalam perintah select.
Sintak : SELECT MIN nama_kolom FROM nama_tabel [WHERE]
Contoh : SELECT MIN (SKS) FROM Mata_Kuliah
·         MAX = Untuk mengetahui nilai terbesar dari sebuah kolom tertentu dalam perintah select.
Sintak : SELECT MAX nama_kolom FROM nama_tabel [WHERE]
Contoh : SELECT MAX (SKS) FROM Mata_Kuliah


G.    Saran Kritik
Saran saya jika mengerjakan tugas postres atau mysql kerjakanlah dengan teliti,. Jika tidak teliti aka nada banyak permasalahan yang sepeleh alias eror. Dan perbandingan mysql dan postgres sangatlah tidak bedah jauh. Malah ada yang sama persis querynya.
Kritik saya Query nya bikin pusing,. Jadi kita harus browsing dulu untuk mengetahui perbandingan DBMS ke dua ini. Tapi Alhamdulillah praktikum modul lima ini soal nya hanya 6 jadi tidak terlalu pusing berlebihan. Oke

H.    Manfaat bagi pembaca
Mungkin dengan membaca postingan saya ini,. Anda akan mendapatkan beberapa informasi tentang query Kedua DBMS. Terutama pada bab V ini yaitu AGREGASI SQL dan VIEW.

Daftar Pustaka
Blog Archive » AGREGASI SQL DAN VIEW.htm
Aprily Surya Rizanda Saputra  Tutorial SQL.htm
basis data (sintax) [Archive] - KoLU.htm

0 comments:

Post a Comment