0 penilaian0% menganggap dokumen ini bermanfaat (0 suara) 7 tayangan11 halamanA
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda,
ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
Pomel)
BASIS DATA ye
FE CRUE
Soe eae eo
Universitas Brawijaya, Email : dl@[Link]
Pendahuluan
Pemrosesan terhadap query di dalam suatu system basis data dilakukan dengan
‘menggunakan query language. Bahasa formal untuk query basis data relasional
adalah bahasa yang digunakan untuk meminta informasi yang diinginkan dari
basis data, Sebelum adanya basis data relasional, query terhadap basis data
sangat sulit untuk dilakukan karena pemrogram harus berurusan dengan skema
fisik internal basis data. Bahasa query ini terbagi menjadi 2, yaitu:
© Bahasa Komersial
Bahasa Komersial adalah bahasa query yang dirancang menjadi program
aplikasi agar pengguna mudah dalam memakainya.
© Bahasa Formal
Bahasa Formal adalah bahasa query yang diterjemahkan dengan
‘menggunakan simbol-simbol matematis.
SQL (Sructured Query Language) adalah salah satu contoh bahasa query
komersial. SQU. 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
artinya dalam pengopersiannya query yang inginkan dideklarasikan bukan cara
komputasi untuk memperoleh suatu hasil.
‘TWNOISW13¥
Tujuan
© Mahasiswa mampu memahami konsep aljabar relasional
+ Mahastswa mampu memahami operasioperasi dasar dan operasitambahan
aljabar relasionalBahasa 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
prosedural adalah bahasa yang mengharuskan penggunanya menspesiikasikan data apa yang dibutuhkan dan
bagaimana untuk mendapatkannya, Bahasa query non prosedural adalah bahasa yang mengharuskan
penggunanya menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana utntuk
mendapatkannya,
Pada suatu aplikasi database query yang digunakan sangat kompleks, sehingga diperlukan pengetahuan yang
mendalam mengenai bahasa dan semantiknya, Bahasa formal ini digunakan untuk memperoleh query paling
efisien, Terdapat dua jenis bahasa formal, yaitu
1. Aljabar relasional.
2. Kalkulus relasional,
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
‘menghasilkan satu relasi yang baru. Aljabar relasional ini berfungsi untuk:
+ Aljabar relasional memberikan fondasi formal untuk operasi model rasional.
+ Aljabar relasional digunakan sebagai basis untuk implementasi dan optimasi query pada RDMSs
(Relational Database Management Systems).
* Aljabar relasional digunakan bersama dengan SQL untuk RDMSs.
Aljabar relasional merupakan kunci pemahaman kerja internal RDBMs yang digunakan untuk mengolah query
SQL secara lebih efisien, Pemrogram menggunakan query SQL, sedangkan DBMS menggunakan aljabar
relasional sebagai bahasa perantara unutk menspesifikasikan algoritma query. Langkah-langkah dalam DBMS
‘untuk pengolahan query adalah
1. DBMS melakukan parsing terhadap string dari query SQL dan menerjemahkannya menjadi ekspresi
aljabar relasional.
2, Ekspresi aliabar relasional ini akan dikonversi oleh query optimizer menjadi ekspresi lain yang ekivalen
nemun lebih efisien untuk dieksekusi,
3. Berdasarkan ekpresi aljabar relasional yang telah dio
asi ini, query execution plan disiapkan oleh
query optimizer yang kemudian akan ditransformasikan menjadi kode yang dapat dieksekusi
pembangkit kode di DBMS. Karena ekspresi aljabar mempunyal semantik matematika yang presist
‘maka system dapat memverifikasi ekivalensi ekspresi yang dioptimasi.
Page 2 of 11Aljabar relasional tergolong kategori procedural yang menyediakan seperangkat operator untuk memanipulasi
data, Terdapat tiga kelompok operasi dasar dalam aljabar relasional, yaitu:
+ Unary relational operations
* Selection
= Projection
+ Set theory operations
= Union
= Intersection
= Minus
= Cartesian product
+ Binary relational operations
= Natural join
+ Theta join
* Division
Semua operasi tersebut menghasilkan relasi baru, Bahasa formal ini disebut sebagai aliabar relasional karena
bahasa ini berdasar pada sejumlah operator yang beroperasi pada relasi-relasi (table-tabel). Masing-masing
operator beroperasi pada satu relasi atau lebih atau menghasilkan relasi-relasi lain sebagai hasil. Query adalah
ekspresi yang melibatkan operator-operator itu, Hasil ekspresi adalah relasi yang merupakan jawaban
terhadap query.
Unary Relational Operational
Selection (8)
Operasi ini bertujuan untuk memilil tuple-tuple yang sesuai dengan kondisi atau predikat P tertentu yang
diinginkan pada suatu relasi R. Kondisi atau predikat P pada operasi selection ini adalah eksprest logika yang
terdiri dari:
© Operand :konstanta/atribut/relasi
‘© Operator aritmatika
‘© Operator logika + and(A), or (V) dan not(~)
Page 3 of 11Contoh sintaks pada operasi selection ini adalah:
Bila diketahui R. Maka ov-(R1)
A] B) C alsB]c
alble alofec
adjel|efr e|o|r
e|b|F
Contoh Query:
Skema relasi MAHASISWA (nim, nama, tgIhr,alamat, email, telpon)
Dicart informasi mengenai mahasiswa yang mempunyal nim = "0641345"
5 nimeooai sas; (MAHASISWA)
Projection (1)
Operasi ini bertujuan untuk memilih atribut-atribut yang sesuai dengan kondisi atau predikat P tertentu yang
dlinginkan pada suatu relasi R, Contoh sintaks pada operasi projection ini adalah:
Bila diketahui R1 :
ayele Maka Tc (R1
a]b|e aye
altel er aye
e | hi ay f
el] i
Page 4 of 11Contoh Quer
Skema relasi MAHASISWA (nim, nama, tgLhr, alamat, kota, email, telpon)
Dicari informasi mengenai nama dan kota mahasiswa
TT pamaota (MAHASISWA)
Set Teori Operational
Union (v)
Operasi union ini bertujuan untuk membentuk suatu relasi yang terdiri dari tupel ~ tupel yang berada pada
salah satu relasi atau pada kedua relasi, dengan syarat
© Memiliki aritas yang sama
© Memiliki domain atribut yang sama
Contoh sintaks pada operasi unton ini adalah:
Bila diketahui R1 dan R2:
RI R2 Maka RI U R2=
alele alec ajelc
alole ce |r| a aloe
afer aloe ale|r
elr|a
Contoh Query:
Skema relasi MAHASISWA (nim, nama, tgLIahir alamat, email telpon)
Skema relasi MATAKULIAH (kode_mk, [Link], sks)
Gabungan data dari relasi MAHASISWA dengan data dari relasi MATAKULIAH
Page S of 11MAHASISWA U MATAKULIAH
Intersection (1)
Operasi union ini bertujuan untuk membentuk suatu relasi yang terdiri atas tupel -tupel yang sama dari dua
relasi, dengan syarat:
© Memiliki aritas yang sama
* Memiliki domain atribut yang sama
Contoh sintaks pada operasi intersection ini adalah:
Bila diketahui R1 dan R2: Maka RIO R2
RI R2
alelc ale|c a|p|c
albic el fla afofe
afe|f alole
Contoh Query
Skema relasi MATAKULIAH ( kode_mk, nama_mk, sks )
Skema relasi NILAI( nim, [Link],n_uts, n_uas )
Dicari kode matakuliah yang mempunyal sk
2 yang ambil oleh mahasiswa dengan NIM "0641345"
TH [Link] (6 sks=2 TRUMAN) 1 TT Kode mk ( 6 nim ="0641345' (NILAD J
Cartesian Product (x)
Operasi cartesian product ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari
kombinasi tupel-tupel yang mungkin Jika aritas R1 adalah ki dan aritas R2 adalah k2 maka RIxR2 adalah
kumpulan kombinasi semua tuple-tuple dengan aritas (k1+k2) dimana komponen kl pertama ddalah tuple-
‘tuple dari R1 dan komponen berikutnya dari R2.
Page 6 of 11Bila diketahui R1 dan R2: Maka R1xR2
RL R2 a |e je |e |F
ajsye FU F afale ln] os
ryaye n | as 3 |e |e | n | as
sjeje mys a |b | al n | as
ye yea ata] ef | m2
3 | ¢ |g | m | 2s
a |b | a | m | 2s
Contoh Query:
Skema relasi MAHASISWA (nim, nama, ¢gLlahir, alamat, email, telpon)
Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)
MAHASISWA X MATAKULIAH,
Set Difference (-)
Operasi set difference ini bertujuan untuk membentuk suatu relasi yang terdiri dari tupel-tupel yang berada
pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya,
Contoh sintaks pada operasi set diference ini adalab:
Page 7 of 11Bila diketahui R1 dan R2: Maka R1- R2
RI Ra
a]s|c alec alec
aloe effi a aftele
afele afole ce} bie
elole alale
Contoh Query
Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)
Skema relasi NILAI (nim, kode_mk, n_uts, n_uas)
Dicari kode mata kuliah yang bersks 3 dan nilai uts untuk kode mata kuliah tersebut dibawah 50
TI [Link] (8 sks = 3 MATAKULIAH) ~ TT ode mk (5 nuts > 500N!AD)
Binary Relational Operational
Natural Join (<0)
Operasi natural join ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi
‘yang mungkin dari relasi
relasi dengan syarat bahwa operas! ini dilakukan jika kedua relasi memiliki satu
atau lebih atribut yang sama.
Contoh Query:
Skema relasi MAHASISWA (nim, nama, tgLlahir, alamat, email, telpon)
Skema relasi NILAI (nim, Kode_mk, n_uts, n_uas )
Page 8 of 11Dicari nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “TIF123"
TH nama ( 8 [Link]="rier23’ (MAHASISWA X NILAD))
Bila diketahui RA dan 2: Maka RI ce R2=
RI Ra
alec B|cl|op a]efe|o
afole vo fe] a afole|a
afole ofc] z afole|le
efe|e ofa] x afole|a
ajo ln afole|le
Theta Join (0)
Operasi theta join ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang
‘mungkin dari relasi - relasi dengan kondisi tertentu. Contoh sintaks pada operasi theta join ini adalah:
Bila diketahui R1 dan R2:
RI R2 Maka R1 co R2,dengan AcD
alsBl|c pie
ale]c]olfe
1]3]a a] 4
1]3]afl3fa
a|7]o 5s | 2
rfafalfs|2
aj2|ec
Page 9 of 11Contoh Query:
Skema relasi MAHASISWA (nim, nama, tg lahir, alamat, email, telpon)
Skema relasi NILAI (nim, Kode_mk, n_uts, n_was )
Dicari nama matakuliah yang diambil oleh mahasiswa dengan NIM "0641345" dengan kode matakuliah pada
relasi nilai harus sama dengan relasi matakuliah
TI nama ( 6 kode mk = TIF123" A (matakuliah:kode_mk = nilatkode mk ) (MATAKULIAH X NILAI) )
Division (+)
Operasi division ini bertujuan untuk mendapatkan nilai yang ada pada salah satu atribut dari relasi pembilang
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 ddalah anggota
Ridengan syaratjika ki aritas R1 dan k2 aritas R2, maka kl > k2 dan k2 #0.
Contoh sintaks pada operasi division adalah:
Bila diketahui R1 dan R2:
RI R2 RI/R2
a |B B A
x fy y x
zfy s 2
tlm a
als
Page 10 of 11Erno
DAFTAR PUSTAKA
+ Rames Elmasri, Fundamentals of Database System. Department of Computer
Science and Engineering. University of Texas at Arlington. Pearson ~
Addison Weasley 2003.
+ Raghu Ramakrishnan, Database Management System. University of
Wincousin, Madison, Winscousin USA. McGraw-Hill Higher Education 2003
Page 11 of 11
Anda mungkin juga menyukai