OPERATOR RELASI
Operasi relasional aljabar adalah operasi-operasi yang digunakan untuk memanipulasi relasi. Aljabar relasional juga dikenal sebagai sebuah bahasa query prosedural
yang terdiri dari sekumpulan operasi dimana masukannya adalah satu atau
dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari
operasi tersebut.
Dalam
aljabar relasional, terdapat dua jenis operator, yaitu Operator Dasar
dan Terminologi Operator Dasar. Di bawah ini adalah penjabaran mengenai
operator-operator yang dimaksud.
Operator Dasar
1. Select
Operasi select digunakan menyeleksi tuple-tuple yang memenuhi predikat yang diberikan juga untuk memilih satu sub-set record dalam suatu relasi yang memenuhi kondisi pemilihan. Tidak ada duplikasi yang dilakukan dalam hasil yang diinginkan dan skema yang dihasilkan sama dengan skema relasi masukan.
Notasi yang digunakan adalah Sigma (σ) di mana predikat muncul sebagai subscript dari σ serta argumen relasi diberikan dalam kurung yang mengikuti σ. Bentuk penulisan secara umum adalah σ <kondisi_pemilihan> (<nama_relasi>).
2. Project
Dengan memandang relasi sebagai tabel, maka operasi ini digunakan untuk memilih sejumlah kolom tertentu dari tabel. Operasi ini juga dimanfaatkan untuk menghapus atribut-atribut yang tidak ada dalam projection list. Skema dari hasil query secara tepat hanya berisikan fields yang ada dalam projection list, dengan nama yang sama seperti yang dimiliki oleh relasi masukan.
Operasi project disimbolkan dengan simbol Phi (π) dengan bentuk penulisannya adalah π<daftar_atribut> (<nama_tabel>).
3. Union
Operasi union dalam aljabar relasional sama halnya dengan operasi union pada aritmatika. Notasinya adalah simbol union (∪). Operasi union oleh r ∪ s bernilai benar jika kedua relasi memenuhi dua kondisi berikut:
· Relasi r dan juga s harus mempunyai jumlah atribut yang sama.
· Domain atribut ke-i di relasi r dan domain atribut ke-i dari s harus sama untuk semua i.
4. Set Difference
Operasi set difference ini disimbolkan dengan tanda min (-). Operasi ini dilakukan untuk menemukan tuple-tuple yang berada pada satu relasi tetapi tidak berada pada relasi yang lainnya.
Set difference harus dilakukan antara relasi yang kompatibel. Apabila terdapat r – s, maka r dan s harus memiliki arity yang sama. Demikian pula dengan atribut domain dari masing-masing relasi.
5. Cartesian-Product
Operasi cartesian-product disimbolkan dengan cross (×). Disebut juga Cross Product atau Cross Join dan digunakan untuk mengkombinasikan record dari dua tabel. Jadi dengan menggunakan operasi ini, kita dapat menghasilkan informasi hasil kombinasi dari dua relasi.
Secara garis besar, jika kita memiliki relasi r1(R1) dan r2(R2), maka r1 × r2 adalah relasi yang skemanya merupakan gabungan dari R1 yang merupakan atribut-atribut dari relasi r1 dan R2 yang merupakan atribut-atribut dari relasi r2. Setiap baris dari relasi r1 akan dipasangkan dengan setiap baris dari relasi r2. Skema yang dihasilkan mempunyai satu field untuk setiap field dari r1 dan r2.
Relasi satu dengan yang lain tidak harus union-compatible jika ingin menggunakan operasi cartesian-product ini.
6. Rename
Operasi ini memiliki lambang rho (ρ). Sintaks penulisan operasi rename adalah ρx(E), di mana nantinya akan mengeluarkan hasil ekspresi E dengan nama x.
Terminologi Operator Dasar
1. Set Intersection
Notasi yang digunakan dalam operasi set-intersection ini adalah simbol intersection (∩). Sintaks penulisan operasi yang benar adalah r ∩ s ={ t | t ∈ r and t ∈ s }, dengan asumsi r dan s memiliki jumlah arity yang sama dan atribut-atributnya kompatibel.
Sebagai informasi tambahan, operasi r ∩ s akan memiliki hasil skema yang sama dengan operasi r – (r – s).
2. Natural Join
Dalam operasi natural-join, kita menggunakan notasi
. Sehingga jika set dari nilai-nilai y yang diasosiasikan dengan sebuah nilai x dalam A berisikan semua nilai-nilai y dalam B, maka nilai-nilai x berada di dalam A/B. Secara umum, x dan y dapat berupa sembarang list dari fields, di mana y adalah list dari fields dalam relasi B, dan x È y adalah list dari fields dalam relasi A.
Rumus atau sintaks umum yang digunakan adalah r ÷ s = { t | t ∈ ∏ R-S(r) ∧∀ u ∈ s ( tu ∈ r ) }.
4. Assignment
Operasi assignment yang bernotasikan panah kiri (←) menyediakan cara yang mudah dalam mengekspresikan query yang kompleks.
· Menulis query sebagai program sekuensial yang terdiri dari serangkaian assignment dan diikuti oleh suatu ekspresi yang nilainya ditampilkan sebagai hasil dari query.
· Assignment harus selalu dibuat dalam variabel hubungan sementara.
Ketika kita diminta untuk menuliskan r ÷ s sebagai
temp1 ← ∏ R-S (r)
temp2 ← ∏ R-S ((temp1 x s) – ∏R-S,S(r))
result = temp1 – temp2,
Maka hasil di sebelah kanan panah ← akan di-assign untuk variabel relasi pada sebelah kiri panah ←. Selain itu kita juga dapat menggunakan variabel dalam ekspresi berikutnya.
0 komentar:
Post a Comment