ALJABAR RELASIONAL
I.1.1 Definisi:
Yaitu sekumpulan operasi yang digunakan untuk melakukan
proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan
dari database.
Secara umum dibagi menjadi 2:
operasi himpunan (UNION,
INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT)
operasi yang dikembangkan secara khusus untuk database
relational. (SELECT, PROJECT dan JOIN)
Istilah
Relasi, dalam bahasan ini dipergunakan untuk penamaan tabel
beserta datanya baik yang murni maupun yang sudah dilakukan modifikasi dengan
operasi-operasi aljabar relasional.
I.1.2 Database yang dibuat contoh:
I.2 Operasi SELECT
Untuk memilih baris tertentu dari sebuah himpunan baris data
(record) yang memenuhi kondisi dan membuang baris yang lain.
Notasi:
s<kondisi pilihan>(<nama relasi>)
Klausa <kondisi pilihan> bisa terbentuk dari beberapa
kondisi yang terhubung dengan operator boolean (AND, OR dan NOT)
Misal:
sdep_nomor=4(PEGAWAI)
untuk memilih sub himpunan pegawai yang bekerja
departemen nomor 4.
sgaji>30000 AND dep_nomor=3(PEGAWAI)
untuk memilih sub himpunan pegawai yang memiliki gaji
lebih dari 30000 yang bekerja di departemen 3.
I.3 Operasi Project
Untuk memilih attribut (kolom) tertentu dari himpunan /
subhimpunan dan membuang yang lain.
I.3.1 Notasi:
p<daftar
attribut>(<nama relasi>)
Jika <daftar attribut> tidak menyertakan primary key,
maka dimungkinkan akan terjadi duplikasi. Duplikasi ini akan dihilangkan
sehingga hanya sekali yang muncul.
Misal:
Untuk memilih atribut JenisKel dan Gaji dari tabel
Pegawai:
pJenisKel, Gaji (Pegawai)
I.4 Urutan Operasi
Sebuah operasi bisa dituliskan dalam bentuk beberapa
ekspresi aljabar relasional dengan mengelompokkan untuk tiap-tiap operasi dan
memberi nama.
Misal:
pnmDepan, nmBlk, gaji (sdep_nomor=5(PEGAWAI))
Mengambil informasi nama depan, nama belakang dan gaji
dari pegawai-pegawai yang bekerja di departemen nomor 5.
bisa ditulis dalam bentuk:
PEG_DEP5 ß sdep_nomor=5(PEGAWAI)
(tabel
pegawai dipilah dulu hanya dengan mengambil yg memenuhi dep_nomor=5 dan
disimpan dalam relasi dengan nama PEG_DEP5)
HASIL ß pnmDepan, nmBlk, gaji (PEG_DEP5)
(kemudian
setelah itu, relasi PEG_DEP5 dipilah hanya diambil kolom-kolom nmDepan, nmBlk
dan gaji)
I.5 Perubahan Nama Atribut
Untuk mengubah nama attribut dari sebuah relasi yang
merupakan hasil dari operasi aljabar relasional, ditulis nama atribut baru
dalam huruf besar.
Misal:
TEMP ß sdep_nomor=5(PEGAWAI)
RBARU (NAMADEPAN, NAMABELAKANG, GAJI) ß pnmdepan, nmblk, gaji (TEMP)
I.6 Operasi Himpunan
I.6.1 UNION: notasi à R È S
Relasi yang menggabungkan semua baris di R atau S dengan
meniadakan duplikasi.
I.6.2 INTERSECTION: notasi à R Ç S
Relasi yang terdiri dari baris yang ada di R dan juga ada di
S.
I.6.3 DIFFERENCE: notasi à R – S
Relasi yang terdiri dari semua baris di R, tetapi tidak ada
di S.
Relasi yang dioperasikan dengan operasi-operasi di atas harus
memiliki jumlah attribut dan jenis yang sama (union compatible).
I.6.4 CARTESIAN PRODUCT à R X S
Relasi yang terdiri dari kombinasi baris yang terdapat di R
dan S. Yang mana setiap baris di R digabungkan dengan setiap baris di S.
Misal:
Mengambil nama-nama pegawai wanita beserta nama-nama
tanggungan masing-masing:
PEG_WAN ß sJenisKel=’P’ (PEGAWAI)
NAM_PEG_WAN
ß pnmDep, nmBlk, NoKTP (PEG_WAN)
TG_PEG ß NAM_PEG_WAN X TANGGUNGAN
AKTUAL_TG ß sNoKTP=Tg_NoKTP (TG_PEG)
HASIL ß
pnmDepan,
nmBlk, Tg_Nama (AKTUAL_TG)
I.7 Operasi Join
Digunakan untuk mengkombinasikan baris-baris yang
berhubungan dari dua relasi menjadi baris-baris tunggal.
I.7.1 Notasi:
R |x|<kondisi join> S
Kondisi join dalam bentuk:
<kondisi> AND <kondisi>
AND … AND <kondisi>
Operator pembandingan:
{=, <, ≤, >, ≥, ≠}
Misal:
Mendapatkan nama departemen beserta nama pimpinan
masing-masing.
DEPT (dep_nomor, dep_nama, dep_nama, dep_noKTP,
dep_TglMulai, dep_JmlPegawai) ß DEPARTEMEN
PIM_DEP ß DEPT |x|dep_noKTP=noKTP
PEGAWAI
HASIL ß pdep_nama,
nmDepan, nmBlk (PIM_DEP)
Operasi join dengan kondisi join secara umum disebut dengan Theta Join.
Kondisi join yang operator pembandingannya berupa =, disebut
dengan Equijoin.
I.7.2 Natural Join
Yakni operasi equijoin yang mana yang mana pasangan
attribut-attribut yang di’join’kan
memiliki nama yang sama. Jika tidak sama, perlu
dilakukan pengubahan nama attribut (rename) terlebih dahulu.
I.7.3 Notasi:
R *(<list 1>),(<list 2>) S
List 1 adalah attribut-attribut R dan list 2 adalah
attribut-attribut S. List 1 dan list 2 membentuk pembandingan equality dari
pasangan attribut yang memiliki nama yang sama, yang mana semua pembandingan
tersebut di ‘AND’ kan.
Misal:
DEPT (dep_nomor, dep_nama, dep_jmlPegawai, dep_noKTP) ß
DEPARTEMEN
PROY_DEPT ß PROYEK * DEPT
No comments:
Post a Comment
silahkan membaca dan berkomentar