Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Oleh:
Endra Kuswara
107533407696
Off A
Aljabar relasional merupakan kumpulan operasi terhadap relasi, dimana setiap operasi
menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru.
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.
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:
S1
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:
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:
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:
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
R1
sid bid day
22 101 10/10/99
58 103 11/12/96
Hasilnya:
S1 X R1
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
Contoh:
Contoh:
- Full outer join (Union).
Full outer join (atau full join) pada hakekatnya merupakan kombinasi dari left dan
right join.
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