Rabu, 13 Juni 2012

KALKULUS RELASIONAL


KALKULUS RELASIONAL

Bahasa query memungkinkan manipulasi dan pemanggilan data dari suatu basisdata. Terdapat 2 macam bentuk bahasa query”
1.             Aljabar Relasional
Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan.
Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi. Setiap operator menggunakan satu atau dua relasi sebagai input dan menghasilkan relasi baru sebagai output
Operasi Dalam Aljabar Relasional
n  Operasi-operasi dasar dalam aljabar relasional adalah :
o   operasi selection  (σ)
o   operasi projection (π)
o   operasi  cartesian (x)
o   operasi union (U)
o    opersi set – difference (-)
o    operasi rename (ρ)
n  Operasi turunan dalam aljabar relasional adalah :
o   Operasi set –interface
o   Operasi natural join
o   Operasi theta join
o   Operasi devision
Operasi-operasi select, project dan rename disebut operasi unary, karena operasi-operasi tersebut hanya memerlukan satu relasi. Tiga operasi lainnya memerlukan sepasang relasi, disebut operasi binary.
Ø  operasi selection  (σ)
Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi. Operasi select menyeleksi tuple-tuple yang memenuhi predikat yang diberikan. Digunakan symbol sigma (σ) untuk menunjukkan operasi select. Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang mengikuti σ.
Contoh penggunaan operasi select :
     σ nama_cabang= cabang5(ms_cabang)

Ø  operasi projection (π)
Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π.
Contoh penggunaan operasi project :
      Π kode_kota,kode_propinsi(ms_kota)

Ø  operasi  cartesian (x)
Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi atau lebih  dan menghasilkan sebuah tabel relasi yang baru. Contoh operasi cartesian
Πx c k p ( Ms_ cabang x Ms_kota x Ms_propinsi)) tabel relasi baru
Ø  operasi union ()
A B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya. Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya.



Contoh penggunaan operasi union :
Π Nama_cabang(ms_cabang) Π      Nama_cabang(MS_cabanga)

Ø  opersi set – difference (-)
Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. A MINUS B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A, tetapi tidak terdapat pada B.




Contoh operasi set-difference :
Π Nama_cabang(ms_cabang) –Nama_cabang(ms_cabanga)

Ø  operasi rename (ρ)
Dalam operasi himpunan Cross – Product, bisa menimbulkan terjadinya Konflik Penamaan, karena Cross – Product bisa menghasilkan suatu relasi dari 2 relasi dengan skema yang sama, sehingga skema hasil akan muncul field dengan nama yang sama. Operator Renaming (r) digunakan untuk menghindari terjadinya Konflik Penamaan tersebut.


2.             Kalkulus Relasional
     Dalam kalkulus relasional tidak ada penjabaran bagaimana mengevaluasi querinya, hanya menspesifikkan apa yang harus ditampilakan bukan bagaimana menampilkan. Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif). Memahami aljabar dan kalkulus relasional adalah kunci memahami SQL.
         Ciri-ciri relasi kalkulus :
        First order calculus menggunakan simbol-simbol predikat dan simbol-simbol fungsi. Untuk kaitannya dengan basis data : simbol fungsi tidak diperlukan dan predikat diinterprestasikan sebagai relasi.
        Formula pada first order calculus dapat dibedakan ke dalam dua kelas :
       Open formula (free variable)
Didefinisikan sebagai himpunan tuples elemen dari kondisi secara keseluruhan, yang dapat menghasilkan formula “TRUE”.
       Closed formula atau sentences yang memiliki variable terbatas
Karena kalkulus dipergunakan sebagai bahasa query dan basis data bertujuan untuk instant maupun relasi lainnya, maka closed formulas tidak diperhatikan.
Kalkulus relasional terbagi menjadi 2:
1.        Kalkulus relasional berdasarkan tupel
Dalam kalkulus relasional tupel digunakan variabel dari tupelnya .variabel dari suatu tupel adalah daerah yang terdefinisi sebagai nama dari suatu relasi.
Contoh : manampilkan nama_propinsi pada kode_propinsi  ‘pp2’
{t|t Є ms_propinsi t(kode_propinsi)=‘pp2’}
Dalam SQL
SELECT nama_propinsi
FROM ms_propinsi
WHERE kode_propinsi = 'pp2‘
2.        Kalkulus relasional berdasarkan domain
Simbol yang muncul pada formula terdiri dari : konstan (elemen-elemen domain D), variabel (elemen-elemen dari himpunan berhingga V yang dihubungkan dengan domain D), nama relasi (tabel) dan atribut (berdasarkan skema basis data), operator perbandingan (=, ≠, >, >=, <, <=), penghubung logika (Λ ( dan / konjugsi),  (V atau/disjungsi), ⌐ (not/negasi), ada/beberapa(  ), dan semua (  )).
Contoh Kalkulus domain;
Mencari data mengenai nama_cabang pada tabel ms_cabang.
{<kk,nk,kp>|<kk,nk,kp> Є ms_cabang }
Dalam SQL:
SELECT nama_cabang
FROM ms_cabang

2 komentar: