ALJABAR RELASIONAL DAN KALKULUS RELASIONAL Betha Nurina Sari
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL Betha Nurina Sari, M. Kom
Aljabar Relasional / Relational Algebra Operasi-operasi ini digunakan untuk melakukan permintaan dasar temu kembali (retrieval requests) pada relasi. Urutan operasi aljabar membentuk relational algebra expression.
Operator Dasar 1 • Seleksi 2 • Proyeksi 3 • Union (Gabungan) 4 • Minus/set difference 5 • Cartesian Product
Operator Tambahan Set Intersection (Irisan) Natural Join Theta Join Division/Quotient N-ary Join
Select - Operasi select berfungsi untuk menyeleksi tupel-tupel yang memenuhi predikat yang diberikan dari sebuah tabel relasi. - Simbol sigma “σ” Sintaks : σP(E 1) Keterangan : • • P : kondisi operasi logika E 1 : Tabel / Relasi
Select • P merupakan formula dari kalkulus perbandingan (proportional calculus) yang berisi terms yang dihubungkan oleh : ^ (and), v (or), ~ (not) setiap term salah satu dari : <atribut> op <atribut> or <konstanta> atau <atribut> op <atribut> dengan op salah satu dari : =, ≠, >, ≥, <, ≤
Select • Operasi SELECT σ adalah komutatif : sehingga, σ<kondisi 1>(σ<kondisi 2>(R)) = σ<kondisi 2> (σ<kondisi 1> (R)) • • • Operasi select dapat di cascade dengan sembarang urutan : σ<kondisi 1> (σ<kondisi 2> (σ<kondisi 3> (R)) = σ<kondisi 2> (σ<kondisi 3> (σ<kondisi 1> (R)) Operasi SELECT cascade dapat diganti dengan sebuah seleksi dengan disambung oleh semua kondisi menjadi σ<kondisi 1> (σ<kondisi 2> (σ<kondisi 3> (R)) = σ<kondisi 1> AND <kondisi 2> AND <kondisi 3> (R)))
Contoh Tampilkan tupel 2 yang memiliki atribut B = “b” dari tabel E 1 Maka • σB=’b’(E 1) Hasilnya :
Contoh Select Pada relasi/tabel film sebagai berikut : kode_film jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 D 01 drama Love Story 2 3 H 01 horor 2 2 Evil Death Contoh : dilakukan operasi σjenis=“action”(film) Hasilnya : suatu relasi dengan tuple-tuple yang memiliki jenis sama dengan action. kode_film jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5
Proyeksi / Project Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi Simbol : π (pi) Sintaks : π a 1, . . , am (E 1) Ket : • • • m <= K, K adalah jumlah atribut (aritas) a = nama atribut E 1 = relasi
Contoh Tampilkan atribut A dan C dari tabel E 1. maka : • π A, C(E 1) Hasilnya :
Contoh Proyeksi p Contoh : dilakukan operasi kode_film, jenis, judul pada relasi film sebagai berikut : kode_film jenis judul (film) jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 D 01 drama Love Story 2 3 H 01 horor 2 2 Hasilnya : Evil Death kode_film jenis judul A 01 action Spiderman A 02 action Spiderman 2 D 01 drama Love Story H 01 horor Evil Death
Perbedaan Selection dan Projection
RENAME • • Operasi RENAME �� (�� ) �� RENAME atribut �� ) (B 1, B 2, …Bn)(�� Contoh : Memasangkan senior yang 2 th diatasnya sebagai mentor dengan siswa baru �� Mentor(senior, class) (�� year>2(Student))×�� year=1(Student)
Contoh lain RENAME • • ACTUAL_DEPENDENTS ← σSSN=ESSN(EMP_DEPENDENTS) RESULT ← π FNAME, LNAME, DEPENDENT_NAME (ACTUAL_DEPENDENTS)
Union -Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. - Simbol υ - Sintaks : E 1 υ E 2 Syarat : • • Aritas sama Domain atribut sama
Contoh
Minus/Set Difference Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. Simbol : – Sintaks : E 1 – E 2
Contoh
Cartesian Product Rx. S Menggambarkan suatu relasi penggabungan dari tiap tuple relasi R dengan tiap-tiap relasi tuple S. Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru Simbol : X Sintaks : E 1 X E 2
Contoh : Employees X Projects
Irisan / Intersection Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya Simbol : ∩ Sintaks : E 1 ∩ E 2 Memiliki syarat yang sama dengan union
Contoh Intersection/ Irisan
Contoh
JOIN Join adalah satu dari operasi yang sulit untuk harus diterapkan secara efektif di dalam suatu RDBMS. Ada berbagai format Operasi Join, masing-masing dengan perbedaan kesulitannya dipisahkan, tambahan lagi bermanfaat dibanding yang lain: -Theta join ( -join) - Equijoin - Natural join - Outer join - Semijoin
Natural Join Operasi natural join memungkinkan kita untuk menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi saja Simbol : ∞ Sintak : E 1 ∞ E 2 Syarat : dilakukan jika kedua relasi memiliki satu atau lebih atribut sekutu Kolom atribut sekutu bersifat tunggal(diambil salah satu)
CONTOH NATURAL JOIN
Contoh natural join
Theta Join Operasi theta join berfungsi jika kita ingin mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥). Simbol : ∞ Sintaks : E 1 ∞ E 2 atau iθj
Contoh :
CONTOH THETA JOIN • Jika F hubungannya sama, maka disebut equi-join
Division Operasi division berfungsi untuk query yang memasukkan frase “untuk semua/seluruh”. Simbol : ÷ Sintaks : E 1 ÷ E 2 Syarat : jika k 1 aritas E 1 dan k 2 aritas E 2, maka k 1 > k 2 dan k 2 ≠ 0
Contoh Maka : E 1 ÷ E 2
N-ary Join Operations • Sifat natural join • • komutatif: r 1 ⋈ r 2 = r 2 ⋈ r 1 asosiatif : (r 1 ⋈ r 2) ⋈ r 3 = r 1 ⋈ (r 2 ⋈ r 3) n-ary join bisa ditulis tanpa ambiguitas • r 1 ⋈ r 2 ⋈ … ⋈ rn
Contoh N-ary Join
Ringkasan
Tupel Kalkulus Relasional
Domain Kalkulus Relational
Tugas 1 • • Tugas 1 : Model Data Relational Soal di bethanurinasari. wordpress. com Waktu mengerjakan 1 minggu. Selamat mengerjakan ^_^
Next>>>
- Slides: 40