Aljabar Relasional - Universitas Brawijaya

advertisement
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
Download