• Tidak ada hasil yang ditemukan

Modul Basis Data I 5 Aljabar Relasional

N/A
N/A
Protected

Academic year: 2017

Membagikan "Modul Basis Data I 5 Aljabar Relasional"

Copied!
11
0
0

Teks penuh

(1)

BASIS DATA

Aljabar Relasional

Teknik Informatika, Fakultas Teknik, Universitas Brawijaya, Email : dl@ub.ac.id

Pendahuluan

Tujuan

Mahasiswa mampu memahami konsep aljabar relasional

Mahasiswa mampu memahami operasi-operasi dasar dan operasi tambahan aljabar relasional

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. 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 artinya dalam pengopersiannya query yang inginkan dideklarasikan bukan cara komputasi untuk memperoleh suatu hasil.

(2)

Page 2 of 11

2011 Brawijaya University

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 prosedural adalah bahasa yang mengharuskan penggunanya menspesifikasikan 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 aljabar relasional ini akan dikonversi oleh query optimizer menjadi ekspresi lain yang ekivalen nemun lebih efisien untuk dieksekusi.

(3)

Page 3 of 11

2011 Brawijaya University

Aljabar relasional tergolong kategori procedural yang menyediakan seperangkat operator untuk memanipulasi data. Terdapat tiga kelompok operasi dasar dalam aljabar relasional, yaitu:

Unary relational operations

Semua operasi tersebut menghasilkan relasi baru. Bahasa formal ini disebut sebagai aljabar 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 (δ)

Operasi ini bertujuan untuk memilih 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 ekspresi logika yang terdiri dari :

Operand : konstanta/atribut/relasi Operator aritmatika : <, =, >, ≥, ≠, ≤

(4)

Page 4 of 11

2011 Brawijaya University

Contoh sintaks pada operasi selection ini adalah:

Bila diketahui R1 :

Skema relasi MAHASISWA (nim, nama, tgl_lhr, alamat, email, telpon)

Dicari informasi mengenai mahasiswa yang mempunyai nim = ‘0641345’

δ

nim=’0641345’(MAHASISWA)

Projection (π)

Operasi ini bertujuan untuk memilih atribut-atribut yang sesuai dengan kondisi atau predikat P tertentu yang diinginkan pada suatu relasi R. Contoh sintaks pada operasi projection ini adalah:

(5)

Page 5 of 11

2011 Brawijaya University

Contoh Query :

Skema relasi MAHASISWA (nim, nama, tgl_lhr, alamat, kota, email, telpon)

Dicari informasi mengenai nama dan kota mahasiswa

Π

nama,kota(MAHASISWA)

Set Teori Operational

Union (∪)

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 union ini adalah:

Bila diketahui R1 dan R2:

R1 R2

A B C A B C

a b c c f a

d e f a b c

Maka R1 ∪ R2 =

A B C

a b c

d e f

c f a

Contoh Query:

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)

Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)

(6)

Page6 of 11

2011 Brawijaya University

MAHASISWA ∪ MATAKULIAH

Intersection (∩)

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:

Skema relasi MATAKULIAH ( kode_mk, nama_mk, sks )

Skema relasi NILAI( nim, kode_mk, n_uts, n_uas )

Dicari kode matakuliah yang mempunyai sks = 2 yang ambil oleh mahasiswa dengan NIM “0641345”

Π

kode_mk

( δ

sks = 2

(MTKULIAH)

) ∩ Π

kode_mk

( δ

nim = ‘0641345’

(NILAI)

)

Cartesian Product (x)

(7)

Page7 of 11

2011 Brawijaya University

Bila diketahui R1 dan R2:

R1 R2

A B C E F

1 d f n 15

3 c g m 25

4 b a

Maka R1 x R2

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

Contoh Query :

Skema relasi MAHASISWA (nim, nama, tgl_lahir, 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.

(8)

Page8 of 11

2011 Brawijaya University

Bila diketahui R1 dan R2:

R1 R2

A B C A B C

a b c c f a

d e f a b c

c b g a d e

Maka R1 - R2 =

A B C

d e f

c b g

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

Π

kode_mk

sks = 3 (MATAKULIAH)

) - Π

kode_mk

n_uts> 50(NILAI)

)

Binary Relational Operational

Natural Join (

)

Operasi natural join ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi – relasi dengan syarat bahwa operasi ini dilakukan jika kedua relasi memiliki satu atau lebih atribut yang sama.

Contoh Query:

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)

(9)

Page9 of 11

2011 Brawijaya University

Dicari nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “TIF123”

Π

nama

( δ

kode_mk = ‘TIF123’

(MAHASISWA X NILAI)

)

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:

(10)

Page10 of 11

2011 Brawijaya University

4 7 b 5 2

Contoh Query :

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)

Skema relasi NILAI ( nim, kode_mk, n_uts, n_uas )

Dicari nama matakuliah yang diambil oleh mahasiswa dengan NIM “0641345” dengan kode matakuliah pada relasi nilai harus sama dengan relasi matakuliah

Π

nama

( δ

kode_mk = ‘TIF123’

Λ (matakuliah.kode_mk = nilai.kode_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 ádalah anggota R1dengan syarat jika k1 aritas R1 dan k2 aritas R2, maka k1 > k2 dan k2 ≠ 0.

Contoh sintaks pada operasi division adalah:

Bila diketahui R1 dan R2:

R1 R2 R1/R2

A B B A

x y y x

z y s z

f m d

(11)

Page 11 of 11

2011 Brawijaya University

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

Referensi

Dokumen terkait

Query adalah obyek basis data yang berfungsi untuk menampilkan, menyunting dan menyaring suatu data sesuai dengan kriteria yang diinginkan serta dimungkinkan untuk dapat

Macam-macam model data adalah Flat File, Hirarkis, Jaringan, Relasional, Relasi-Entitas, Berbasis Objek.. Model Data

Penerapan Database Query dengan menggunakan aljabar relasional terdapat dua model yaitu Data Manipulation Language (DML) pengolahan database yang tidak

Rancangan e-library dan basis data relasional pada perpustakaan Berkat IQRO yang dibahas dalam penelitian ini yaitu dengan mengintegrasikan rancangan basis data dengan

 Pada sistem basis data yang besar dapat memberikan kontribusi biaya query yang dominan.. Ekivalensi

Tugas akhir ini berjudul “Transformasi Dokumen XML Menjadi Model Basis Data Relasional Dengan Menggunakan Metode Parsing SAX” disusun sebagai salah satu syarat untuk

Rancangan e-library dan basis data relasional pada perpustakaan Berkat IQRO yang dibahas dalam penelitian ini yaitu dengan mengintegrasikan rancangan basis data dengan

Di sisi lain, dengan mengakses informasi dari sebuah data warehouse yang nantinya digunakan untuk dukungan pengambilan keputusan, pemakai dapat menjamin bahwa sistem