Post on 19-Jan-2016
description
SQLPart 2
2
Review Pertemuan Ke-IX
Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-friendly.
Oleh karena itu dikenal SQL sebagai bahasa query yang marketable.
SQL menggunakan kombinasi aljabar relasional & kalkulus relasional.
Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.
3
Klausa Where
Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang dibuat pada cabang Perryridge dengan jumlah lebih besar dari $1200”.
Query-nya ditulis sebagai berikut :
4
Klausa Where
Select loan-numberFrom loanWhere branch-name = “Perryridge” and
amount >1200
5
Klausa Where
SQL menggunakan konektivitas lojik and, or dan not dalam klausa where.
SQL juga memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil daripada atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu nilai lain.
6
Klausa Where
Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya antara $90000 dan $100000, ditulis sebagai berikut :
Select loan-numberFrom loanWhere amount between 90000 and 100000
7
Klausa From
Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari bank, temukan nama dan loan number mereka”.
8
Klausa From
Select distinct customer-name, borrower.loan-number
From borrower, loanWhere borrower.loan-number =
loan.loan.number
9
Operasi Rename
SQL menyediakan mekanisme operasi rename untuk relasi dan atribut.
Operasi rename dalam SQL menggunakan klausa as dengan bentuk :
Nama-lama as nama-baru
10
Operasi Rename
Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat ditulis sebagai berikut :
11
Operasi Rename
Select distinct customer-name, borrower.loan-number as loan-id
From borrower,loanWhere borrower.loan-number = loan.loan-
number and branch-name = “Perryridge”
12
OPERASI HIMPUNAN
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except.
Union identik dengan U, intersect identik dengan ∩ dan except identik dengan – pada aljabar relasional.
13
Operasi Union
Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman, rekening atau keduannya pada bank ditulis :
(select customer-name from depositor)union(select customer-name from borrower)
14
Operasi Union
Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa select.
Sehingga pada query di atas, jika Jones (seorang customer) mempunyai beberapa rekening atau pinjaman (atau keduannya) pada bank, maka Jones hanya akan muncul sekali.
Jika duplikasi diinginkan ada maka harus ditulis union all.
15
Operasi Intersect
Contoh : untuk mendapatkan semua customer yang memiliki pinjaman dan rekening pada bank, query-nya ditulis :
(select distinct customer-name from depositor)
intersect
(select distinct customer-name from borrower)
16
Operasi Intersect
Operasi intersect secara otomatis menghilangkan duplikasi.
Jika diinginkan duplikasi tetap ada ditulis intersect all.
17
Operasi Except
Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening tetapi tidak memiliki pinjaman pada bank, ditulis :
(select distinct customer-name from depositor)
except
(select customer-name from borrower)
18
Operasi Except
Operasi except secara otomatis menghilangkan duplikasi.
Jika diinginkan ada maka ditulis : except all.
19
Summary
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except.
Union identik dengan U, intersect identik dengan ∩ dan except identik dengan – pada aljabar relasional.
Operasi union secara otomatis akan menghilangkan duplikasi, tidak seperti klausa select.
20
SOAL LATIHAN1.Diketahui relasi yang menyimpan penerbangan pesawat: Flights(flno: integer, from: string, to: string, distance: integer, departs: time, arrives: time, price: integer) Aircraft(aid: integer, aname: string, cruisingrange: integer) Certied(eid: integer, aid: integer) Employees(eid: integer, ename: string, salary: integer) Tuliskan query dalam SQL : 1. For all aircraft with cruisingrange over 1,000 miles, nd the name of the
aircraft and the average salary of all pilots certied for this aircraft. 2. Find the names of pilots certied for some Boeing aircraft. 3. Find the aids of all aircraft that can be used on routes from Los Angeles
to Chicago. 4. Identify the flights that can be piloted by every pilot who makes more
than $100,000. (Hint: The pilot must be certied for at least one plane with a suciently large
cruising range.)
21
REFERENSI
Referensi Wajib:
Raghu Ramakhrisnan, Johannes Gehrke , “Database Management System” 6th Edition, Mc Graw Hill,2006
(chapter : 5) Referensi Tambahan/dianjurkan:
David M.Kroenke, Database Concepts 4th Edition, Prentice Hall 2004