You are on page 1of 26

SQL

Part 1
2
Review Pertemuan Ke-VIII
Tuple relational calculus adalah query yang non-
prosedural.
Tuple relational calculus menggambarkan informasi
yang diinginkan tanpa memberi prosedurnya secara
detil untuk mendapatkan informasi tersebut.
Sebuah query dalam tuple relational calculus ditulis :
{t|P(t)}


3
Pendahuluan
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.
4
Pendahuluan
Meskipun SQL adalah bahasa query, namun
SQL mempunyai banyak kemampuan lain
disamping melakukan query terhadap basis
data.
SQL mempunyai kemampuan untuk
mendefinisikan struktur data, modifikasi data
dalam basis data dan menentukan konstrain
sekuriti.
5
LATAR BELAKANG
SQL merupakan bahasa basis data relasional
standard. Terdapat macam-macam versi SQL.
Versi aslinya pertama kali dikembangkan oleh
IBM San Jose Research Laboratory.
6
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan
skema relasi, penghapusan relasi, membuat
indeks dan modifikasi skema relasi.
7
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Interactive Data-Manipulation Language
(DML)
DML merupakan bahasa query yang
berdasarkan pada aljabar relasi dan kalkulus
relasi tuple.
Termasuk didalamnya adalah perintah untuk
penyisipan, penghapusan dan modifikasi.
8
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Embedded DML
Bentuk embedded SQL biasanya terdapat
dalam bahasa pemrograman multi guna
seperti PL/I, Cobol , Pascal dan Fortran.
9
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
View Definition
DDL SQL memasukkan perintah untuk
mendefinisikan view.
10
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Authorization
DDL SQL memasukkan perintah untuk
menentukan hak-hak akses ke relasi dan
view.
11
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Integrity
DDL SQL memasukkan perintah untuk
menentukan konstrain integritas yang harus
dipenuhi oleh data yang tersimpan dalam
basis data.
12
LATAR BELAKANG
Bahasa SQL mempunyai beberapa bagian
yaitu:
Transaction control
SQL memasukkan perintah-perintah untuk
menentukan awal dan akhir transaksi.
Beberapa implementasi juga memungkinkan
locking data untuk concurrency control.
13
STRUKTUR DASAR
Struktur dasar dari ekspresi SQL terdiri dari
tiga klausa yaitu : select, from dan where.
14
Select
Klausa Select berhubungan dengan operasi
proyeksi dari aljabar relasional.
Operasi ini digunakan untuk mendaftar semua
atribut yang diinginkan sebagai hasil suatu
query.
15
From
Klausa From berhubungan dengan operasi
Cartesian-product dari aljabar relasional.
Operasi ini mencatat semua relasi yang
discan dalam evaluasi suatu query.
16
Where
Klausa Where berhubungan dengan operasi
predikat seleksi dari aljabar relasional.
Operasi ini terdiri dari sebuah predikat yang
menyangkut atribut-atribut dari relasi yang
muncul dalam klausa from.
17
query SQL
Sebuah query SQL biasanya mempunyai
bentuk :
Select A1,A2,..An
From r1,r2,.rn
Where P
18
Klausa Select
Contoh : Tentukan nama-nama dari semua
cabang bank dalam relasi loan Query-nya :
select branch-name from loan
Hasil dari query tersebut adalah sebuah relasi
yang berisi sebuah atribut tunggal dengan
nama branch-name.
19
Klausa Select
Bahasa query formal bersifat matematis
dimana relasi adalah sebuah himpunan
sehingga tuple-tuple yang telah muncul tidak
akan muncul lagi (tidak akan terjadi duplikasi
tuple).
Tapi dalam prakteknya untuk menghilangkan
duplikasi tuple sangat memakan waktu.
20
Klausa Select
Oleh karenanya SQL memungkinkan
terjadinya duplikasi tersebut.
Dari contoh di atas, maka query-nya akan
mencatat setiap branch-name setiap kali
branch-name tersebut ditemukan dalam relasi
loan.
21
Klausa Select
Untuk kasus di atas jika diinginkan untuk
menghilangkan duplikasi maka dapat
disisipkan distinct setelah select.
Query di atas ditulis ulang sebagai berikut :
Select distinct branch-name from loan
22
Klausa Select
Klausa selest dapat juga mengandung operasi
aritmatika yaitu operator : +, -, *, / dan operasi
terhadap konstanta atau atribut dari tuple.
Contoh query berikut :
Select branch-name, loan-number, amount *
100 From loan
23
Klausa Select
Akan menghasilkan sebuah relasi yang sama
dengan relasi loan, kecuali bahwa atribut
amount dikalikan dengan 100.
SQL-92 juga menyediakan tipe data spesial
seperti tipe date, dan memungkinkan
beberapa fungsi aritmatika untuk beroperasi
pada tipe-tipe ini.
24
Summary

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.

25
SOAL LATIHAN
1.Diketahui relasi berikut :
Student(snum: integer, sname: string, major: string, level: string,
age: integer)
Class(name: string, meets at: time, room: string, d: integer)
Enrolled(snum: integer, cname: string)
Faculty(d: integer, fname: string, deptid: integer)
Tuliskan query di bawah ini dalam SQL
Find the age of the oldest student who is either a History
major or is enrolled in a course taught by I. Teach.
Find the names of all classes that either meet in room R128 or
have ve or more students enrolled.
Find the names of all students who are enrolled in two classes
that meet at the same time.

26
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

You might also like