You are on page 1of 24

Mahasiswa memahami operasi-operasi di

dalam aljabar relasional


Mahasiswa memahami DML untuk select
Mahasiswa mampu memetakan query aljabar
relasional ke dalam query SQL
Hubungan Antara Aljabar Relaional dengan
SQL
Aljabar
Relasional
SQL
- Aljabar relasional merupakan bahasa
formal dari query.
- Aljabar relasional merupakan bahasa
query yang diterjemah dalam bentuk
simbol-simbol matematis
- Sangat bermanfaat untuk melakukan
rencana evaluasi query bersifat
prosedural
- Aljabar relasional merupakan dasar
dari SQL
- SQL merupakan bahasa komersial dari
query.
- Bersifat user friendly bagi
programmer (bersifat rasional)
4
Operasi-Operasi Dasar:
-Select
-Project
-Cartesian Product
-Union
-Set Defference
Operasi-Operasi Tambahan:
-Theta Join
-Natural Join
-Intersection
-Devision
5
Fungsi :untuk menyeleksi tuple yang
memenuhi predikat tertentu dari suatu relasi.
Simbol :
Operasi ini melibatkan:
1.Operand : konstanta/bilangan
2.Operator aritmatika :
3.Operator logika :
o
(sigma)
= s > > = < , , , , ,
) ( ), ( ), ( not or and v .
6
SELECT (2)
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

S2
Contoh:
S2 adalah table Sailor
Kita ingin
menampilkan sailor
yang expert dengan
kriteria rating>8
) ( 2
8
S
rating >
o
sid sname rating age
28 yuppy 9 35.0
58 rusty 10 35.0

Operasi
Hasil
7
Tujuan :untuk memperoleh atribut tertentu dari
suatu relasi.
Simbol : (pi)
H
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

S2
Contoh:
sname rating
yuppy 9
lubber 8
guppy 5
rusty 10

) (
,
2 S
rating sname
t
age
35.0
55.5

) ( 2 S
age
t
quer
y
8
Tujuan: membentuk suatu relasi dari dua relasi yang
terdiri dari kombinasi tuple-tuple yang mungkin
Simbol: x (cross)
9
CARTESIAN PRODUCT (2)
Contoh:
sid bid day
22 101 10/10/96
58 103 11/12/96


R1 sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0


S1
(sid) sname rating age (sid) bid day
22 dustin 7 45.0 22 101 10/10/96
22 dustin 7 45.0 58 103 11/12/96
31 lubber 8 55.5 22 101 10/10/96
31 lubber 8 55.5 58 103 11/12/96
58 rusty 10 35.0 22 101 10/10/96
58 rusty 10 35.0 58 103 11/12/96


Query: R1 x S1
Hasil: R1 dan S1 mempunyai field yang sama yaitu sid
10
Sintaks
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]

Keterangan:
select_list berisi nama kolom dari tabel yang akan ditampilkan
table_source berisi nama tabel-tabel yang dijadikan sebagai sumber
dari data.
Klausa WHERE digunakan jika informasi yang ditampilkan
(pernyataan SELECT) memiliki kriteria tertentu.
Klausa GROUP BY, HAVING, dan ORDER BY akan dijelaskan kemudian

Perintah select digunakan untuk menampilkan informasi tertentu
dari suatu tabel
Operator yang dapat digunakan dalam
klausa WHERE adalah:
Operator Description
= Equal (sama dengan)
<> Not equal (tidak sama dengan)
> Greater than (Lebih dari)
< Less than (kurang dari)
>= Greater than or equal (lebih dari sama dengan)
<= Less than or equal (kurang dari sama dengan)
BETWEEN Between an inclusive range
LIKE
Search for a pattern (pencarian dengan pola
tertentu)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
13
Soal : Tampilkan data sailor yang ratingnya lebih dari 8
Syntax :

SELECT *
From Sailor
WHERE rating>8
Hasil
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS
14
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

Tabel Sailor
sid sname rating age
28 yuppy 9 35.0
58 rusty 10 35.0

BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 16
Untuk memilih baris tertentu dari sebuah himpunan baris data (record) yang
memenuhi kondisi dan membuang baris yang lain.

Notasi:
o
<kondisi pilihan>
(<nama relasi>)
Dapatkan pegawai
yang gajinya kurang dari 200
Dapatkan pegawai yang
nomornya >= 7 dan
gajinya kurang dari 200
o
salary<200
(E)
o
nr>=7

AND salary < 200
(E)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 17
Untuk memilih attribut (kolom) tertentu dari himpunan / sub
himpunan dan membuang yang lain.

Notasi:
t
<daftar attribut>
(<nama relasi>)
Tampilkan gaji pegawai
Tampilkan nomor pegawai
Beserta gajinya
t
salary
(E)
t
nr, salary
(E)
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 18
Dapatkan nama dan gaji pegawai
yang gajinya kurang dari 200
Result t
name, salary
(Temp)
Temp o
salary<200
(E)
t
name, salary
(o
salary<200
(E))
atau step by step
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 19
SELECT *
FROM E, D
E X D
Pada prakteknya jarang digunakan
Seringkali error
Memberikan hasil yang besar
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 20
Operasi umum yang berguna
Sama dengan cartesian product yang diikuti dengan
selection
Lebih efisien untuk menggunakan join secara
langsung dari pada cartesian product
SQl query yang sama dapat ditranslasikan ke
beberapa pernyataan aljabar relasional yang
memberikan hasil yang sama
BASIS DATA JURUSAN TEKNIK INFORMATIKA - ITS 21
o
dept=dnr
(E X D)
E JOIN
dept=dnr
D
atau
1. Tampilkan data mahasiswa yang alamat
asalnya Surabaya!
2. Tampilkan nama dan alamat dari mahasiswa
yang mempunyai NRP 5100100109!
3. Tampilkan nama mata kuliah beserta
kodenya yang mempunyai sks lebih dari 2!
Ramakrishnan, Raghu, Gehrke, Johannes.
2003. Database Management Systems, Third
Edition. New York: The McGraw-Hill
Companies, Inc.
http://www.databasteknik.se/webbkursen/r
elalg-lecture/index.html
http://www.w3schools.com/sql