rangkuman aljabar relasional

8
ALJABAR RELASIONAL Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data. Aljabar Relasional Operasi dasar : o Selection : Memilih sub himpunan baris dari suatu relasi Simbol : ( s ) o Projection : Menghapus kolom yang tidak dikehendaki dari relasi Simbol : ( p ) o Cross-product : Memungkinkan kita untuk mengkombinasikan dua relasi Simbol : ( X ) o Set-difference : Mendapatkan tupel yang terdapat dalam relasi satu, tapi tidak terdapat dalam relasi dua. Simbol : ( - ) o Union : Mendapatkan tupel yang terdapat dalam relasi satu dan relasi dua. Simbol : ( È ) Operasi tambahan : Intersection, join, division, renaming. Projection Menghapus atribut yang tidak dikehendaki dari relasi Misal terdapat relasi S1 berikut : Jika diberikan query :

Upload: selly-handik-pratiwi

Post on 02-Feb-2016

126 views

Category:

Documents


11 download

DESCRIPTION

aljabar

TRANSCRIPT

Page 1: rangkuman aljabar relasional

ALJABAR RELASIONAL

Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

Aljabar RelasionalOperasi dasar :

o Selection : Memilih sub himpunan baris dari suatu relasiSimbol : ( s )

o Projection : Menghapus kolom yang tidak dikehendaki dari relasiSimbol : ( p )

o Cross-product : Memungkinkan kita untuk mengkombinasikan dua relasiSimbol : ( X )

o Set-difference : Mendapatkan tupel yang terdapat dalam relasi satu, tapi tidak terdapat dalam relasi dua.

Simbol : ( - )o Union : Mendapatkan tupel yang terdapat dalam relasi satu dan relasi dua.

Simbol : ( È )Operasi tambahan :

Intersection, join, division, renaming.

ProjectionMenghapus atribut yang tidak dikehendaki dari relasiMisal terdapat relasi S1 berikut :

Jika diberikan query :

Maka table relasi yang dihasilkan dari query diatas adalah :

Jika pada relasi S2, diberikan query :

Page 2: rangkuman aljabar relasional

Maka table relasi yang dihasilkan dari query diatas adalah :

Dari hasil tersebut, dapat dilihat bahwa operasi projection, dapat mengeleminasiduplikat (field yang bernilai sama).

SelectionMemilih kolom pada relasi, sesuai dengan kondisi yang sudah ditentukan.Untuk contoh relasi S2 seperti pada table sebelumnya, jika diberikan query :

maka table relasi yang dihasilkan :

Dan jika diberikan query berikut untuk relasi S2 :

maka table relasi yang dihasilkan :

Union, Intersection, Set-Difference

Semua operasi ini membutuhkan dua relasi, syarat yang harus dipenuhi adalah :

o Mempunyai jumlah field yang sama

o Field yang berkorespondensi memiliki tipe yang sama.

Untuk dua table relasi S1 dan S2 berikut :· Semua operasi ini membutuhkan dua relasi, syarat yang harus dipenuhi adalah :

o Mempunyai jumlah field yang sama

o Field yang berkorespondensi memiliki tipe yang sama.

Untuk dua tabel relasi S1 dan S2 berikut :

Page 3: rangkuman aljabar relasional

berikut ini adalah contoh dari ketiga operasi diatas :Union :

Intersection :

Set-Different :

Cross-ProductContoh dipakai dua relasi berikut untuk operator cross-product maka kolom S1dipasangkan dengan tiap kolom R1.

Skema hasil memiliki satu field per field dari S1 dan R1.o Akan terjadi konflik jika kedua relasi memiliki nama field yang sama seperti pada contoh dibawah ini:

o Maka perlu dipakai operator renaming pada query berikut :

Page 4: rangkuman aljabar relasional

Cross-ProductContoh dipakai dua relasi berikut untuk operator cross-product maka kolom S1dipasangkan dengan tiap kolom R1.

Skema hasil memiliki satu field per field dari S1 dan R1.o Akan terjadi konflik jika kedua relasi memiliki nama field yang sama seperti pada contoh dibawah ini:

o Maka perlu dipakai operator renaming pada query berikut :

Cross-ProductContoh dipakai dua relasi berikut untuk operator cross-product maka kolom S1dipasangkan dengan tiap kolom R1.

Skema hasil memiliki satu field per field dari S1 dan R1.o Akan terjadi konflik jika kedua relasi memiliki nama field yang sama seperti pada contoh dibawah ini:

o Maka perlu dipakai operator renaming pada query berikut :

JoinCondition Join / Theta Join :

Page 5: rangkuman aljabar relasional

Jadi untuk table cross product S1 x R1 sebelumnya, jika diberikan query berikut :

maka table relasi yang dihasilkan :

Skema hasil mirip dengan cross-product, hanya diberi kondisi tertentuLebih sedikit tupel yang dihasilkan, dibandingkan dengan menggunakan operatorcross-product, karena komputasinya lebih efisienSeringkali disebut dengan operator theta-join.Equi-Join : Kasus khusus dari condition join dimana kondisi c hanya berisikesamaan (nilai yang sama dari kedua relasi).Contoh query berikut :

Tabel relasi yang dihasilkan :

Skema hasil hampir sama dengan cross-product, tapi hanya berisi satu copy fieldyang mempunyai kesamaan dari field yang sudah ditentukan.Natural join : Equi-join pada semua fields.

DivisionTidak mendukung operator primitif, tapi sangat berguna untuk mengekspresikan query seperti ini :Find sailors who have reserved all boats.Misal A memiliki 2 fields yaitu x dan y; sedangkan B hanya memiliki 1 field yaitu :

Misal A/B berisi semua tupel x (sailors) dimana untuk setiap tupel y (boat) dalam B,terdapat tupel xy dalam A.Pada umumnya, x dan y dapat menjadi anggota fields; y adalah daftar fields dalamB, dan x U y adalah daftar fields dari A.Contoh-contoh operator Division A/B

Page 6: rangkuman aljabar relasional

Menyatakan A/B dengan menggunakan Operator Dasar

Cari nama sailor yang mempunyai reserved boat =103Solusi 1 :

Solusi 2 :

Solusi 3 :

Cari nama Sailor yang mempunyai reserved a red boat :Informasi tentang color hanya ada dalam relasi Boats; sehingga diperlukan extra join :

Solusi yang lebih efisien :

Cari nama Sailor yang memiliki reserved boat red atau greenIdentifikasi semua red dan green boats, kemudian cari sailor yang memiliki salahsatu dari dua warna boat tersebut.

Cari Sailor yang memiliki red dan green boatHarus diidentifikasi sailor yang memiliki red boat dan sailor yang memiliki green

Page 7: rangkuman aljabar relasional

boat, kemudian lakukan intersection (catatan : sid adalah kunci pada relasi Sailors) :

Cari nama semua Sailors yang memiliki reserved boatGunakan division; skema dari relasi input harus dipilih dengan hati- hati.

Untuk mendapatkan semua Sailors yang memiliki reserved boat ‘Interlake’