kalkulus relasional
DESCRIPTION
kalkulus yg hobi ngitungTRANSCRIPT
KALKULUS RELASIONAL
Kalkulus Relational Merupakan dasar dari bahasa query non prosedural. Dalam Kalkulus
Relational, kita hanya cukup memberikan deskripsi formal dari informasi yang
diinginkan tanpa menentukan bagaimana mendapatkan informasi tersebut.
Operator yang dipakai :
Simbol Keterangan
= Sama dengan
Tidak sama dengan
< Lebih kecil
Lebih kecil sama dengan
> Lebih besar
Lebih besar sama dengan
Simbol Keterangan
Operator And
Operator or
Istilah quantifier :
(x), yang berarti ada atau beberapa, disebut juga dengan existential quantifier.
(y), yang berarti setiap atau semua, disebut juga dengan universal quantifier.
Ada 2 bentuk/jenis Kalkulus Relational, yaitu : tuple relational calculus dan domain relational
calculus.
1. Tuple Relational Calculus
Sebuah query dalam tuple relational calculus, berorientasi pada baris-baris data keseluruhan/
utuh dalam suatu tabel, dan dinyatakan sebagai
{t | P(t)}
yaitu kumpulan tuple (record data) t sedemikian hingga predikat P adalah benar untuk t.
Contoh :
Cari Nama_Cabang_Bank, No_Pinjam, Nama_Pelanggan dan Jumlah_pinjaman untuk
pinjaman yang lebih besar dari 1 juta :
{t | t Pinjaman t [jumlah_pinjaman] > 1000000}
Cari pelanggan-pelanggan yang mempunyai pinjaman dibawah 1 juta
{t| s pinjaman (t[nama_pelanggan] = s[nama_pelanggan] s[jumlah_pinjaman]<1000000)}
Cari pelanggan yang mempunyai deposito di cabang kopo
{t| s deposito (t[nama_pelanggan] = s[nama_pelanggan] s[nama_cabang] = “Kopo”)}
2. Domain Relational Calculus
Pada domain relational calculus dalam query digunakan variabel domain yang dikenakan
pada (mewakili) nilai-nilai dari suatu domain atribut.
Contoh:
Cari pelanggan pelanggan dengan jumlah_pinjaman > 1 juta
{<c> | b, I, a (<b,I,c,a > pinjaman a > 1000000}
di mana c adalah domain nilai untuk nama_pelanggan, b domain nilai untuk nama_Cabang, I
domain nilai untuk No.Pinjaman dan a domain nilai untuk Jumlah_pinjaman.
Cari nama_cabang, no_rekening, nama_nasabah dan saldo yang lebih besar dari 500000.
{<b, /, c,a>| <b, /, c,a> deposito a >500000}
Cari semua pelanggan yang mempunyai pinjaman di Cabang Morotai sesuai dengan
tempat di mana ia tinggal
{<c,x>| b, I, a (<b,I,c,a > pinjaman b=”Morotai” y (<c,y,x> Pelanggan))} Cari semua pelanggan yang mempunyai no_pinjaman, atau no_rekening yang ada di
Cabang Morotai
{<c>| b, / ,a(<b,I,c,a > pinjaman b=”Morotai”) b,a,n (<b,a,c,n> deposito b=”Morotai”) } Cari semua pelanggan yang mempunyai no_rekening di semua kota Cabang Cimindi.
Contoh lain Tuple Relational Calculus
1. {t| s pinjaman (t[nama_pelanggan] = s[nama_pelanggan] s[nama_cabang] =
“Leimena” u pelanggan(u [nama_pelanggan] = s[nama_pelanggan]
t[kota_pelanggan] = u[kota_pelanggan]))}
2. {t| | s pinjaman (t[nama_pelanggan] = s[nama_pelanggan] s[nama_cabang] =
“Leimena”) u deposit (t|[nama_pelanggan] = u[nama_pelanggan]
u[nama_cabang] = “Leimena”) }
LATIHAN
TRC dan DRC
1. Cari semua nasabah yang mempunyai no rekening di semua kota Cabang Arif
Rahman!
2. Cari semua nasabah yang mempunyai pinjaman di Cabang Kopo dan mempunyai
jumlah pinjaman lebih besar dari 1000 !
3. Cari semua nasabah yang mempunyai no rekening di semua kota Cabang Arif
Rahman!
4. Cari semua nasabah yang mempunyai pinjaman di Cabang Kopo dan mempunyai
jumlah pinjaman lebih besar dari 1000 !