q
Theta Join
Disimbolkan dengan
q
Digunakan untuk menggabungkan 2 relasi
dengan menggabungkan kolom dengan
kondisi atau syarat tertentu
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
B C D
B1 C1 D1
B1 C2 D2
B2 C1 D3
B2 C2 D4
R2
A R1.B R2.B R1.C R2.C D
A1 B1 B1 C1 C1 D1
A1 B1 B1 C1 C2 D2
A2 B2 B2 C2 C1 D3
A2 B2 B2 C2 C2 D4
R1
R1.B=R2.B
R2
q
Theta Join (lanj.)
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
B C D
B1 C1 D1
B1 C2 D2
B2 C1 D3
B2 C2 D4
R2
A R1.B R2.B R1.C R2.C D
A1 B1 B1 C1 C1 D1
A1 B1 B1 C1 C2 D2
A2 B2 B2 C2 C1 D3
A2 B2 B2 C2 C2 D4
R1
R1.B=R2.B
R2
(R
1
)
q
(R
2
) s
q
(R
1
x R
2
)
atau dalam contoh di bawah adalah:
R
1
R
1
.B = R
2
.B
R
2
s
R
1
.B = R
2
.B
(R
1
x R
2
)
Operator Union
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
A B C
A3 B3 C3
A4 B4 C4
A5 B5 C5
R2
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
R1 R2
Disimbolkan dengan
Digunakan untuk menggabungkan baris
(record/tuple) dari 2 tabel relasi
Operator Union (lanj.)
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
A B C
A3 B3 C3
A4 B4 C4
A5 B5 C5
R2
A
A1
A2
A3
A4
A5
(p
A
R
1
) (p
A
R
2
)
(p
A
R
1
) (p
A
R
2
)
Operator Different
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
A B C
A3 B3 C3
A4 B4 C4
A5 B5 C5
R2
Disimbolkan dengan
Digunakan untuk mengurangi baris (record/tuple)
dari tabel ke-1 yang sama dengan baris di tabel ke-2
A B C
A1 B1 C1
A2 B2 C2
R1 R2
Operator Different (lanj.)
Tampilkan ID dan nama Siswa yang tidak
mendaftar di Universitas manapun
p
ID, nama
((p
ID
Siswa p
ID
Pendaftar) Siswa)
nmKmps almt pendftrn ID nama nilai rata2
Kampus Siswa Pendaftar
ID nmKmps melalui putusan
Operator Intersection
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
A B C
A3 B3 C3
A4 B4 C4
A5 B5 C5
R2
Disimbolkan dengan
Digunakan untuk memilih baris (record/tuple) yang
sama dari 2 tabel relasi
A B C
A3 B3 C3
R1 R2
Operator Intersection (lanj.)
A B C
A1 B1 C1
A2 B2 C2
A3 B3 C3
R1
A B C
A3 B3 C3
A4 B4 C4
A5 B5 C5
R2
R
1
R
2
R
1
(R
1
R
2
)
A B C
A3 B3 C3
R1 R2
Union, Different, dan Intersection
A B C
R1
A B C
R2
A B C
R3
Operator Union (), Different (), dan Intersection
() umumnya digunakan untuk relasi atau tabel yang
memiliki schema yang sama
r Operator Rename
Disimbolkan dengan r
Digunakan untuk mengganti nama atribut (kolom)
suatu schema
Seringkali digunakan untuk operasi union, different,
intersection, dan self-joins
nmKmps almt pendftrn ID nama nilai rata2
Kampus Siswa Pendaftar
ID nmKmps melalui putusan
r Operator Rename (lanj.)
Menampilkan list yang berisi daftar nama siswa dan
nama kampus
r
c(nama)
(p
nmKmps
Kampus) r
c(nama)
(p
nama
Siswa)
nmKmps almt pendftrn ID nama nilai rata2
Kampus Siswa Pendaftar
ID nmKmps melalui putusan
r Operator Rename (lanj.)
Menghilangkan keambiguan pada operasi self-joins
Contoh:
Tampilkan Kampus yang berada pada alamat yang
sama
s
n
1<>
n
2
(r
c
1
(n
1,a,p1
)
(Kampus) r
c
2
(n
2,a,p2
)
(Kampus))
nmKmps almt pendftrn ID nama nilai rata2
Kampus Siswa Pendaftar
ID nmKmps melalui putusan
Tugas
1. Cari no pegawai, nama pegawai, dan email untuk semua
pegawai! (tabel HR_EMPLOYEES)
2. Cari nama dan email untuk semua pegawai yang bekerja
pada departemen Research! (tabel HR_EMPLOYEES dan
HR_DEPARTEMENTS)
3. Tampilkan nomor projek, nomor departemen, nama
manajer departemen, email, dan gaji untuk projek yang
berlokasi di kota Kediri! (tabel HR_EMPLOYEES,
HR_DEPARTEMENTS, HR_JOBS, dan HR_LOCATIONS)
4. Cari nama pegawai yang bekerja pada semua projek yang
dikontrol oleh nomor departemen 5! (tabel HR_EMPLOYEES,
HR_DEPARTEMENTS dan HR_JOB_HISTORY)
Database Human Resources