Sistem Manajemen Basis Data

Slides:



Advertisements
Presentasi serupa
SQL – DML.
Advertisements

MATA KULIAH : “LOGIKA DAN ALGORITMA”
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
PERINTAH SQL.
MYSQL.
DDL & Aturan Referential
PEMROGRAMAN BASIS DATA
SUB QUERY.
SQL: Queries II, Constraints & Triggers (Chap. 5 – Ramakrishnan)
SQL.
Sistem Manajemen Basis Data
Manajemen Basis Data menggunakan SQL Server
Pertemuan : Basisdata Terapan
5. MENAMPILKAN DATA DARI BEBERAPA TABEL
Me-Retrieve Data Menggunakan Pernyataan SQL SELECT
DDL & Aturan Referential
DATA MANIPULATION LANGUAGE (DML)
Pemrograman Visual II Database Management System (DBMS) Oleh: Erna Sri Hartatik, S.Kom
SQL 2. Database TRANSACTION Tabel yang terlibat : Customer berisi data pelanggan (nama, alamat, dll) OderInfo berisi info pemesanan oleh pelanggan (tgl.
TRIGGER.
Microsoft SQL Server DDL dan DML dasar
Data Definition Language dan Data Manipulation Language
Praktikum Database Subquery Lanjutan dan View Abdul Kadir.
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
SQL (Structure Query Language)
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery
SQL: DML (2) Basis Data Pertemuan 07.
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
Sistem Basis Data Pertemuan 11 Presented by :
Dr. KUSRINI, M.KOM 66. Select * From nama_tabel [Where Kondisi] [Order by Kolom_x] Atau Select Kolom_1,Kolom_2,..Kolom_n From nama_tabel [Where Kondisi]
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
STRUCTURED QUERY LANGUAGE (SQL)
SQL (Structure Query Language)
Basis Data Terapan Antonius Wahyu Sudrajat, S. Kom., M.T.I Perintah Drop Sintak Menghapus Tabel Drop Aturan: Harus dimulai dari table yang paling children.
Pertemuan ke-sekian Structure Query Language (SQL) Lanjut
Pertemuan after UTS Structure Query Language (SQL)
PEMASARAN BERBASIS WEB
FUNGSI-FUNGSI AKSES MySql
TABEL VIRTUAL (VIEW) SYAIFUL HUDA, S.Kom.
SQL.
Bahasa query terpan.
Review Database Materi 1
Praktikum Database Subquery Lanjutan dan View
View dan Trigger Materi 5
Menggunakan Subquery untuk Memecahkan Query Query
Using Subqueries to Solve Queries
SUB QUERY LANJUTAN Oleh : SYAIFUL HUDA, S.Kom Powerpoint Templates.
Manajemen Basis Data menggunakan SQL Server
SQL DML Pertemuan 6 dan 7.
Data Manipulation Languange (DML) Perintah INSERT dan DELETE
Konsep Teknologi Informasi B
PEMASARAN BERBASIS WEB
Stucture Query Language
SQL OVERVIEW.
Dml(Data manipulation language)
Structured Query Language (SQL)
BASIS DATA KD 3.6 Query Berjenjang.
Query dalam sql server Pertemuan 6.
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
Data Manipulation Language (DML)
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
BASIS DATA LANJUT SEMESTER II
EXERCISE DML Part I Buatlah sebuah tabel baru nama = Dosen
Basis Data Bab 3 Structured Query Language (SQL).
Referensi Bahasa MySQL
Membuat Query ACCESS Query adalah fasilitas untuk mengakses data dengan cara  yang memungkin bagi kita untuk menampilkan data-data dari database dalam.
BAHASA BASIS DATA Retreiving Data dan Manipulation Function
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

Sistem Manajemen Basis Data Query Lanjut Materi 3 Sistem Manajemen Basis Data Eko Prasetyo Teknik Informatika Universitas Bhayangkara Surabaya 2012

Tabel-tabel yang digunakan lecturer students enrolled faculty grade_scale course

SubQuery Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain. Pada gambar, subquery (inner query) dijalankan sekali sebelum main query. Kemudian hasil dari subquery digunakan oleh main query (outer query). Berikut posisi penulisan subquery dalam SQL command :

Penggunaan Subquery Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values). Berikut ini diberikan contoh penggunaan subquery. Menampilkan nama mahasiswa (kolom name dalam tabel students) yang usianya lebih tua dari mahasiswa dengan sid = 12043077 select a.name from students as a where a.age > (select age from students where sid='12043077') Menampilkan isi tabel enrolled yang sid dimiliki oleh mahasiswa yang huruf awal namanya ‘R’ select * from enrolled where sid in (select sid from students where name like 'R%')

Subquery banyak kolom Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column. Berikut ini contoh pembandingan dengan banyak kolom dan baris :

Perbandingan kolom Pembandingan kolom dalam subquery banyak kolom dapat berupa : Pembandingan berpasangan (Pairwise Comparison SubQuery) Pembandingan tidak berpasangan (NonPairwise Comparison SubQuery)

Pembandingan berpasangan Menampilkan detail data mahasiswa yang sama fakultas dan sama dosen wali dengan Susi (12043122) dan Rudi (12023120) select a.sid, a.name, a.login, a.birthday from students as a where (a.fid, a.lid) in and a.sid not in ('12043122','12023120') (select b.fid, b.lid from students as b where b.sid in ('12043122','12023120'))

Pembandingan tidak berpasangan Menampilkan detail data mahasiswa yang sama fakultas dengan Susi (12043122) dan Rudi (12023120) dan sama dosen wali dengan Susi (12043122) dan Rudi (12023120) select a.sid, a.name, a.login, a.birthday from students as a where a.fid in and a.lid in and a.sid not in ('12043122','12023120') (select b.fid from students as b where b.sid in ('12043122','12023120')) (select b.lid from students as b where b.sid in ('12043122','12023120'))

Penggunaan query dalam klausa FROM Query bisa diletakkan di dalam klausa FROM untuk membentuk tabel temporer. Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database. Berikut ini contoh penggunaan Query dalam klausa FROM. Menampilkan nama dosen wali (lid dan name) bersama dengan jumlah mahasiswa yang menjadi anak walinya select a.lid, a.name, b.jumlah from lecturer as a, as b where a.lid = b.lid (select c.lid, count(c.sid) as jumlah from students as c group by c.lid)

Ekspresi scalar subquery Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris. Scalar subquery pada standart SQL-92 hanya terbatas pada : SELECT Statement (klausa FROM dan WHERE saja) Daftar VALUE dari statement INSERT Pada standart SQL-99, scalar subqueries dapat digunakan dalam : Kondisi dan ekspresi sebagai bagian dari perintah DECODE dan CASE. Semua klausa dari SELECT Statement kecuali GROUP BY.

Skalar subquery dalam ekspresi CASE Berikut ini contoh penggunaan scalar subquery dalam ekspresi CASE Menampilkan sid dan name mahasiswa, ditambah kolom dengan nilai “CUKUP” jika usianya diatas 20 tahun dan “KURANG” jika dibawah atau sama dengan 20 tahun select a.sid, a.name, ( CASE WHEN a.lid = (select b.lid from lecturer as b where b.name like 'Eko%') THEN 'Pak Eko' ELSE 'Bukan Pak Eko' END ) as dosen_wali from students as a

Subquery dalam klausa ORDER BY Berikut ini contoh penggunaan subquery dalam klausa ORDER BY Menampilkan sid dan name mahasiswa, ditambah kolom lid tapi urut terhadap nama dosen wali. select a.sid, a.name, a.lid from students as a order by (select b.name from lecturer as b where a.lid=b.lid )

Korelasi subquery Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query. Prosesnya sebagai berikut :

Korelasi subquery update Korelasi Subquery juga dapat digunakan untuk meng-update baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Update. Cara penulisan Korelasi Update: Lakukan denormalisasi tabel students dengan menambah kolom lecturer_name Isi kolom lecturer_name didapatkan dari tabel lecturer alter table students add column lecturer_name varchar(30) update students as a set lecturer_name = (select b.name from lecturer as b where b.lid=a.lid)

Korelasi subquery update

Korelasi subquery delete Contoh: melakukan penghapusan data students yang dosen wali (lid) dari dosen dengan nama depan ‘Eko’ Karena foreign key yang digunakan adalah lid maka dilakukan subquery ke tabel lecturer delete from students where lid = (select b.lid from lecturer as b where b.name like 'Eko%')

Operator EXISTS dan NOT EXISTS Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery. Jika ditemukan, maka : pencarian tidak dilanjutkan dalam inner query dan kondisi ditandai TRUE. Jika tidak ditemukan, maka : Kondisi ditandai FALSE dan kondisi pencarian dilanjutkan dalam inner query. Berikut penggunaan operator EXISTS untuk mencari data students yang mendapatkan nilai E. select a.sid, a.name from students as a where EXISTS (select 'X' from enrolled as b where b.grade = 'E' and b.sid=a.sid)

Operator EXISTS dan NOT EXISTS Contoh: Menampilkan data dosen yang jumlah anak walinya > 2. select a.lid, a.name from lecturer as a where NOT EXISTS (select 'X' from students as b where a.lid=b.lid having count(b.sid) > 2)

Any Question ? To Be Continued … Materi 4