Laporan Praktikum Desain Basis Data "AGREGASI SQL DAN VIEW"

BAB I
DASAR TEORI


1. AGREGASI

Agregasi adalah salah satu perintah yang bisa 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. Ada beberaapa fungsi agregasi yang di sediakan ;

COUNT(*) untuk Menghitung jumlah baris
SUM(NAMA KOLOM) untuk Menghitung penjumlahan data
MAX(NAMA_KOLOM) untuk Mencari nilai terbesar
MIN(NAMA KOLOM) untuk Mencari nilai terkecil
AVG(NAMA KOLOM) untuk Mencari nilai rata-rata

Untuk menggunakan peritah yang mengandung agregasi kita bisa menggunakan perintah SELECT, berikut query dasar perintah agregasi :

select count(*) from namatabel;
select max(namakolom) from namatabel;
select min(namakolom) from namatabel;
select avg(namakolom) from namatabel;


2.  GROUP BY

Group by ini digunakan untuk mengelompokkan kolom tertentu berdasarkan perintah SELECT. Group by ini sering digunakan bersama dengan Agregasi, digunakan sebagai pelengkap perintah yang lebih kompleks dan spesifik. Query dasar yang bisa digunakan :

select namakolom from namatabel group by namakolom;
Berikut ini query yang diunakan bersama dengan salah satu perintah Agregasi

select namakolom, count(*)  from namatabel group by namakolom; //menggunakan perintah agregasi count


3.  HAVING

Pemakaian HAVING bersama dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan. Jadi apabila pada perintah SELECT yang digunakan untk menentukan kondisi adalah WHERE, tapi untuk perintah GROUP BY ini yang digunakan adalah HAVING. Contoh Query yang menggunakan perintah HAVING :

select namakolom, sum(namakolom)  from namatabel group by namakolom having sum(namakolom) = kondisi;


4.  CASE

Walaupun SQL bukanlah bahasa perograman, tapi dalam prosesnya kita dapat bebas mengontrol data untuk kita tampilkan kembali. Dalam perintah SELECT kita mengenal perintah WHERE  yang digunakan menentukan kondisi dari data yang ingin kita tampilkan, sedangkan CASE perbandingan dalam bentuk output kolom. Jadi intinya penggunaan CASE untuk menampilkan data tersendiri berupa kolom baru dengan data dari kolom sebelumnya yang kita manipilasi isisnya.Struktur didalam select seperti berikut :

CASE WHEN condition THEN result
[WHEN ...]
[ELSE result] END


5. VIEW

Views merupakan tabel duplikasi tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli, tapi view ini cuma menduplikasi tabel awal dengan adanya modifikasi. 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. Berbeda dengan temporary tabel, view ini tidak hilang ketika kita ingin mengaksesnya lagi. Berikut query dasar untuk menampilkan view :


create view nama_tabel_view as query;

REFERENSI LAIN YANG MENJADI LANDASAN DASAR TEORI

Fungsi Agregrasi

Fungsi agregasi digunakan untuk menampilkan kebutuhan perolehan data seperti menampilkan
banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar atau terkecil ,
dan lain sebagainya. Macam-macam fungsi agregasi dalam SQL adalah sebagai berikut :
 Count ; fungsi ini digunakan untuk mendapatkan nilai banyaknya record dari query.
 Sum ; fungsi ini digunakan untuk mendapatkan nilai total suatu atribut bertipekan
numeric dari query.
 Avg ; fungsi ini digunakan untuk mendapatkan nilai rata-rata suatu atribut bertipe
numeric hasil query.
 Max ; fungsi ini digunakan untuk mendapatkan nilai terbesar dari suatu atribut hasil
query
 Min ; fungsi ini digunakan untuk mendapatkan nilai terkecil dari suatu atribut hasil
query.
Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL:
 Contoh 1
Menampilkan banyaknya record dosen
select count ( * )
from DOSEN
 Contoh 2
Menampilkan banyaknya mata kuliah pada semester enam
select count (* )
from KULIAH
where SEMESTER = ‘ 6 ’
 Contoh 3
Menampilkan total sks disemester enam
select sum ( SKS )from KULIAH
where SEMESTER = ‘ 6 ‘
 Contoh 4
Menampilkan rata-rata sks untuk tiap-tiap semester
select avg ( SKS ) from KULIAH
 Contoh 5
Menampilkan mahasiswa dengan usia termuda
select max ( TGL_LHR )
from MAHASISWA
 Contoh 6
Menampilkan mahasiswa dengan usia tertua
select min ( TGL_LHR )

from MAHASISWA

Pengubahan Nilai Atribut
Pengubahan nilai atribut dapat menggunakan perintah update, perintah ini berfungsi memperbaharui
atau meng-update satu atau lebih dari satu baris atau sekelompok baris didalam tabel.
Sintak :
update T
set KOLOM = VALUES
where ( kondisi / keadaan )
Keterangan :
 T : nama tabel yang akan mengalami perubahan record
 KOLOM : nama atribut pada tabel yang akan mengalami perubahan nilai
record
 VALUES : nilai baru record pada atribut dalam tabel yang akan menggantikan
nilai lama.
 Kondisi / keadaan : keadaan yang menentukan record nama yang akan mengalami
update / perubahan nilai. Jika klausa where tidak digunakan pada
ekspresi maka, perubahan akan dilakukan pada semua record di
dalam tabel.
Contoh 1
update MAHASISWA
set ASAL = ‘ KENDARI’
where NIM = 9961003
Tampilannya :


Contoh 2
update MAHASISWAset FAK = ‘ TI’, PRODI = ‘T_KIMIA’
where NIM = 9961002
Tampilannya :


update DOSEN
set NAMA_DOSEN = NAMA_DOSEN + ‘ , Ssi ’
where STATUS = ‘ TETAP’
Tampilannya :


SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. SQL View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain. SQL View dibuat atau dibangun dengan SELECT statement. Di dalam query SELECT tersebut kita bias menambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali. SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan,  mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Kegunaan VIEW :
  • Menyembunyikan Kolom atau Baris
  • Menampilkan hasil dari penghitungan
  • Menyembunyikan Sintak SQL yang rumit
  • Fungsi Built-in Layer
  • Menyediakan level isolasi antara data tabel dan View data pengguna
  • Memberikan proses permission yang berbeda untuk view yang berbeda dari tabel yang sama
  • Memberikan trigger berbeda pada view yang berbeda dari tabel yang sama
Membuat VIEW
Sample :
CREATE VIEW CustomerNameView AS
SELECT [Name] AS CustomerName
FROM CUSTOMER;

Menggunakan VIEW :
SELECT *
FROM CustomerNameView
CREATE VIEW [nama_view] AS
[select_statement]

VIEW untuk hide column/row
Contoh, misalkan pengguna aplikasi View Ridge ingin menyederhanakan daftar customer, sehingga yang tampil hanya nama dan nomor telepon saja.
CREATE VIEW BasicCustomerData AS
SELECT[Name], AreaCode, PhoneNumber
FROM CUSTOMER;
Contoh lain, jika pihak manajemen ingin menyembunyikan kolom AcquisitionPrice dan SalesPrice, maka dapat membuat view dengan tanpa mengikutsertakan kolom-kolom tersebut.
View juga dapat digunakan untuk menyembunyikan baris data tertentu. Yaitu dengan menambahkan klausa WHERE pada query-nya.

VIEW untuk SQL yang complex
Dengan menggunakan views, programmer (developer) tidak perlu memasukan SQL statement yang kompleks ketika mereka membutuhkan suatu data.
Misalkan view berikut menghasilkan data ketertarikan customer terhadap artist yang ada.
CREATE VIEW CustomerInterests AS
SELECTC.Name as Customer, A.Name as Artist
FROM CUSTOMER C
JOIN CUSTOMER_ARTIST_INT CI
ON C.CustomerID = CI.CustomerID
JOIN ARTIST A
ON CI.ArtistID = A.ArtistID;

Melihat VIEW yang ada di Database
SQL Query Analyser. Melihat VIEW yang ada di Database
SQL Server Enterprise Manager
Mengubah VIEW
Sample :
ALTER VIEW CustomerNameView AS
SELECT [Name] AS NamaPelanggan
FROM CUSTOMER;
ALTER VIEW [nama_view] AS
[select_statement]

Menghapus VIEW
Sample :
DROP VIEW CustomerNameView;
DROP VIEW [nama_view]

BAB II
HASIL PRAKTIKUM MENGGUNAKAN MYSQL

  1. Mecari min, max, avg dari tabel mahasiswa yang pernah dibuat di modul sebelumnya
  2. Menampilkan rata-rata id atau nim_mah yang memiliki data nim lebih dari 12
  3. Tampilkan jumlah mahasiswa berdasarkan fakultas
  4. Tampilkan seperti nomer 3 denga prasyarat jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan
  5. Tampilkan data mahasiswa dengan prasyarat jika jenis kelaminnya L maka tertulis laki-laki dan bila P maka perempuan
  6. Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, dan nama fakultas









BAB III
PERBANDINGAN PSQL DAN MYSQL PADA MODUL INI

  1. Kali ini pada soal pengerjaan antara penggunaan psql dengan mysql tidak adanya perbedaan penggunaan query yang mencolok so banyak kesamaan di antara keduanya.
  2. Untuk perbedaan yang saya ketahui mungkin pada penulisan count(*) untuk mysql sendiri tidak boleh adanya spasi antara count dengan (*) sedangkan untuk psql mungkin dibolehkan adanya satu spasi.
BAB IV
KESIMPULAN

Praktikum bab pembahasan sekarang tidak ada perbedaan dalam querynya, hanya perbedaan karakter spasi di MySQL. Fungsi perhitungan ringkasan (agresiasi) sudah sesuai, namun dalam praktikum tidak ada relasi, cenderung menggunakan satu tabel tertentu saja.  Jika mengagresiasi dari banyak tabel pasti akan lebih kompleks. Juga contohnya kurang, seperti pada query having. Pada contoh hanya diberikan having sum, padahal di sana bisa juga diisi misalnya having count, contoh penggunaan average. Semoga pembahasan kali ini dapat bermanfaat bagi pembaca yang ingin mengetahui agregasi dan view dalam PostgreSQL dan MySQL.

Kritik dan Saran
Masih banyak hal yang belum saya pelajari ketika menemukan perintah lain selain yang ada di modul, sebaiknya kita lebih giat lagi latihan entah itu menggunakan PSQL ataupun MySQL. Carilah modul-modul yang lain guna meningkatkan kemampuan kita...

Manfaat
Saya pribadi sangat berharap semoga Laporan Hasil Praktikum ini dapat memberikan gambaran kepada pembaca dalam mempelajari lebih dalam tentang Desain Basis Data serta memberikan motivasi kepada saya pribadi untuk tetap semangat belajar Desain Basis Data.

DAFTAR PUSTAKA

  1. Modul praktikum desain basis data
  2. http://bintech.wordpress.com/2010/06/13/view-pada-sql/
  3. http://web.unair.ac.id/admin/file/f_33720_SDP_5_SQL2.pdf

Previous
Next Post »

Selamat Datang Di Blog AnimeSubz-Cyber
Thanks for visiting ~

Kalau mau berkomentar ada baiknya baca peraturannya dulu sebelum berkomentar !

Rules:

- Blogger yang baik adalah blogger yang meninggalkan jejak
- Anda komentar, saya komen balik and follow blog anda
- No spam, No flood, No junk, No iklan, N sara,No s*x,
- Jangan menggunakan Live Link !
- Gunakan bahasa yang sopan
- Blog Ini Dofollow jadi Berkomentarlah dengan Sopan!!

Thanks For Your Attention ! ConversionConversion EmoticonEmoticon