BAB VI AGREGASI SQL DAN VIEW

dokumen-dokumen yang mirip
BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Data Manipulation Language (DML)

LAPORAN TUGAS BASIS DATA I

Modul 3 : Query Penggabungan Tabel

BAB IV PENGENALAN OPERATOR DASAR

MODUL 5 INTERNET PROGRAMMING : MySQL

3 rd DML : Selection(3)

Riyanto

Satuan Acara Perkuliahan

1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML.


MODUL 9 WEB PROGRAMMING : MySQL

BAHASA QUERY KOMERSIAL

Basis Data Spasial Modul 2

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

BAHASA QUERY KOMERSIAL

KURSUS ONLINE JASA WEBMASTERS

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

Macam - Macam Perintah Pada SQL

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

BAHASA QUERY KOMERSIAL

Modul 3 Pengelolaan Tabel

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

MODUL 3 PENGELOMPOKAN, PENGURUTAN, KRITERIA DATA, AGREGASI

PRAKTIKUM 5 QUERY Datasheet view Hasil tampilan data dari perintah query sesuai definisi dari Design view atau SQL view B.3. Query dengan Perint

Pertemuan 10. Bahasa Query Terapan

Kegiatan Praktikum Sistem Basis Data Kelompok B

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

APLIKASI BASIS DATA BERBASIS MICROSOFT ACCESS

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

LAPORAN PEMOGRAMAN JAVA RENTAL DVD

PRAKTIKUM 4 PENGAMBILAN DATA LANJUT

Sistem Basis Data. Pertemuan 13 SQL INSERT & SELECT TUJUAN

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

STRUCTURE QUERY LANGUAGE (SQL)

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

Praktikum Basis Data 2017 TE UM

MODUL PRAKTIKUM 06. Database Implementation dengan Aggregate. - Mengetahui dan membuat perintah dasar Aggregate Count, Sum, AVG, Min, Max.

LAPORAN PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL MIKA PURNAMASARI NASTADINA

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

Praktikum Basis Data 14 Structure Query Language 2

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

Basis Data. Bagian IV SQL (2) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

PEMROGRAMAN WEB 2 DATABASE,MYSQL. Rio andriyat krisdiawan, m.kom

DESAIN DATABASE. Pertemuan 06 3 SKS

Oracle Academic Initiative

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx.

MODUL 4 INTERNET PROGRAMMING DATABASE

Pertemuan 11: Fungsi Agregat

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

PENGANTAR PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Kontrak Kuliah. Perintah Manipulasi Data. Edi Sugiarto, S.Kom, M.Kom

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Structured Query Language

TUTORIAL. Mencari nilai Max dan Min

Praktikum TRIGGER. Tujuan :

MODUL 4 QUERY, VIEW, DAN ALJABAR RELASIONAL

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

Kunci komposit adalah kunci yang melibatkan lebih dari satu field Contoh tabel Tanggungan: Apa yang terjadi kalau kunci primer hanya berupa NIP?

BAB III ANALISA DAN DESAIN SISTEM

Modul Praktikum Basis Data 5 Query

VIEW : Tabel Virtual VIEW 5/29/2017

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Basis Data. DDL & Aturan Referential

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

SISTEM BASIS DATA STMIK - AUB SURAKARTA

Pemrograman Basis Data dan SQL Modul ke: Pemrograman PL/SQL

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

SQL. Pemrograman Web II. Ganjil

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

Kontrak Kuliah. Perintah Manipulasi Data Lanjutan. Edi Sugiarto, S.Kom, M.Kom

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

MODUL II SQL A. TUJUAN

MODUL 2 PRAKTIKUM SQL TINGAT LANJUT JOIN

Strctured Query Language BASIS DATA

SQL Data Definition Language (DDL)

Modul 6 Function dan Trigger

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

BERMAIN DATA DENGAN SQL SERVER

BAHASA QUERY KOMPLEKS

1. Hasil ERD dari Tabel satu adalah sebagai berikut: Figure 1: ERD Apotik. 2. Syntax CREATE tabel untuk masing - masing tabel :

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Transkripsi:

BAB VI AGREGASI SQL DAN VIEW 6.1 Bahasan dan Sasaran 6.1.1 Bahasan - Agregasi sql yang diperlukan dalam perhitungan data - View yang merupakan tabel bayangan yang berisi query baik dari satu tabel atau berbagai tabel 6.1.1 Sasaran 1. Mahasiswa memahami operator agregasi sql sehingga mempermudah dalam hal perhitungan data. 2. Mahasiswa memahami cara penggunaan view. 6.2 Materi 6.2.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. Adapun fungsi agregate yang disediakan oleh PostgreSQL dapat dilihat pada tabel berikut : 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 Berikut contoh aggregate query dari suatu tabel pegawai : Id_peg Nama_peg Alamat_peg Telp_peg Jabatan_peg 1 Hendro Solo 081223300 Teknisi 2 Tika Semarang 0897735357 Sekretaris 3 Wijaya Jogjakarta 0865433225 Kepala 4 Dodi Banyuwangi 076544677 Staf Untuk pencarian banyaknya pegawai kita bisa menggunakan query berikut : select count(*) from pegawai;

hasil : 4 untuk pencarian nilai terbesar berdasarkan ID : select max(id_peg) from pegawai; hasi : 4 untuk pencarian nilai terkecil : select min(id_peg) from pegawai; hasil : 1 untuk pencarian rata-rata : select avg(id_peg) from pegawai; hasil : 2.5000 6.2.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. Berikut struktur SQL untuk penampilan data : select nama_kolom from nama_tabel group by nama_kolom; Contoh : Kode_buk Judul_buk Pengarang_buk Penerbit_buk Tahun_buk Resensi_buk Harga_buk 11 Harry Potter JK Rowling British 2002 Fiksi 50000 12 Sistem Basis Data Abdul Kadir Andi 2002 Teks 30000 13 Pemrograman Abdul Kadir Andi 2004 Teks 60000 - Untuk menampilkan informasi nama pengarang : Select pengarang_buk from buku group by pengarang_buk; Pengarang JK Rowling Abdul Kadir 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;

Pengarang Count(*) JK Rowling 1 Abdul Kadir 2 - Untuk menampilkan informasi buku tiap tahunnya : Select tahun_buk, count(*) from buku group by tahun_buk; Tahun Count(*) 2004 1 2002 2 - Untu menampilkan informasi jumlah total uang tiap tahunnya : Select tahun_buk, sum(harga_buk) as total from buku group by tahun_buk; Tahun Total 2004 60000 2002 80000 6.2.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 No Tanggal Order Harga Order Pelanggan 1 2011/11/12 1000 Ratih 2 2011/10/23 1600 Anita 3 2011/09/02 700 Ratih 4 2011/09/03 300 Ratih 5 2011/08/30 2000 Teguh 6 2011/10/04 100 Anita

- 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 : Pelanggan SUM(HargaOrder) Anita 1700 6.2.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 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 ; txt_namadepan txt_namaakhir dt_tgllahir Umur Andhie Lala 1960-08-08 Dewasa Ade Fajar 1986-11-01 Balita Panuju Sasongko 1970-09-12 Dewasa Dudy Rudianto 1973-12-11 Dewasa Ana Hidayati 1988-10-01 Balita 6.2.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. 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 No Tanggal Order Harga Order Pelanggan 1 2011/11/12 1000 Ratih 2 2011/10/23 1600 Anita 3 2011/09/02 700 Ratih 4 2011/09/03 300 Ratih 5 2011/08/30 2000 Teguh 6 2011/10/04 100 Anita - Kita akan membuat view dari tabel diatas dengan ketentuan harga dikumpulkan berdasarkan nama pelanggannya. Sebagai berikut : create 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; Pelanggan SUM(HargaOrder) Anita 1700 Ratih 2000 Teguh 2000

Tugas Praktikum Mahasiswa Nim_mhs Nama_mhs Alamat_mhs Id_fak Primary key Foreign key Fakultas Id_fak Nama_fak Primary key Nim : 12 Nama : edi Alamat : malang Fakultas : SAINTEK Nim : 13 Nama : sinta Alamat : jogja Fakultas : SAINTEK Nim : 14 Nama : luki Alamat : ponorogo Fakultas : PSIKOLOGI 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. Kemudian 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. Sehingga hasilnya seperti berikut: Nama fakultas Count(*) Saintek 2

Psikologi 1 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. Tugas Rumah 1. Buat laporan praktikum menggunakan DBMS mysql untuk mengerjakan tugas praktikum 1-5 dan letakkan di blog. 2. Evaluasi perbedaan kelebihan dan kemudahan dari kedua DBMS.