BASIS DATA Aljabar Relasional Teknik Informatika, Fakultas Teknik, Universitas Brawijaya, Email : [email protected] MODUL Pendahuluan Pemrosesanterhadapquerydidalamsuatusystembasisdatadilakukandengan menggunakanquerylanguage.Bahasaformaluntukquerybasisdatarelasional 5 adalah bahasa yang digunakan untuk meminta informasi yang diinginkan dari basis data. Sebelum adanya basis data relasional, query terhadap basis data sangatsulituntukdilakukankarenapemrogramharusberurusandenganskema fisikinternalbasisdata.Bahasaqueryiniterbagimenjadi2,yaitu: BahasaKomersial BahasaKomersialadalahbahasaqueryyangdirancangmenjadiprogram aplikasiagarpenggunamudahdalammemakainya. BahasaFormal Bahasa Formal adalah bahasa query yang diterjemahkan dengan menggunakansimbol-simbolmatematis. SQL (Sructured Query Language) adalah salah satu contoh bahasa query komersial. SQL ini sangat berbeda dengan bahasa pemrograman konvensional. Di SQL, properti-properti informasi yang diinginkan dapat dispesifikasikan tanpa melibatkan rincian algoritmanya. SQL tergolong bahasa deklaratif yang artinyadalampengopersiannyaqueryyanginginkandideklarasikanbukancara komputasiuntukmemperolehsuatuhasil. Tujuan Mahasiswamampumemahamikonsepaljabarrelasional Mahasiswamampumemahamioperasi-operasidasardanoperasitambahan aljabarrelasional ALJABAR RELASIONAL Basis Data / Aljabar Relational BrawijayaUniversity 2011 Bahasa Formal adalah bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. Bahasa formal ini terbagi dalam dua kelompok besar, yaitu prosedural dan non prosedural. Bahasa query proseduraladalahbahasayangmengharuskanpenggunanyamenspesifikasikandataapayangdibutuhkandan bagaimana untuk mendapatkannya. Bahasa query non prosedural adalah bahasa yang mengharuskan penggunanya menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana utntuk mendapatkannya. Padasuatuaplikasidatabasequeryyangdigunakansangatkompleks,sehinggadiperlukanpengetahuanyang mendalammengenaibahasa dan semantiknya. Bahasa formal ini digunakan untuk memperoleh query paling efisien.Terdapatduajenisbahasaformal,yaitu: 1. Aljabarrelasional. 2. Kalkulusrelasional. Operasi dasar pada relational model adalah Relational Algebra atau aljabar relasional. Aljabar relasional merupakan kumpulan operasi terhadap relasi dan setiap operasi menggunakan satu atau lebih relasi untuk menghasilkansaturelasiyangbaru.Aljabarrelasionaliniberfungsiuntuk: Aljabarrelasionalmemberikanfondasiformaluntukoperasimodelrasional. Aljabar relasional digunakan sebagai basis untuk implementasi dan optimasi query pada RDMSs (RelationalDatabaseManagementSystems). AljabarrelasionaldigunakanbersamadenganSQLuntukRDMSs. AljabarrelasionalmerupakankuncipemahamankerjainternalRDBMsyangdigunakanuntukmengolahquery SQL secara lebih efisien. Pemrogram menggunakan query SQL, sedangkan DBMS menggunakan aljabar relasionalsebagaibahasaperantaraunutkmenspesifikasikanalgoritmaquery.Langkah-langkahdalamDBMS untukpengolahanqueryadalah: 1. DBMS melakukan parsing terhadap string dari query SQL dan menerjemahkannya menjadi ekspresi aljabarrelasional. 2. Ekspresialjabarrelasionaliniakandikonversiolehqueryoptimizermenjadiekspresilainyangekivalen nemunlebihefisienuntukdieksekusi. 3. Berdasarkanekpresi aljabar relasional yang telah dioptimasiini, query execution plandisiapkanoleh query optimizer yang kemudian akan ditransformasikan menjadi kode yang dapat dieksekusi pembangkit kode di DBMS. Karena ekspresi aljabar mempunyai semantik matematika yang presisi makasystemdapatmemverifikasiekivalensiekspresiyangdioptimasi. Page2of11 Basis Data / Aljabar Relational BrawijayaUniversity 2011 Aljabarrelasionaltergolongkategoriproceduralyangmenyediakanseperangkatoperatoruntukmemanipulasi data.Terdapattigakelompokoperasidasardalamaljabarrelasional,yaitu: Unaryrelationaloperations Selection Projection Settheoryoperations Union Intersection Minus Cartesianproduct Binaryrelationaloperations Naturaljoin Thetajoin Division Semuaoperasitersebutmenghasilkanrelasibaru.Bahasaformalinidisebutsebagaialjabarrelasionalkarena bahasa ini berdasar pada sejumlah operator yang beroperasi pada relasi-relasi (table-tabel). Masing-masing operatorberoperasipadasaturelasiataulebihataumenghasilkanrelasi-relasilainsebagaihasil.Queryadalah ekspresi yang melibatkan operator-operator itu. Hasil ekspresi adalah relasi yang merupakan jawaban terhadapquery. Unary Relational Operational Selection (δ) Operasi ini bertujuan untuk memilih tuple-tuple yang sesuai dengan kondisi atau predikat P tertentu yang diinginkanpadasuaturelasiR.KondisiataupredikatPpadaoperasiselectioniniadalahekspresilogikayang terdiridari: Operand Operatoraritmatika :<,=,>,≥,≠,≤ Operatorlogika :and(Λ),or(V)dannot(~) :konstanta/atribut/relasi Page3of11 Basis Data / Aljabar Relational BrawijayaUniversity 2011 Contohsintakspadaoperasiselectioniniadalah: BiladiketahuiR1: MakaσB=’b’(R1)= A B C A B C a b c a b c d e f e b f e b f ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lhr,alamat,email,telpon) Dicariinformasimengenaimahasiswayangmempunyainim=‘0641345’ δnim=’0641345’(MAHASISWA) Projection (π) Operasiinibertujuanuntukmemilihatribut-atributyangsesuaidengankondisiataupredikatPtertentuyang diinginkanpadasuaturelasiR.Contohsintakspadaoperasiprojectioniniadalah: BiladiketahuiR1: A B C a b c d e f g h i MakaΠA,C(R1)= Page4of11 A C a c d f g i Basis Data / Aljabar Relational BrawijayaUniversity 2011 ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lhr,alamat,kota,email,telpon) Dicariinformasimengenainamadankotamahasiswa Πnama,kota(MAHASISWA) Set Teori Operational Union (∪) Operasi union ini bertujuan untuk membentuk suatu relasi yang terdiri dari tupel – tupel yang berada pada salahsaturelasiataupadakeduarelasi,dengansyarat: Memilikiaritasyangsama Memilikidomainatributyangsama Contohsintakspadaoperasiunioniniadalah: BiladiketahuiR1danR2: R1 R2 MakaR1∪R2= A B C A B C A B C a b c c f a a b c d e f a b c d e f c f a ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lahir,alamat,email,telpon) SkemarelasiMATAKULIAH(kode_mk,nama_mk,sks) GabungandatadarirelasiMAHASISWAdengandatadarirelasiMATAKULIAH Page5of11 Basis Data / Aljabar Relational BrawijayaUniversity 2011 MAHASISWA∪MATAKULIAH Intersection (∩) Operasiunion inibertujuanuntukmembentuksuatu relasiyangterdiriatastupel–tupelyangsamadaridua relasi,dengansyarat: Memilikiaritasyangsama Memilikidomainatributyangsama Contohsintakspadaoperasiintersectioniniadalah: BiladiketahuiR1danR2: R1 MakaR1 R2 R2 A B C A B C A B C a b c c f a a b c d e f a b c ContohQuery: SkemarelasiMATAKULIAH(kode_mk,nama_mk,sks) SkemarelasiNILAI(nim,kode_mk,n_uts,n_uas) Dicarikodematakuliahyangmempunyaisks=2yangambilolehmahasiswadenganNIM“0641345” Πkode_mk(δsks=2(MTKULIAH))∩Πkode_mk(δnim=‘0641345’(NILAI)) Cartesian Product (x) Operasicartesianproductinibertujuanuntukmembentuksuaturelasidariduarelasiyangterdiridari kombinasitupel-tupelyangmungkinJikaaritasR1adalahk1danaritasR2adalahk2makaR1xR2adalah kumpulankombinasisemuatuple-tupledenganaritas(k1+k2)dimanakomponenk1pertamaádalahtupletupledariR1dankomponenberikutnyadariR2. Page6of11 Basis Data / Aljabar Relational BrawijayaUniversity BiladiketahuiR1danR2: R1 2011 Maka R1xR2 R2 A A B C E F 1 d f n 15 3 c g m 25 4 b a B C E F 1 d f n 15 3 c g n 15 4 b a n 15 1 d f m 25 3 c g m 25 4 b a m 25 ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lahir,alamat,email,telpon) SkemarelasiMATAKULIAH(kode_mk,nama_mk,sks) MAHASISWAXMATAKULIAH Set Difference (-) Operasisetdifferenceinibertujuanuntukmembentuksuaturelasiyangterdiridaritupel-tupelyangberada padarelasipertamadantidakberadapadarelasikeduaataukedua-duanya. Contohsintakspadaoperasisetdiferenceiniadalah: Page7of11 Basis Data / Aljabar Relational BrawijayaUniversity 2011 BiladiketahuiR1danR2: R1 MakaR1-R2= R2 A B C A B C A B C a b c c f a d e f d e f a b c c b g c b g a d e ContohQuery: SkemarelasiMATAKULIAH(kode_mk,nama_mk,sks) SkemarelasiNILAI(nim,kode_mk,n_uts,n_uas) Dicarikodematakuliahyangbersks3dannilaiutsuntukkodematakuliahtersebutdibawah50 Πkode_mk(δsks=3(MATAKULIAH))-Πkode_mk(δn_uts>50(NILAI)) Binary Relational Operational Natural Join ( ) Operasinaturaljoininibertujuanuntukmembentuksuaturelasidariduarelasiyangterdiridarikombinasi yangmungkindarirelasi–relasidengansyaratbahwaoperasiinidilakukanjikakeduarelasimemilikisatu ataulebihatributyangsama. ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lahir,alamat,email,telpon) SkemarelasiNILAI(nim,kode_mk,n_uts,n_uas) Page8of11 Basis Data / Aljabar Relational BrawijayaUniversity 2011 Dicarinamamahasiswayangmengambilmatakuliahdengankodematakuliah“TIF123” Πnama(δkode_mk=‘TIF123’(MAHASISWAXNILAI)) BiladiketahuiR1danR2: MakaR1 R2= R1R2 A B C B C D A B C D a b c b c d a b c d d b c b c z a b c z c e f b d x d b c d d b h d b c z Theta Join ( ) Operasithetajoininibertujuanuntukmembentuksuaturelasidariduarelasiyangterdiridarikombinasiyang mungkindarirelasi–relasidengankondisitertentu.Contohsintakspadaoperasithetajoininiadalah: BiladiketahuiR1danR2: R1 R2 MakaR1 R2,denganA<D A B C D E 1 3 a 3 1 4 7 b 5 2 8 2 c Page9of11 A B C D E 1 3 a 3 1 1 3 a 5 2 Basis Data / Aljabar Relational 4 7 b 5 BrawijayaUniversity 2011 2 ContohQuery: SkemarelasiMAHASISWA(nim,nama,tgl_lahir,alamat,email,telpon) SkemarelasiNILAI(nim,kode_mk,n_uts,n_uas) DicarinamamatakuliahyangdiambilolehmahasiswadenganNIM“0641345”dengankodematakuliahpada relasinilaiharussamadenganrelasimatakuliah Πnama(δkode_mk=‘TIF123’Λ(matakuliah.kode_mk=nilai.kode_mk)(MATAKULIAHXNILAI)) Division (÷) Operasidivisioninibertujuanuntukmendapatkannilaiyangadapadasalahsatuatributdarirelasipembilang yang nilai atributnya sama dengan nilai atribut relasi penyebut, atau dengan kata lain semua tuple-tuple t dengan aritas k1- k2, dimana jika R1 mengandung semua tuple dengan aritas k1 maka t ádalah anggota R1dengansyaratjikak1aritasR1dank2aritasR2,makak1>k2dank2≠0. Contohsintakspadaoperasidivisionadalah: BiladiketahuiR1danR2: R1 R2R1/R2 A B B A x y y x z y s z f m d d s Page10of11 Basis Data / Aljabar Relational BrawijayaUniversity DAFTAR PUSTAKA RamesElmasri.FundamentalsofDatabaseSystem.DepartmentofComputer ScienceandEngineering.UniversityofTexasatArlington.Pearson– AddisonWeasley2003. RaghuRamakrishnan.DatabaseManagementSystem.Universityof Wincousin.Madison,WinscousinUSA.McGraw-HillHigherEducation2003 Page11of11 2011