Anda di halaman 1dari 45

PengantarBasis Data

Relational Algebra and Calculus


Part I
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 1
Review
Formal and Informal Definition
Type of Constraints
Type of Violations
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 2
Relational Algebra
Unary
Operasi dalam satu table
Binary
Operasi yang melibatkan dua tabel
Additional
Operasi matematika tambahan
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 3
Unary Relational
Operations
SELECT
Select a subset of the tuples from a relation based
on a selection condition.
PROJECT
Select specific columns from a relation and
discards the other columns.
RENAME
Renaming attributes and/or relation.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 4
Mini World
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 5
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 6
SELECT
Select operation is denoted by sigma ().
It is used to select a subset of the tuples from
a relation based on selection condition.
Tuples that fit the condition will be appearing
in the result.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 7
SELECT
Pegawai yang mendapatkan undangan
Dharma Wanita pada hari Jumat adalah
pegawai yang berjenis kelamin wanita saja.
Pada tabel apa kita harus mulai mencari?
Adakah kriteria khusus yang digunakan?

Sex =F
(EMPLOYEE)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 8
SELECT
Ternyata, selain berjenis kelamin wanita,
undangan Dharma Wanita hanya ditujukan
kepada wanita yang memiliki penghasilan
dibawah 30.000

Sex =F
(
Salary <30000
(EMPLOYEE))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 9
SELECT
Ternyata, selain berjenis kelamin wanita,
undangan Dharma Wanita hanya ditujukan
kepada wanita yang memiliki penghasilan
dibawah 30.000 dan bekerja di Dept 4.

Sex =F
(
Salary <30000
(
Dno =4
(EMPLOYEE))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 10
SELECT
Apakah harus mencari dari Jenis Kelamin
terlebih dahulu?
Apakah boleh bila mencari pegawai yang
bekerja di Dept. 4 terlebih dahulu?
Apakah boleh bila mencari wanita yang
berpenghasilan kurang dari 30.000 terlebih
dahulu?
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 11
SELECT
Case 1:
Department
Sex
Salary
Case 2:
Salary
Department
Sex
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 12
Case 1

Dno =4
(EMPLOYEE)

Dno =4
(
Sex =F
(EMPLOYEE))

Dno =4
(
Sex =F
(
Salary <30000
(EMPLOYEE)))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 13
Case 2

Salary <30000
(EMPLOYEE)

Salary <30000
(
Dno =4
(EMPLOYEE))

Salary <30000
(
Dno =4
(
Sex =F
(EMPLOYEE)))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 14
SELECT
Commutative
Nesting
Operasi Baris
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 15
PROJECT
Project is denoted by pi ()
It is used to keep certain column and discard
others.
This operation creates a vertical partitioning.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 16
PROJECT
Salah seorang pegawai hendak mengadakan hajatan,
ia meminta bagian SDM untuk memberikan data
nama lengkap, salutation dan alamat dari semua
pegawai untuk dikirimi undangan.
Pada tabel apa?
Kolom apa saja yang dibutuhkan?

Fname, Minit, Lname, Address, Sex
(EMPLOYEE)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 17
PROJECT
Ternyata, untuk menghemat kertas, hanya
dibutuhkan Fname, Lname dan Address.

Fname, Lname, Address
(
Fname, Minit, Lname, Address,
Sex
(EMPLOYEE))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 18
PROJECT
Apakahbersifat komutatif?

Fname, Lname, Address
(
Fname, Minit, Lname, Address,
Sex
(EMPLOYEE))
SAMA DENGAN

Fname, Minit, Lname, Address, Sex
(
Fname, Lname, Address
(EMPLOYEE))

Fname, Lname, Address
(EMPLOYEE)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 19
PROJECT
Project is not commutative

<list1>
(
<list2>
(R)) =
<list1>
(R)
It can be happen as long as list1
is a subset of list2.
Operasi kolom.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 20
list1 list2
Relational Algebra
Expressions
Single relational algebra expression by nesting
the operations.
Using multiple expressions by using
temporary variables.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 21
Single: Nesting
Selain oleh pegawai wanita, kegiatan dharma wanita
juga dapat diikuti oleh istri dari pegawai pria.
Tampilkan nama-nama istri dari pegawai pria.

Dependent_name
(
Sex=F and Relationship=Spouse
(DEPENDENT))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 22
Multi: Temporary
Selain oleh pegawai wanita, kegiatan dharma wanita
juga dapat diikuti oleh istri dari pegawai pria.
Tampilkan nama-nama istri dari pegawai pria.
BarisIstri <-
Sex=F and Relationship=Spouse
(DEPENDENT)
KolomNamaIstri <-
Dependent_name
(BarisIstri)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 23
RENAME
Rename is denoted by rho ()
It is used to renamethe column names.
Necessary in some cases (JOIN)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 24
RENAME
BarisIstri <-
Sex=F and Relationship=Spouse
(DEPENDENT)
BarisIstri will have exactly column names as what
DEPENDENT have (Essn).
BarisIstri (SSN_Suami, Nama_Istri, JK, Tgl_Lahir,
Status) <-
Sex=F and Relationship=Spouse
(DEPENDENT)
The 5 attributes of BarisIstri are renamed to SSN_Suami,
Nama_Istri, JK, Tgl_Lahir, Status.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 25
Soal Latihan
Kerjakanempat soal dibawahini masing-masing
denganduacarapenulisanrelational algebra.
1. Carilahnama-namadantanggal lahir dari pegawai
yang memiliki bawahan.
2. Dimanakahalamat dari pegawai yang memiliki
jabatanpaling tinggi.
3. Tampilkannamadannomor proyekyang sedang
dikerjakandi Houston.
4. Departemenberapakahyang memiliki proyekdi
Stafford.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 26
Soal Latihan
Translate denganbahasamanusia, apayang
sedangdicari dari query ini? Berikanresult dari
query berikut.
1.
Pname, Plocation
(
Dnum=5
(PROJECT))
2.
Essn
(
Relationship=Daughter OR Son
(DEPENDENT))
3.
Pno, Essn
(
Hours >10 AND Hours <30
(WORKS_ON))
4.
Dno
(
Sex=M AND Salary >40000
(EMPLOYEE))
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 27
Binary Relational
Operations
UNION
INTERSECTION
DIFFERENCE
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 28
UNION
Binary operation
Union is denoted by
Duplicate tuples are eliminated
Two operand must be type compatible
Number of attributes
Domain compatible
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 29
UNION
Carilah nama dan ssn dari pegawai yang
menjadi bawahan atau atasan.
Cari nama dan ssn dari pegawai yang menjadi
bawahan.

Fname, Ssn
(
Super_ssn !=NULL
(EMPLOYEE))
Cari nama dan ssn dari pegawai yang menjadi
atasan.

Fname, Super_ssn
(EMPLOYEE)
Gabungkan kedua hasil di atas
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 30
UNION
RESULT <-
Fname, Ssn
(
Super_ssn !=
NULL
(EMPLOYEE))
RESULT <-
Fname,
Super_ssn
(EMPLOYEE)
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 31
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
Fname Ssn
Franklin 333445555
James 888665555
Ahmad 987987987
UNION
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
James 888665555
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 32
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
Fname Ssn
Franklin 333445555
James 888665555
Ahmad 987987987
Duplicate records
will be eliminated
automatically
(Franklin & Ahmad)
INTERSECTION
Binary operation
Intersection is denoted by
The result is a relation that includes in both R
and S.
Two operand must be type compatible
Number of attributes
Domain compatible
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 33
INTERSECTION
Carilah nama dan ssn dari pegawai yang
menjadi bawahan sekaligus atasan.
Cari nama dan ssn dari pegawai yang menjadi
bawahan.

Fname, Ssn
(
Super_ssn !=NULL
(EMPLOYEE))
Cari nama dan ssn dari pegawai yang menjadi
atasan.

Fname, Super_ssn
(EMPLOYEE)
Iriskan kedua hasil di atas
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 34
INTERSECTION
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 35
Fname Ssn
Franklin 333445555
Ahmad 987987987
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
Fname Ssn
Franklin 333445555
James 888665555
Ahmad 987987987
Franklin & Ahmad
appear in both
relations
DIFFERENCE
Have other alternative names: MINUS, EXCEPT
R S means all relation in R but not in S
S R means all relation in S but not in R
Two operand must be type compatible
Number of attributes
Domain compatible
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 36
DIFFERENCE
Carilah nama dan ssn dari pegawai yang tidak
pernah menjadi atasan.
Set1 =Cari nama dan ssn dari pegawai yang
menjadi bawahan.

Fname, Ssn
(
Super_ssn !=NULL
(EMPLOYEE))
Set 2 =Cari nama dan ssn dari pegawai yang
menjadi atasan.

Fname, Super_ssn
(EMPLOYEE)
Cari semua anggota dari set 1 namun bukan
merupakan set 2.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 37
DIFFERENCE
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 38
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
Fname Ssn
Franklin 333445555
James 888665555
Ahmad 987987987
Franklin & Ahmad
appear in set 2,
thus, they were
excluded in
final result
Fname Ssn
John 123456789
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
DIFFERENCE
Carilahnamadanssndari pegawai yang tidak
pernahmenjadi bawahan.
Set 1 =Cari namadanssndari pegawai yang
menjadi atasan.

Fname, Super_ssn
(EMPLOYEE)
Set 2 =Cari namadanssndari pegawai yang
menjadi bawahan.

Fname, Ssn
(
Super_ssn!=NULL
(EMPLOYEE))
Cari semuaanggotadari set 1 namunbukan
merupakanset 2.
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 39
DIFFERENCE
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 40
Fname Ssn
John 123456789
Franklin 333445555
Alicia 999887777
Jennifer 987654321
Ramesh 666884444
Joyce 453453453
Ahmad 987987987
Fname Ssn
Franklin 333445555
James 888665555
Ahmad 987987987
Franklin & Ahmad appear in set 2,
thus, they were excluded in final result
Fname Ssn
James 888665555
Resume
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 41
123
999
666
453
333
987
BAWAHAN ATASAN
888
Soal Latihan
Berikut ini adalah dua relation yang memiliki
attribute yang kompatible
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 42
Soal Latihan
Tuliskanhasil dari operasi berikut ini
1. STUDENT UNIONINSTRUCTOR
2. INSTRUCTOR UNIONSTUDENT
3. STUDENT INTERSECTINSTRUCTOR
4. INSTRUCTOR INTERSECTSTUDENT
5. STUDENT MINUSINSTRUCTOR
6. INSTRUCTOR MINUSSTUDENT
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 43
Soal Latihan
1. Apakah operasi UNION bersifat
commutative?
2. Apakah operasi INTERSECT bersifat
commutative?
3. Apakah operasi DIFFERENCE bersifat
commutative?
4. Pada situasi apakah, DIFFERENCE dapat
bersifat commutative?
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 44
Soal Latihan
Operand TypeCompatible Commutative Associative
SELECT - -
PROJECT - -
UNION
INTERSECT
DIFFERENCE
KS141304 PBD Institut Teknologi Sepuluh Nopember (ITS) 45
Berikan tanda V dan X pada setiap sel di tabel berikut