Está en la página 1de 10

ALJABAR RELASIONAL

Disusun untuk Memenuhi Tugas Basis Data Terdistribusi

Yang dibina oleh Bu Triyanna W.,S.T., M.T.

Oleh:

Endra Kuswara

107533407696

Off A

Universitas Negeri Malang


Fakultas Teknik
Jurusan Teknik Elektro
Prodi S1 Pendidikan Teknik Informatika
ALJABAR RELASIONAL

Aljabar relasional merupakan kumpulan operasi terhadap relasi, dimana setiap operasi
menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru.

Operasi-operasi pada aljabar relasional:

kelompok_film
jenis harga_sewa
Action 2000
horor 2500
drama 3000

film
kode_film jenis judul jml_keping jml_film
A01 action Kungfu panda 2 3
A02 action spiderman 2 5
D01 drama Endles love 2 3
H01 horor Suster keramas 2 2

1. Selection
Operasi yang digunakan untuk memilih subset dari tuple-tuple pada suatu relasi.
Notasi : σp(r), p disebut selection predicate (yang menentukan pemilihan).
Contoh:
Dilakukan operasi σjenis=”drama”(film) pada relasi tabel film di atas.
Perintah SQL: SELECT * from film WHERE jenis=”drama”
Hasilnya: suatu relasi dengan tuple-tuple yang memiliki jenis sama dengan drama.

kode_film jenis judul jml_keping jml_film


D01 drama Endles love 2 3

2. Projection
Operasi yang digunakan untuk memilih subset dari kolom-kolom pada suatu tabel.
Notasi : π A1,A2,…,Ak(r), dimana A1, A2, …, Ak adalah daftar nama atribut dan r adalah nama
suatu relasi.
Contoh:
Dilakukan operasi π kode_film, jenis, judul(film) pada relasi tabel film di atas.
Perintah SQL: SELECT kode_film, film, judul from film .
Hasilnya:

kode_film jenis judul


A01 action Kungfu panda
A02 action spiderman
D01 drama Endles love
H01 horor Suster keramas
3. Union
Adalah operasi yang digunakan untuk menggabungkan hasil dari beberapa query.
Notasi : r È s, menghasilkan suatu relasi baru yang elemen barisnya merupakan elemen
dari r dan s, tidak ada duplikasi data. Untuk r È s harus valid : r, s harus memiliki jumlah
atribut yang sama.
Contoh:

S1

sid sname rating age


22 Dustin 7 45
31 Lubber 8 55
58 rusty 10 35

S2
sid sname rating age
28 yuppy 9 35
31 lubber 8 55
44 guppy 5 35
58 rusty 10 35

Dilakukan operasi S 1∪ S 2.
Perintah SQL: SELECT* FROM S1 UNION SELECT* FROM S2
Hasilnya:

sid sname rating age


22 dustin 7 45
31 lubber 8 55
58 rusty 10 35
44 guppy 5 35
28 yuppy 9 35

4. Intersection
Notasi : r Ç s, menghasilkan suatu relasi baru dengan elemen barisnya merupakan
elemen yang terdapat pada relasi r dan elemen tersebut juga terdapat pada relasi s, tidak
ada duplikasi data. r dan s harus memiliki jumlah atribut yang sama.
Contoh:
Dilakukan operasi S 1∩ S 2.
Perintah SQL: SELECT* FROM S1 INTERSECT SELECT* FROM S2
Hasilnya:

sid sname rating age


31 lubber 8 55
58 rusty 10 35

5. Set difference
Notasi r – s, hasilnya relasi yang elemen barisnya terdapat pada r tetapi tidak terdapat di
s. r dan s harus memiliki jumlah atribut yang sama.
Contoh:
Dilakukan perintah S1 – S2.
Perintah SQL: SELECT* FROM S1 MINUS SELECT* FROM S2
Hasilnya:

sid sname rating age


22 Dustin 7 45

6. Cross/cartesian product
Cross Product atau Cross Join atau Cartesian Product digunakan untuk
mengkombinasikan record dari dua tabel. Cross join pada hakekatnya merupakan inner
join di mana kondisi join selalu dievaluasi true. Secara matematis, jika A dan B
merupakan dua himpunan, maka cross join-nya = A X B.
Contoh:
Dilakukan perintah S1 X R1.
Perintah SQL: SELECT* FROM S1, S2.

S1

sid sname rating age


22 Dustin 7 45
31 Lubber 8 55
58 rusty 10 35

R1
sid bid day
22 101 10/10/99
58 103 11/12/96
Hasilnya:
S1 X R1

sid sname rating age sid bid day


22 Dustin 7 45 22 101 10/10/99
22 Dustin 7 45 58 103 11/12/96
31 Lubber 8 55 22 101 10/10/99
31 Lubber 8 55 58 103 11/12/96
58 rusty 10 35 22 101 10/10/99
58 rusty 10 35 58 103 11/12/96

7. Join

Merupakan operasi yang digunakan untuk menggunakan informasi dari dua atau
lebih relasi ( ). Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih
tabel di dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baru—yang
disebut sebagai joined table.

 Condition Join
Condition Join identik dengan Selection Condition. Bentuk operasinya yakni :
R c S = s c (R ´ S)
Dalam kasus ini kondisi yang biasanya terjadi ditentukan dengan tanda >, <, ≤, ≥, <>
Jadi, Condition Join ditentukan untuk menjadi sebuah Cross – Product yang diikuti
dengan satu selection.

 Equijoin
Notasi Aljabar Relasional: R S
Satu kasus khusus yang biasa terjadi pada operasi join R S dengan terdiri dari
persamaan dari bentuk R.name1 = S.name1
Equijoin dapat diklasifikasikan ke dalam dua jenis: inner dan outer.
a. Inner Join (Intersection)
Inner join pada dasarnya adalah menemukan persimpangan (intersection) antara dua buah
tabel.
Gambar 1. Inner Join
Sintaks SQL Inner Join atau Intersection adalah sebagai berikut:
SELECT x1, x2, ..., xn
FROM A
INNER JOIN B
ON A.join_key = B.join_key
atau
SELECT x1, x2, ..., xn
FROM A, B
WHERE A.key = B.key

Contoh:

b. Outter Join
Outer join dibagi ke dalam tiga jenis: Left , Right, dan Full outer join (Union).
- Left Outer Join
Left outer join (atau left join) mengembalikan semua nilai dari tabel kiri ditambah
dengan nilai dari tabel kanan yang sesuai (atau NULL jika tidak ada nilai yang sesuai).
Gambar 2. Left Outer Join

Sintaks SQL Left Outer Join adalah sebagai berikut:


SELECT x1, x2, ..., xn
FROM A
LEFT OUTER JOIN B
ON A.join_key = B.join_key

Contoh:

- Right Outter Join


Right outer join (atau right join) mengembalikan semua nilai dari tabel kanan
ditambah dengan nilai dari tabel kiri yang sesuai (atau NULL jika tidak ada nilai yang sesuai).

Gambar 3. Right Outer Join


Sintaks SQL Right Outer Join adalah sebagai berikut:
SELECT x1, x2, ..., xn
FROM A
RIGHT OUTER JOIN B
ON A.join_key = B.join_key

Contoh:
- Full outer join (Union).
Full outer join (atau full join) pada hakekatnya merupakan kombinasi dari left dan
right join.

Gambar 4. Full Outer Join (Union)


Sintaks SQL Full Outer Join adalah sebagai berikut:
SELECT x1, x2, ..., xn
FROM A
FULL OUTER JOIN B
ON A.join_key = B.join_key

Untuk beberapa DBMS yang tidak mendukung sintaks SQL Full Outer Join, dapat pula
memanfaatkan UNION seperti pada sintaks SQL berikut ini:
SELECT x1, x2, ..., xn
FROM A
LEFT OUTER JOIN B
ON A.join_key = B.join_key
UNION
SELECT x1, x2, ..., xn
FROM A
RIGHT OUTER JOIN B
ON A.join_key = B.join_key
 Natural Join
Natural join adalah satu equijoin dimana persamaan ditentukan pada semua field yang
mempunyai nama sama dalam R dan S. Dalam kasus ini, kita dapat mengabaikan
condition join, defaultnya adalah condition join yang merupakan kumpulan equality pada
semua field biasa. Kasus seperti ini disebut Natural Join, dan properti bagusnya adalah
hasilnya dijamin tidak memiliki 2 field dengan nama sama.
Contoh:
SELECT C.*, P.PRODUCTID, P.PRODUCTNAME FROM CATEGORIES C
INNER JOIN PRODUCTS P
ON P.CATEGORYID = C.CATEGORYID

También podría gustarte