OPERATOR RELASI
Bahasa
query formal basis data relasionaladalahbahasauntukmemintainformasidari basis
data. Sebelum basis data relasional, query terhadap basis data merupakantugas
yang sangatsukar. Pemogramharusberususandenganskemafisik internal dari basis
data.
Bahasa query relasionalmisalkan SQL (sructured query language) berbedadenganbahasapemrogramankonvensional. Di SQL, kitamenspesifikasikanproperti – propertiinformasi yang hendakdiambiltapitidakmencantumkanrincianalgoritmapengambilan. SQL adalahdeklaratif, yaitupada query dideklarasikaninformasi yang merupakanjawaban yang dikehendakibukancarakomputasi.Query kompleksyagdiperlukanpadakebanyakanaplikasinyatamemerlukanpengetahuanmendalammengenaibahasa da semantiknya. Bahasa query relasional formal merupakanbahasaantara yang digunakan basis data, yaitu SQL dikonversimenjadibahasarlasional formal sehinggadapatditerapkansekumpulaninformasiuntukmemperoleh query paling efisien.
Bahasa query relasionalmisalkan SQL (sructured query language) berbedadenganbahasapemrogramankonvensional. Di SQL, kitamenspesifikasikanproperti – propertiinformasi yang hendakdiambiltapitidakmencantumkanrincianalgoritmapengambilan. SQL adalahdeklaratif, yaitupada query dideklarasikaninformasi yang merupakanjawaban yang dikehendakibukancarakomputasi.Query kompleksyagdiperlukanpadakebanyakanaplikasinyatamemerlukanpengetahuanmendalammengenaibahasa da semantiknya. Bahasa query relasional formal merupakanbahasaantara yang digunakan basis data, yaitu SQL dikonversimenjadibahasarlasional formal sehinggadapatditerapkansekumpulaninformasiuntukmemperoleh query paling efisien.
Terdapatduajenisbahasaqueryrelasionalformalyangutama,yaitu:
1.RelasiAljabar.
2. RelasiKalkulus
1.RelasiAljabar.
2. RelasiKalkulus
RelasiAljabar
RelasiAljabarmerupakankumpulanoperasiterhadaprelasidimanasetiapoperasimenggunakansatuataulebihrelasiuntukmenghasilkansaturelasi
yang barudantermasukkategoriproseduraldanjugamenyediakanseperangkat operator
untukmanipulasi data.
Kodemendefinisikan operator relasiterdiridaridelapan operator, dimanadibagimenjadiduakelompoksebagaiberikut:
1. Operasitradisional, terdiridari Union, Intersection, Difference, dan Cartesian Product.
2. operasirelasionalkhusus, terdiridari Restrict, Project, Join, danDevide.
Kodemendefinisikan operator relasiterdiridaridelapan operator, dimanadibagimenjadiduakelompoksebagaiberikut:
1. Operasitradisional, terdiridari Union, Intersection, Difference, dan Cartesian Product.
2. operasirelasionalkhusus, terdiridari Restrict, Project, Join, danDevide.
Untukkedelapan operator tersebutdiatas, akandiuraikansecaradetilsebagaiberikut :
OPERASI UNIONN
• Notasi : r s, dimana r s = {t|t r atau t s}, yaituberuparelasi yang anggota – anggotanyaadalah tuple-tuple yang berasaldari r atau s. Bilaada yang terduplikasi, cukupsatusaja yang dipertahankan.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel, artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
• Notasi : r s, dimana r s = {t|t r atau t s}, yaituberuparelasi yang anggota – anggotanyaadalah tuple-tuple yang berasaldari r atau s. Bilaada yang terduplikasi, cukupsatusaja yang dipertahankan.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel, artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
Contohoperasi union:
Diberikanrelasi (tabel) A
S SNAME STATUS CITY
S1 Aris 20 Semarang
S4 Eko 20 Semarang
Diberikanrelasi (tabel) A
S SNAME STATUS CITY
S1 Aris 20 Semarang
S4 Eko 20 Semarang
Relasi (Tabel) B
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Heni 10 Jakarta
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Heni 10 Jakarta
Maka A B
adalahmenghasilkanrelasibaru :
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Eko 20 Semarang
S4 Heni 10 Jakarta
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Eko 20 Semarang
S4 Heni 10 Jakarta
OPERASI SET INTERSECTIONECTION)
• Notasi : r s, dimana r s = {t|t r atau t s}, yaituberuparelasi yang anggota-anggotanyaadalah tuple-tuple yang adadalam r danadadalam s.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel,artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
Ilustrasi : (hasilrelasibaruadalahbagian yang diberiwarna)
• Notasi : r s, dimana r s = {t|t r atau t s}, yaituberuparelasi yang anggota-anggotanyaadalah tuple-tuple yang adadalam r danadadalam s.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel,artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
Ilustrasi : (hasilrelasibaruadalahbagian yang diberiwarna)
Contoh (a)Opersai Intersection:
Relasi r dan s, maka r s
adalahmenghasilkanrelasibaru :
OPERASI DIFFERENCE (MINUS)
• Notasi : r − s, dimana r − s = {t|t r atau t s}, yaituberuparelasi yang anggota-anggotanyaadalah tuple-tuple yang berasaldari r tetapitidak di dalam s.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel, artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
Ilustrasi : (hasilrelasibaruadalahbagian yang yangtidakdiberiwarna)
• Notasi : r − s, dimana r − s = {t|t r atau t s}, yaituberuparelasi yang anggota-anggotanyaadalah tuple-tuple yang berasaldari r tetapitidak di dalam s.
• Syaratoperasidapatdilangsungkan
1. rdan s harusmemilikicacahkolom (arity) yang sama
2. masing-masingkolomdarikeduarelasiharuskompatibel, artinyanilai-nilai di dalamnyaharusberasaldari domain yang sama.
Ilustrasi : (hasilrelasibaruadalahbagian yang yangtidakdiberiwarna)
Contoh (b) operasiminus:
Maka r – s
adalahmenghasilkanrelasibaru:
OPERASI CARTESIAN PRODUCT (x/TIMES)
Notasi ; rxs, dimanarxs = {pq|p r dan q s}, yaituhasilnyaberuparelasi/table yang diperolehdenganmemasangkansetiap tuple padarelasipertamadengansetiap tuple padarelasikedua. banyaknyakolomsamadenganjumlahkolomkeduarelasi / table banyaknyabaris / record samadenganperkalianbanyaknya record padarelasipertamadan record padarelasikedua.
Ilustrasi :
Notasi ; rxs, dimanarxs = {pq|p r dan q s}, yaituhasilnyaberuparelasi/table yang diperolehdenganmemasangkansetiap tuple padarelasipertamadengansetiap tuple padarelasikedua. banyaknyakolomsamadenganjumlahkolomkeduarelasi / table banyaknyabaris / record samadenganperkalianbanyaknya record padarelasipertamadan record padarelasikedua.
Ilustrasi :
Contoh (c) operasi times:
(a) Relasi r dan s (b) Relasirxs
OPERASI RESTRICTION ( /SELECT)
adalahoperasiuntukmenyeleksitupel – tupel yang memenuhisuatupredikat, kitadapatmenggunakan operator perbandingan (<,>,>=,<=,=,#) padapredikat. Beberapapredikatdapatdikombinasikanmenjadipredikatmanjemukmenggunakanpenghubung AND ( Ù ) danOR ( Ú ).
OPERASI RESTRICTION ( /SELECT)
adalahoperasiuntukmenyeleksitupel – tupel yang memenuhisuatupredikat, kitadapatmenggunakan operator perbandingan (<,>,>=,<=,=,#) padapredikat. Beberapapredikatdapatdikombinasikanmenjadipredikatmanjemukmenggunakanpenghubung AND ( Ù ) danOR ( Ú ).
OPERASI PROJECTION ( )
• untukmengambilkolom-kolomtertentudarisuaturelasi/table
• Notasi : daftaratribut (r ) dimanadaftaratributadalahatribut-atribut yang adapadarelasi/tabel r yang akanditampilkan
• Hasiloperasiberupakolom-kolom yang adapada r denganmenghilangkansemuakolom yang tidakadadalamdaftaratribut
• bilaadabaris yang sama (terduplikasi), cukupdituliskansekali (hilangkansisanya)
• untukmengambilkolom-kolomtertentudarisuaturelasi/table
• Notasi : daftaratribut (r ) dimanadaftaratributadalahatribut-atribut yang adapadarelasi/tabel r yang akanditampilkan
• Hasiloperasiberupakolom-kolom yang adapada r denganmenghilangkansemuakolom yang tidakadadalamdaftaratribut
• bilaadabaris yang sama (terduplikasi), cukupdituliskansekali (hilangkansisanya)
Natural Join (JOIN)
adalahoperasiuntukmenggabungkanoperasi selection dancartesian-product dengansuatukriteriapadakolom yang sama.
Ilustrasi :
adalahoperasiuntukmenggabungkanoperasi selection dancartesian-product dengansuatukriteriapadakolom yang sama.
Ilustrasi :
ContohOperasikompositsebelumnyaadalahcontohoperasi
JOIN.
conditional join adalah join yang berdasarpadakriteriatertentu yang bukanoperasipersamaannilaiatribut
inner join adalah join yang berdasarpadakriteriatertentuberupapersamaannilaiatribut
natural join adalahoperasi inner join yang dilakukanpadasemuaatribut yang samadarikeduarelasi (namadandomainnya). Padatabel/relasihasil, kolom-kolom yang samahanyamunculsekali.
conditional join adalah join yang berdasarpadakriteriatertentu yang bukanoperasipersamaannilaiatribut
inner join adalah join yang berdasarpadakriteriatertentuberupapersamaannilaiatribut
natural join adalahoperasi inner join yang dilakukanpadasemuaatribut yang samadarikeduarelasi (namadandomainnya). Padatabel/relasihasil, kolom-kolom yang samahanyamunculsekali.
KALKULUS
RELASIONAL
Padakalkulusrelasionaltidakterdapatpendeskripsianpemrosesansuatuquerisepertihalnyapadaaljabarrelasional, akantetapicukupdenganmendefinisikanapa yang diinginkan. Ada duabentukkalkulusrelasionalyaknikalkulusrelasionaltupel yang pertamakalinyadiusulkanoleh E.F. Codd, sedangkan yang keduaadalahkalkulusrelasional domain yang diusulkanLacroixdanPirotte.
Padakalkulusrelasionaltidakterdapatpendeskripsianpemrosesansuatuquerisepertihalnyapadaaljabarrelasional, akantetapicukupdenganmendefinisikanapa yang diinginkan. Ada duabentukkalkulusrelasionalyaknikalkulusrelasionaltupel yang pertamakalinyadiusulkanoleh E.F. Codd, sedangkan yang keduaadalahkalkulusrelasional domain yang diusulkanLacroixdanPirotte.
1.KalkulusRelasionalTupel
Kalkulusrelasionaltupellebihberorientasipadatupeldimanaoperasiiniditujukanuntukmemperolehtupel-tupel yang predikatnya ‘benar’.
Ekspresi : { t ç P(t) }
t : tupel, P : predikatterhadap t
Bentuk-bentukdaripredikat :
1. S Î R ; dimana S : variabel, R : relasi
2. S[x] q U[y] ;dimana S dan U : variabeltupel , x dan y : atribut-atribut
q : operator aritmatika
3. S[x] qC ; C : konstanta
Operator tambahan : operator penghubungyakniÙ (and), Ú(or)
Contohqueri : diketahuiskemarelasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicariinformasimengenaidosen yang berada di kota Bogor.
{ tçÎ DOSEN Ù t[Kota] = ‘Bogor’ }
Kalkulusrelasionaltupellebihberorientasipadatupeldimanaoperasiiniditujukanuntukmemperolehtupel-tupel yang predikatnya ‘benar’.
Ekspresi : { t ç P(t) }
t : tupel, P : predikatterhadap t
Bentuk-bentukdaripredikat :
1. S Î R ; dimana S : variabel, R : relasi
2. S[x] q U[y] ;dimana S dan U : variabeltupel , x dan y : atribut-atribut
q : operator aritmatika
3. S[x] qC ; C : konstanta
Operator tambahan : operator penghubungyakniÙ (and), Ú(or)
Contohqueri : diketahuiskemarelasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicariinformasimengenaidosen yang berada di kota Bogor.
{ tçÎ DOSEN Ù t[Kota] = ‘Bogor’ }
2.KalkulusRelasional Domain
Berbedadengankalkulusrelasionaltupel, kalkulusrelasional domain berorientasipada domain denganmenggunakanvariabel-variabel domain.
Ekspresi : { ç P }
Dimana xi : variabel domain, sedangkan
P : predikatterhadap x.
Bentuk-bentukdaripredikat:
1. Î R ; R : relasi
2. xq y
3. xq C
Contohqueri : diketahuiskemarelasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicariinformasimengenaidosen yang mempunyai NIP 87000650.
{ ç P } Î DOSEN Ù n=’87000650’ }
Berbedadengankalkulusrelasionaltupel, kalkulusrelasional domain berorientasipada domain denganmenggunakanvariabel-variabel domain.
Ekspresi : { ç P }
Dimana xi : variabel domain, sedangkan
P : predikatterhadap x.
Bentuk-bentukdaripredikat:
1. Î R ; R : relasi
2. xq y
3. xq C
Contohqueri : diketahuiskemarelasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicariinformasimengenaidosen yang mempunyai NIP 87000650.
{ ç P } Î DOSEN Ù n=’87000650’ }
3. Query By Example(QBE)
QBE Pertama kali dikembangkanolehZloofpadatahun 1975. Untukmengekspresikanpermintaandaripemakaidilakukandenganmemasukkannilaicontohkedalam template queri yang menyerupaisebuahtabel. Operator perintahantaralain : P. (Print), D. (Delete), I. (Insert), U. (Update). Operator aritmatika : <, =, >, ³, ¹, £
Contoh : diketahuiskemarelasi PEGAWAI (NIP,Nama,Alamat,Gaji,Kddiv)
a. Inginditampilkaninformasipegawaidengan Nip 102871.
QBE Pertama kali dikembangkanolehZloofpadatahun 1975. Untukmengekspresikanpermintaandaripemakaidilakukandenganmemasukkannilaicontohkedalam template queri yang menyerupaisebuahtabel. Operator perintahantaralain : P. (Print), D. (Delete), I. (Insert), U. (Update). Operator aritmatika : <, =, >, ³, ¹, £
Contoh : diketahuiskemarelasi PEGAWAI (NIP,Nama,Alamat,Gaji,Kddiv)
a. Inginditampilkaninformasipegawaidengan Nip 102871.
PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV
P. 102871
b.
Inginditampilkannamadanalamatpegawai yang mempunyaigajilebihbesardari 500.000,-
PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV
P. P. >500000
5.2.4 Query Language (QUEL)
QUEL merupakanbahasapendefinisiandanmanipulasi data untuk INGRES (Ineractive Graphics and Retrieval System), dikembangkansejaktahun 1970-an.
Perintah-perintahpadaQuel :
1. Pendefinisian data antara lain :
CREATE, INDEX, MODIFY, DESTROY
2. Manipulasi data antara lain :
RETRIEVE, APPEND, DELETE, REPLACE
Sintaks RETRIEVE :
- RETRIEVE [ UNIQUE] tabel.kolom
WHERE [fungsi/ANY] kondisi
SORT BY kolom;
- RANGE OF inisial/huruf IS (namatabel);
Contohqueri :
1. Ingindibuatinisialdaritabel PEGAWAI dan DIVISI
RANGE OF P IS PEGAWAI, D IS DIVISI;
2. Inginditampilkannamadanalamatpegawai yang gajinyalebihbesardari 500.000,-
RETRIEVE (P.Nama, P.Alamat)
WHERE P.Gaji> 500000
5.3. PersamaandanPerbedaanRelasionalAljabardanRelasiKalkulus
1.Relasionalkalkulusdanrelasionalaljabardikelompokanpadabahasa yang “Relationally Complete”, artinya :Setiapekspresirelasionalkalkulusdapatdireduksipadabentukrelasionalaljabar yang ekuivalendenganekspresitersebut.
2. Ekspresirelasionalkalkulusdiselesaikandenganmenggunakanpredikatkalkulus, sedangkanekspresirelasionalaljabardiselesaikandenganmemanfaatkan operator padarelasisebagaioperannya.
5.2.4 Query Language (QUEL)
QUEL merupakanbahasapendefinisiandanmanipulasi data untuk INGRES (Ineractive Graphics and Retrieval System), dikembangkansejaktahun 1970-an.
Perintah-perintahpadaQuel :
1. Pendefinisian data antara lain :
CREATE, INDEX, MODIFY, DESTROY
2. Manipulasi data antara lain :
RETRIEVE, APPEND, DELETE, REPLACE
Sintaks RETRIEVE :
- RETRIEVE [ UNIQUE] tabel.kolom
WHERE [fungsi/ANY] kondisi
SORT BY kolom;
- RANGE OF inisial/huruf IS (namatabel);
Contohqueri :
1. Ingindibuatinisialdaritabel PEGAWAI dan DIVISI
RANGE OF P IS PEGAWAI, D IS DIVISI;
2. Inginditampilkannamadanalamatpegawai yang gajinyalebihbesardari 500.000,-
RETRIEVE (P.Nama, P.Alamat)
WHERE P.Gaji> 500000
5.3. PersamaandanPerbedaanRelasionalAljabardanRelasiKalkulus
1.Relasionalkalkulusdanrelasionalaljabardikelompokanpadabahasa yang “Relationally Complete”, artinya :Setiapekspresirelasionalkalkulusdapatdireduksipadabentukrelasionalaljabar yang ekuivalendenganekspresitersebut.
2. Ekspresirelasionalkalkulusdiselesaikandenganmenggunakanpredikatkalkulus, sedangkanekspresirelasionalaljabardiselesaikandenganmemanfaatkan operator padarelasisebagaioperannya.
Komentar