Anda di halaman 1dari 8

Sistem Basis Data

Bahasa Query Formal Berdasarkan Pada


Aljabar Relasional

Bahasa query formal merupakan bahasa yang dipenuhi dengan


aneka ekspresi matematis yang menjadi dasar teoritis dari
ekspresi-ekspresi praktis pada bahasa query.
 Aljabar Relasional telah banyak menjadi dasar pembentukan
bahasa query.
 Bahasa query formal menjadi dasar pembentukan bahasa
query terapan.
 Dengan bahasa query formal itulah algoritma dan sintaks dari
ekspresi-ekspresi bahasa terapan disusun.
Aljabar relasional, bahasa didasarkan pada operasi-operasi yang
prosedural. Operasi dasar yang dikenal :
 Unary operation : Select, Project, Rename.
 Binary operation : Cartesian Product, Union, Set-
Difference

Bahan Ilustrasi
Diketahui Mahasiswa, berikut :
id nama ip rank
143 Ali Wardhana 76 53
186 Ari Budiarti Bachterani 71 89
165 Citra Sutisna Putra 69 100
060 David Zakaria 69 149
075 Didit Rusandi 85 16
166 Dilla Astrika Aprilia 81 31
Dan Mahasiswa-2, berikut :
Id Nama ip rank
090 Dwi Rahayu 79 39
079 Eneng Aisyah 63 133
186 Ari Budiarti Bachterani 71 89
165 Citra Sutisna Putra 69 100
060 David Zakaria 69 149

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 1


Sistem Basis Data

Operasi Select
Mengambil sejumlah data yang memenuhi predikat. Pada dasarnya

untuk selecti ( σ ), sintaks yang digunakan :


P  predikat pada atribut di E1.
E1  tabel. σp(E1)
Contoh :

 σ ip>81 (Mahasiswa), maka hasil dari query tersebut


adalah
Id nama ip Rank
075 Didit Rusandi 85 16
166 Dilla Astrika Aprilia 81 31

 σ nama=’Didit Rusandi’ (Mahasiswa), maka hasil dari


query tersebut adalah
id nama ip Rank
075 Didit Rusandi 85 16

 σ ip>70 ^ rank<30 (Mahasiswa), maka hasil dari query


tersebut adalah
id nama ip Rank
075 Didit Rusandi 85 16

Catatan :

!
 Tanda (‘ ‘) digunakan untuk sebuah teks atau dengan
tanda (“ “).
 Tanda (^) digunakan untuk operator relasi AND.

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 2


Sistem Basis Data

Operasi Projection
Pada dasarnya operasi ini digunakan untuk menentukan field-field
(π) dari tabel atau query yang akan ditampilkan.
sintaks yang digunakan :
S  list yang berisi satu atau lebih field
yang ada di E1. πs (E1)

E1  tabel.

Contoh :

 π nama,ip (Mahasiswa), maka hasil dari query tersebut


adalah
nama ip
Ali Wardhana 76
Ari Budiarti Bachterani 71
Citra Sutisna Putra 69
David Zakaria 69
Didit Rusandi 85
Dilla Astrika Aprilia 81

 jika pada relasi R1 diberikan query π ip (R1), maka hasil dari


query tersebut adalah
ip
76
71
69
85
81
Dari hasil tersebut, dapat dilihat bahwa operasi Projection, dapat
mengeleminasi duplikasi (field yang bernilai sama).

 π nama (σ ip=81 (Mahasiswa)) , maka hasil dari query


tersebut adalah …… ???

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 3


Sistem Basis Data

Operasi Rename
operasi ini untuk melakukan penamaan kembali pada suatu tabel
atau hasil. Sintaks yang digunakan :
X  nama baru dari ekspersi E1.  x
(E1)

Contoh :

  (C(1->nama_mhs) (π nama (σ ip>70


(Mahasiswa)
) ), maka hasil dari query tersebut adalah
Nama_mhs
Didit Rusandi
Dilla Astrika Aprilia
Ali Wardhana
Ari Budiarti Bachterani

Operasi Union
Operasi ini memungkinkan untuk menggabungkan data dari dua baris
(record) yang sejenis (memiliki projeksi
yang sama). Sintaks yang digunakan : E1 E2
U
Contoh :
Misalkan menggabungkan projeksi untuk nama-nama kota yang sama
pada tabel mahasiswa dan dosen.

π kota (Mahasiswa)
Tabel mahasiswa :
id nama Alamat_mhs Kota
143 Ali Wardhana Jl. Merdeka No.10 Bandung
075 Didit Rusandi Jl. Gajah Mada No.2 Jakarta

π kota (dosen)
Tabel dosen :
Id_ds nama Alamat_mhs Kota
007 Sulistiawan Jl. Suci No.101 Bandung
008 Doni Susanto Jl. Tentara No.11 Bogor

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 4


Sistem Basis Data

Penggabungan

π kota (Mahasiswa) U π kota (dosen)


Hasil penggabungan menjadi

Kota
Bandung
Jakarta
Bogor

Operasi Intersection
Operasi ini memungkinkan untuk mengambil baris data (record) yang
sama pada beberapa table yang sejenis (memiliki projeksi yang
sama). Sintaks yang digunakan :
Contoh : E1  E2

Tabel Mahasiswa Tabel Mahasiswa-2


id nama ip rank
143 Ali Wardhana 76 53 Id Nama ip rank
186 Ari Budiarti Bachterani 71 89 090 Dwi Rahayu 79 39
165 Citra Sutisna Putra 69 100 079 Eneng Aisyah 63 133
060 David Zakaria 69 149 186 Ari Budiarti Bachterani 71 89
075 Didit Rusandi 85 16 165 Citra Sutisna Putra 69 100
166 Dilla Astrika Aprilia 81 31 060 David Zakaria 69 149

Mahasiswa  Mahasiswa-2

Id Nama ip rank
186 Ari Budiarti Bachterani 71 89
165 Citra Sutisna Putra 69 100
060 David Zakaria 69 149

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 5


Sistem Basis Data

Operasi Set-Difference
operasi ini merupakan pengurangan data di tabel pertama (E1) oleh
data di tabel kedua (E2). Sintaks yang
digunakan :
E1 - E2
Contoh :
 Mahasiswa - Mahasiswa-2, maka hasil dari query tersebut
adalah
id nama ip rank
143 Ali Wardhana 76 53
075 Didit Rusandi 85 16
166 Dilla Astrika Aprilia 81 31

 π nama (Mahasiswa - σ ip<70 (Mahasiswa) ), maka


hasil dari query tersebut adalah
nama
Citra Sutisna Putra
David Zakaria

Operasi Cartesian Product


menggabungkan data dari dua tabel atau hasil query. Operasi ini
membuat setiap baris data yang ada disetiap tabel akan
dikorespondensikan satu-satu dengan tabel lainnya.
Tentunya operasi ini tidak akan berdiri sendiri
karena operasi ini akan menjadi bagian dari E1 E2
operasi lainnya. Sintaks yang digunakan :
X
Semua record E1 akan dipasangkan dengan semua record E2, operasi ini
bersifat komutatif :

E1 E2 E2 E1
X X

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 6


Sistem Basis Data

Contoh :
Tabel Kuliah
kode_kul nama_kul
IF-110 Struktur Data
IF-121 Basis Data
Tabel Nilai
id nama Nilai
143 Ali Wardhana 76
186 Ari Budiarti Bachterani 71
165 Citra Sutisna Putra 69
Bila diberikan

Kuliah Nilai
X

kode_kul nama_kul id nama Nilai


IF-110 Struktur Data 143 Ali Wardhana 76
IF-110 Struktur Data 186 Ari Budiarti Bachterani 71
IF-110 Struktur Data 165 Citra Sutisna Putra 69
IF-121 Basis Data 143 Ali Wardhana 76
IF-121 Basis Data 186 Ari Budiarti Bachterani 71
IF-121 Basis Data 165 Citra Sutisna Putra 69
Catatan :

!
 Jumlah Record dihitung 2 x 3 = 6 record.
 Jumlah Field dihitung 2 + 3 = 6 Field (kemungkinan
terjadi duplikasi)

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 7


Sistem Basis Data

Aplikasi SQL
Contoh SQL untuk daftar mahasiswa yang memiliki IP diatas 70.
Tabel Mahasiswa, berikut :
id nama ip rank
143 Ali Wardhana 76 53
186 Ari Budiarti Bachterani 71 89
165 Citra Sutisna Putra 69 100
060 David Zakaria 69 149
075 Didit Rusandi 85 16
166 Dilla Astrika Aprilia 81 31

Select nama
σ ip>70 (Mahasiswa))
from mahasiswa π nama (

where ip>70;

nama
Ali Wardhana
Ari Budiarti Bachterani
Didit Rusandi
Dilla Astrika Aprilia

Kesimpulan
Operasi-operasi dasar dalam Aljabar Relasional tersebut
merupakan ekspresi query terapan yang banyak dipakai oleh SQL.
Bahasa SQL tersebut juga berakar dari bahasa SQUER yang
dirancang untuk bahasa riset untuk implementasi Aljabar
Relational.
Bahasa query yang didasarkan pada Aljabar Relational
merupakan bahasa query yang prosedural.

Sesi-05 Aljabar Relasional / Darmayuda -September 2015.- Hal. 8