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‘
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
FROM ms_cabang
Lumayan baca juga ya Contoh Aljabar Relasional
BalasHapusRefrencee nya dari mana min?
BalasHapus