Aljabar Relasional
Bahasa Query Bahasa yang digunakan user untuk melakukan request informasi dari basis data Kategori Bahasa : Prosedural Non-prosedural
Bahasa Query Bahasa query memungkinkan manipulasi dan pemanggilan data dari suatu basisdata. Terdapat 2 macam bentuk bahasa query” Aljabar Relasional Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut Lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan Kalkulus Relasional Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif). Memahami aljabar dan kalkulus relasional adalah kunci memahami SQL.
Aljabar Relasional Merupakan bahasa prosedural Operator dasar : Select (σ) Project (Π) Union () set difference (–) Cartesian product (x) Operator yang melibatkan dua atau lebih relasi sebagai input akan menghasilkan satu relasi baru sebagai output.
Penggolongan Operasi 1. Operasi Tunggal (unary operation) Beroperasi pada sebuah tabel/relasi basis data 2. Operasi Biner (binary operation) Beroperasi pada sejumlah tabel/relasi basis data Yang termasuk operasi tunggal : Select, Project Yang termasuk operasi biner : Cartesian Product, Union, Set Difference
Operasi Dalam Aljabar Relasional Operasi-operasi dasar dalam aljabar relasional adalah : Select : mengambil sejumlah baris data berdasarkan kondisi yang diinginkan. Project : Menghapus kolom yang tidak dikehendaki dari relasi Union : Mendapatkan record yang terdapat dalam dua tabel dengan kolom yang sejenis. set difference : mendapatkan record / field yang terdapat dalam sebuah tabel, tetapi tidak terdapat dalam tabel lain. Cartesian/Cross Product : menggabungkan data dari dua buah tabel atau hasil query.
Operasi Seleksi (Selection) Operasi ini digunakan untuk mengambil sejumlah baris data yang memenuhi predikat yang diberikan. Predikat mengacu pada kondisi yang ingin dipenuhi dalam operasi seleksi. Sintaks : σp (E) p = predikat selection pada atribut-atribut E E = ekspresi aljabar relasional (tabel/hasil query)
Contoh : Jika pada tabel mahasiswa kita ingin mengambil baris data (record) mahasiswa yang bernama ‘Ali’ maka operasi ini dapat dituliskan sebagai berikut : σnama = ‘Ali’ (mahasiswa)
Catatan : tanda kutip tunggal (‘) biasa digunakan untuk mengapit konstanta teks (string) Pada dasarnya, predikat merupakan ekspresi lojik yang menyatakan pembandingan (komparasi) antara field dalam tabel dengan field lain atau dengan konstanta tertentu
Operator logika yang dapat digunakan : = menyatakan kesamaan ≠ menyatakan ketidaksamaan ≤ menyatakan lebih kecil atau sama dengan ≥ menyatakan lebih besar atau sama dengan < menyatakan lebih kecil > menyatakan lebih besar menyatakan hubungan dan menyatakan hubungan atau
Contoh : Jika kita ingin mengambil baris-baris data yang menunjukkan bobot mata kuliah yang lebih besar atau sama dengan 4 Sks maka operasi dapat dituliskan sebagai berikut : σbobot ≥ 3 (mata kuliah)
Jika kita ingin mengambil baris-baris data yang menunjukkan nilai mata kuliah yang tidak lulus (dengan nilai E) dengan kode mata kuliah ‘MK01’pada tabel nilai maka operasi dapat dituliskan sebagai berikut : σnilai = ‘E’ ۸ kodemk=‘MK01’ (nilai)
Operasi Select (Contoh)
Contoh Operasi SELECT Jika ada sebuah tabel bernama S2, sbb : Jadi untuk menyeleksi tuple-tuple dari relasi S2 dimana rating-nya lebih besar dari 8, ditulis : σ rating>’8’ (S2) Maka tabel yang dihasilkan:
Contoh-contoh query lain dengan operasi select adalah : σage = ‘35 Contoh-contoh query lain dengan operasi select adalah : σage = ‘35.0’(S2) Yang artinya : menyeleksi record-record dari relasi S2 dimana age-nya adalah ‘35.0’ Maka Tabel Hasil Querynya adalah?
Operasi-operasi select, project dan rename disebut operasi unary, karena operasi-operasi tersebut hanya memerlukan satu tabel. Tiga operasi lainnya memerlukan sepasang relasi, disebut operasi binary.
Operasi Projeksi (Projection) Operasi ini digunakan untuk menentukan field -field data dari sebuah tabel yang akan ditampilkan Sintaks : πs (E) S = daftar field yang ada di E E = ekspresi Aljabar Relasional (tabel/hasil query)
Contoh : Jika pada tabel Mahasiswa ingin ditampilkan NPM untuk semua baris data yang ada pada tabel tersebut maka operasinya dapat dituliskan sebagai berikut : πNPM (Mahasiswa) jika yang ingin ditampilkan NPM dan Nama πNPM,Nama (Mahasiswa)
Jika yang ingin ditampilkan NPM dan Nama yang bertempat tinggal di kota Palembang saja dari tabel mahasiswa maka operasi Seleksi dan Projeksi harus digunakan seperti berikut ini : πNPM,Nama (σkota = ‘Palembang’ (mahasiswa))
Contoh Ilustrasi Operasi Projection
Contoh Operasi Project Seandainya diinginkan semua daftar sname dan rating, dengan rating >8. Dengan operasi project dapat dihasilkan relasi ini. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π Contoh : πsname,rating(σ rating>’8’ (S2)), adalah operasi untuk menampilkan seluruh sname & rating dengan rating > ‘8’ Hasil operasi tersebut adalah :