MODUL V SUB QUERY & VIEW

dokumen-dokumen yang mirip
MODUL 9 VIEW A. TUJUAN B. PETUNJUK C. DASAR TEORI. Praktikum Basis Data 2017 TE UM

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

LAPORAN TUGAS BASIS DATA I

MODUL 8. Sub Query Pada baris dan Kolom PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

MODUL IV FUNGSI AGREGAT

Praktikum Basis Data 2017 TE UM

MODUL II SQL A. TUJUAN

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

PERTEMUAN 6 SUBQUERY

MODUL VII STORED PROCEDURE

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

JobsheetTEUM MODUL VI TRIGGER

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Oracle Academic Initiative

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

RENCANA PEMBELAJARAN

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

BAHASA QUERY KOMERSIAL

Praktikum Sistem Basis Data

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

Modul 3 : Query Penggabungan Tabel

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

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

MODUL I PENGENALAN MYSQL

Oracle Academic Initiative

Riyanto

Kegiatan Praktikum Sistem Basis Data Kelompok B

Pertemuan 11. Bahasa Query Terapan Lanjutan

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMPLEKS

Tujuan : Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval)

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Implementasi Basis Data

PRAKTIKUM BASIS DATA

BAHASA QUERY KOMERSIAL

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

Oracle Academic Initiative

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

VIEW : Tabel Virtual VIEW 5/29/2017

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

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

System Technology Database 1. Struktur Dasar SQL. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

MODUL VII STORED PROCEDURE

TABLE JOIN SQL SERVER 2005

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

KSI B ~ M.S. WULANDARI

M0564-Pengantar Sistem Basisdata 12/ 1

Oracle Academic Initiative

Modul Praktikum II Matakuliah Basis Data 2

BAB 2 LANDASAN TEORI

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

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

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

Microsoft Access 2007

PERTEMUAN 10 PEMBUATAN TABEL

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

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Sub Query. Rosa Ariani Sukamto Blog: Website:

IMPLEMENTASI BASIS DATA. By : I Ngh Putu Mardika, S.Pd

PERTEMUAN 5 & 6 MEMBUAT QUERY

Microsoft Access 2007

V. BASIS DATA RELATIONAL. Baris berupa RECORD Model Data Relational Kolom berupa FIELD

Penggunaan Komponen Combo Box

Basis Data (2) Model Data & Skema

BAB V. Basis Data Darmawan Satyananda 74

MICROSOFT ACCESS. Database Relationship. Basis Data Relationship Database and Query - Teknik Informatika UNSIL Page 1

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

LAPORAN PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL MIKA PURNAMASARI NASTADINA

SATUAN ACARA PERKULIAHAN (SAP)

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

DESAIN DATABASE. Pertemuan 06 3 SKS

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

PRAKTIKUM 4 PENGAMBILAN DATA LANJUT

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

BAB III METODOLOGI DAN RANCANGAN PENELITIAN

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

ENTITY RELATIONAL MODEL. Dr.Budi Setiyono, MT

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

DATA DEFINITION LANGUAGE (DDL)

Stored Procedure. M. Saefudin SKom, MMSI

MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

Contoh SQL Constraint

MENAMPILKAN DATA MENGGUNAKAN SQL SELECT

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:

BAB I PENDAHULUAN. 1.1 Latar Belakang

LATAR BELAKANG IBM San Jose Research Laboratory.

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

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

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

Aplikasi Spreadsheet Microsoft Excel (1)

Transkripsi:

MODUL V SUB QUERY & VIEW A. TUJUAN Memahami keterhubungan entitas di dalam basis data. Memahami operasi subquery dan jenis-jenisnya di dakam pengambilan data Mampu menyelesaikan kasus-kasus pengambilan data yang kompleks dengan pendekatan subquery Memahami konsep dasar view di dalam basis data Memahami implementasi view, termasuk algoritma dan jenis-jenisnya yang tersedia. Mampu menyelesaikan kasus-kasus pengambilan data dengan menggunakan pendekatan view B. PETUNJUK C. DASAR TEORI 1. Subquery Subquery (disebut juga subselect atau nested select / query atau inner- select) adalah query atau yang ada di dalam perintah SQL lain misalnya.keberadaan subquery secara nyata mampu menyederhanakan persoalanpersoalan rumit berkaitan query data. Sebagai contoh, misal terdapat pernyataan sebagai berikut: dengan nim mahasiswa Secara normal, diperlukan dua tahapan untuk menyelesaikan kasus di atas.pertama adalah mendapatkan alamat dari mahasiswa yang memiliki nim 104. Langkah selanjutnya, baru kita bisa mengetahui data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104.Adapun dengan memanfaatkan subquery, maka penyelesaian kasus di atas hanya memerlukan sebuah query (akan dijelaskan nanti).

Pada hakekatnya, subquery sangat berguna ketika sebuah query didasarkan pada nilainilai yang tak diketahui. Sintaks formal subquery diperlihatkan sebagai berikut: Subquery dapat diklasifikasikan ke dalam tiga jenis : scalar, multiple-row, dan multiple column. a. Scalar Subquery Subquery baris tunggal (scalar) hanya mengembalikan hasil satu baris data. Bentuk subquery ini diperlihatkan seperti Gambar 1. Gambar 1 Scalar subquery Subquery baris tunggal dapat menggunakan operator baris tunggal =, >,>=, <, <=, atau <>. b. Multiple-Row Subquery Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Bentuk subquery ini diperlihatkan seperti Gambar 2. Gambar 2 Multiple-row subquery Subquery baris ganda dapat menggunakan operator komparasi IN, ANY /SOME, atau ALL. c. Multiple-Column Subquery Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu kolom data. Bentuk subquery ini diperlihatkan seperti Gambar 3.

Gambar 3 Multiple-column subquery 2. View View dapat didefinisikan sebagai tabel maya (virtual) atau logical yang terdiri dari himpunan hasil query. Tidak seperti umumnya tabel di dalam basis data relasional, view bukanlah bagian dari skema fisik. View bersifat dinamis, ia mengandung data dari tabel yang direpresentasikannya. Dengan demikian, ketika tabel yang menjadi sumber datanya berubah, data di view juga akan berubah. Merujuk pada dokumentasi MySQL, sintaks pendefinisian view diperlihatkan sebagai berikut: 3. Updatable View View dapat berisi read-only atau updatable. Kondisi ini sangat dipengaruhi oleh adanya pendefinisian view itu sendiri. Bagaimanapun, untuk menciptakan updatable view, pernyataan berikut : Pernyataan yang didefinisikan di view harus mengikuti aturan-aturan sebagai tidak boleh merujuk ke lebih dari satu tabel. Pernyataan tidak boleh menggunakan klausa atau Pernyataan harus tidak menggunakan. Pernyataan harus tidak merujuk ke view lain yang tidak updatable. Pernyataan tidak boleh mengandung ekspresi apa pun, misalnya fungsi agregat.

Pada hakekatnya, jika sistem database mampu menentukan pemetaan balik dari skema view ke skema tabel dasar, maka view memungkinkan untuk di update. Dalam kondisi ini, operasi-operasi dan dapat diterapkan pada view. D. LATIHAN 1. Himpunan Entitas Dalam latihan ini digunakan kembali tiga buah tabel ambil_mk, dan matakuliah meliputi mahasiswa, yang telah dibuat sebelumnya, dan ditambah dengan dua buah tabel baru, yaitu dosen dan jurusan. Untuk itu, terlebih dahulu ciptakan tabel dosen dan jurusan dengan struktur sebagai berikut : Data yang digunakan adalah sebagai berikut (sesuaikan agar sama persis) : Tabel mahasiswa. nim nama jenis_kelamin Alamat 101 Arif L Jl. Kenangan 102 Budi L Jl. Jombang 103 Wati P Jl. Surabaya 104 Ika P Jl. Jombang 105 Tono L Jl. Jakarta 106 Iwan L Jl. Bandung 107 Sari P Jl. Malang Tabel ambil_mk nim kode_mk 101 PTI447 103 TIK333 104 PTI333 104 PTI777 111 PTI123 123 PTI999

Tabel matakuliah kode_mk nama_mk sks semester kode_dos PTI447 Praktikum Basis Data 1 3 11 TIK342 Praktikum Basis Data 1 3 11 PTI333 Basis Data Terdistribusi 3 5 10 TIK123 Jaringan Komputer 2 5 33 TIK333 Sistem Operasi 3 5 10 PTI123 Grafika Multimedia 3 5 12 PTI777 Sistem Informasi 2 3 99 Tabel dosen kode_dos nama_dos alamat_dos 10 Suharto Jl. Jombang 11 Martono Jl. Kalpataru 12 Rahmawati Jl. Jakarta 13 Bambang Jl. Bandung 14 Nurul Jl. Raya Tidar Tabel jurusan kode_jur nama_jur kode_dos TE Teknik Elektro 10 TM Teknik Mesin 13 TS Teknik Sipil 23 Himpunan entitas di atas dapat direpresentasikan ke dalam diagram skema (schema diagram) seperti Gambar 4 Gambar 4 Diagram Skema

2. Scalar Subquery Contoh subquery baris tunggal adalah mendapatkan data mahasiswa yang Jenis kelaminnya sama dengan mahasiswa dengan nama Wati Bisa digambarkan, langkah pertama dari operasi di atas adalah mendapatkan jenis kelamin mahasiswa dengan nama Wati kemudian hasilnya yakni P akan digunakan oleh main query. 3. Multiple-Row Subquery Pada subquery ini, kita menggunakan operator komparasi a. Operator IN Operator, atau memiliki arti : sama dengan member di dalam list. Sebagai contoh, kita bisa menggunakan operator ini untuk mendapatkan data dosen yang mengajar matakuliah b. Operator ANY / SOME Operator nilai yang dikembalikan oleh subquery. memiliki arti : membandingkan suatu nilai dengan setiap Misalkan kita ingin mendapatkan data matakuliah yang memiliki sks lebih besar dari sembarang sks matakuliah di semester 3.

c. Operator ALL Operator dikembalikan oleh subquery. Operator = ANY ekuivalen dengan IN. Operator < ANY ekuivalen dengan MAX (kurang dari maks). Operator > ANY ekuivalen dengan MIN (lebih dari min). memiliki arti : membandingkan suatu nilai dengan semua nilai yang Misalkan kita ingin mendapatkan data matakuliah yang memiliki sks lebih besar dari semua sks matakuliah di semester 3. Operator < ALL ekuivalen dengan MIN (kurang dari min). Operator > ALL ekuivalen dengan MAX (lebih dari maks) 4. Multiple-Column Subquery Subquery kolom ganda (atau tabel) juga menggunakan operator komparasi, atau. Pada query ini, nilai dari subquery dalam bentuk kolom ganda dikomparasi main query..sebagai contoh, misalkan kita ingin menampilkan data

matakuliah yang semester dan sksnya sesuai dengan semester dan sks matakuliah 5. Operator EXISTS dan NOT EXISTS Operator Operator dan digunakan pada correlated subquery untuk memeriks apakah subquery mengembalikan hasil atau tidak. Apabila subquery mengembalikan hasil, tidak mengembalikan hasil. akan mengembalikan nilai true. Begitu pula sebaliknya, jika Sebagai contoh, pernyataan berikut akan mendapatkan data matakuliah yang diambil oleh mahasiswa. Pernyataan berikut akan mendapatkan data matakuliah yang tidak diambil oleh mahasiswa. 6. Menggunakan View Secara umum, pembuatan view tidak berbeda dengan objek-objek database lainnya. a. Ketikkan pernyataan pembuatan view vgetmhs berikut di editor teks.

b. Eksekusi file view di atas (sesuaikan path lokasi penyimpanan file). c. Pemanggilan view tak ubahnya satu tabel. d. Apabila diperlukan, kita juga diperkenankan melakukan penyaringan pada view. Untuk mendapatlkan informasi mengenai pendefinisian view, gunakan perintah e. Sebagaimana objek-objek database lainnya view dapat dihapus menggunakan perintah Apabila diperlukan view yang sudah terdefinisi juga dapat dimodifikasi dengan menggunakan perintah 7. View Kompleks View dapat mendefinisikan suatu pernyataan yang kompleks, misalnya melibatkan fungsifungsi agregat,join atau bahkan subquery. Sebagai ilustrasi view berikut melibatkan join untuk mendapatkan matakuliah yang tidak diambil oleh mahasiswa terdaftar. 2016 Jurusan Teknik Elektro FT-UM 9

Contoh pemanggilan view vjoin Pada pendekatan subquery, view di atas dapat kita tuliskan sebagai berikut: 8. Nested View Umumnya view diciptakan dengan mengacu pada tabel (seperti contoh-contoh sebelumnya). Namun juga tak menutup kemungkinan bagi kita untuk menciptakan view berbasis view. Pendekatan inilah yang dikenal sebagai view bersarang (nested view). a. Ketikkan pernyataan pembuatan view berikut editor teks. b. Eksekusi file view. c. Buat view baru merujuk pada view vmk. Misalkan dengan tambahan predikat semster sama dengan 5. d. Eksekusi file view vmk5. Hasil pemanggilan masing-masing view diperlihatkan sebagai berikut. 2016 Jurusan Teknik Elektro FT-UM 10

9. Updatable view Sebagaimana disinggung di awal, view dapat bersifat updatable. Untuk mengetahui lebih jelasnya, perhatikan dan ikuti langkah-langkah berikut : a. Ketikkan pernyataan view sederhana sebagai beikut. b. Periksa terlebih dahulu hasil pengambilan data. c. Lakukan modifikasi pada view vupdate (perhatikan, bukan di tabel). d. Periksa hasil modifikasi di view. 2016 Jurusan Teknik Elektro FT-UM 11

e. Langkah selanjutnya periksa data di tabel mahasiswa. f. Terlihat bahwa modifikasi di view vupdate akan memengaruhi data di tabel mahasiswa. 10. Check Option Pada saat menciptakan updatable view, MySQL mengizinkan kita untuk menspesifikasikan bagaimana parser akan bekerja. Langkah ini dilakukan dengan mengaktifkan klausa. Sederhananya, opsi ini mengakibatkan parser me-review ketika memproses pernyataan update di view. Ada dua jenis keyword yang bisa digunakan saat aktivasi check option : Keyword didefinisikan, sedangkan kasus nested.view. dan membatasi pemeriksaan hanya sebatas pada view yang mencakup semua view yang terkait misalkan dalam Untuk mengetahui penggunaan check option, perhatikan langkah-langkah berikut : a. Definisikan updatable view sebagai berikut: b. Definisikan nested view vmklocal dengan opsi. 2016 Jurusan Teknik Elektro FT-UM 12

c. Definisikan nested view vmkcascade dengan opsi d. Berikan perintah untuk menambah data baru di view vmklocal. e. Berikan perintah untuk menambah data baru di view vmklocal. Penambahan pada view vmkcascade gagal dilaksanakan karena terhambat oleh rule opsi kurang dari 2. E. TUGAS PRATIKUM dimana view induk (vmkoption) menyaratkan bahwa sks harus 1. Dapatkan data mahasiswa yang alamatnya sama dengan nim 102, tidak termasuk mahasiswa tersebut. 2. Dapatkan matakuliah yang tidak diajar oleh dosen terdaftar. 3. Dapatkan data dosen yang yang mengajar matakuliah dengan sks lebih kecil dari sembarang sks. 4. Definisikan updatable view untuk mendapatkan nim dan nama mahasiswa yang mengambil matakuliah di semester 3 5. Definisikan view untuk mendapatkan nama dosen yang mengajar matakuliah dengan jumlah siswa terbanyak. F. TUGAS RUMAH 1. Dapatkan data dosen yang mengajar matakuliah yang sksnya kurang dari sks matakuliah yang diajar dosen yang sekaligus menjadi ketua jurusan Teknik Elektro, tidak termasuk ketua jurusan Teknik Elektro. 2016 Jurusan Teknik Elektro FT-UM 13

2. Dapatkan nim, nama dan alamat mahasiswa yang tempat tinggalnya sama dengan dosen yang mengajar matakuliah dengan sks dibawah rata-rata. 3. Definisikan updatable view dengan check option untuk mendapatkan data matakuliah yang sksnya di antara 1 dan 4, dan sem esternya lebih dari semester terkecil. 4. Definisikan nested view untuk mendapatkan data mahasiswa yang jenis kelaminnya L, dengan main view berupa mahasiswa yang mengambil sembarang matakuliah yang sksnya lebih dari sks terkecil. 2016 Jurusan Teknik Elektro FT-UM 14