Aljabar Relasional
Materi pertemuan
Bahasa Query
 Bahasa yang digunakan user untuk
melakukan request informasi dari basis data
 Kategori Bahasa :
 Prosedural
 Non-prosedural
 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.
Bahasa Query
Aljabar Relasional
 Merupakan bahasa prosedural
 Operator dasar :
 select
 project
 union
 set difference
 Cartesian product
 Operator yang melibatkan dua atau lebih relasi
sebagai input akan menghasilkan satu relasi
baru sebagai output.
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.
Definisi Operasi Select
 Notasi : σp(r)
 p disebut sebgai predikat selection
Di mana p adalah sebuah formula dalam
kalkulus proposisi yang terdiri atas kondisi yang
dihubungkan dengan :
dan juga dihubungkan dengan operator:
=, ≠, >, . <.
≥ ≤
Operasi Select (Contoh)
 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 Operasi SELECT
 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.
Definisi Operasi Project
 Notasi :
ΠA1, A2, …, Ak (r)
di mana A1, A2 adalah nama atribut, dan r
adalah nama tabel.
 Hasil operasi project didefinisikan sebagai relasi
dengan kolom sebanyak k yang diperoleh
dengan menghapus kolom yang tidak termasuk
dalam kriteria.
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 :
Definisi Operasi Union
Notasi: r U s
Kriteria valid r U s :
 1. r, s harus mempunyai jumlah
atribut sama
 2. Domain atribut harus kompatibel
(misal : kolom kedua relasi r
mempunyai tipe data yang sama
dengan kolom kedua relasi s)
Contoh Ilustrasi Operasi Union
Definisi Operasi Set Difference
 Notasi : r – s
 Operasi set difference harus dilakukan pada
relasi yang kompatibel :
 Domain atribut r dan s harus kompatibel
Contoh Ilustrasi
Operasi Set Difference
Cartesian / Cross-Product
 Cross Product biasa dikenal dengan Operasi
Cartesian-product.
 Operasi Cartesian-product disimbolkan
dengan “x”.
 Dengan operasi ini dapat dihasilkan
informasi yang merupakan kombinasi dari
dua tabel.
 Secara garis besar, jika dipunyai relasi r1(R1)
dan r2(R2), maka r1 x r2 adalah tabel yang
skemanya merupakan gabungan dari R1
( atribut-atribut relasi r1) dan R2 (atribut-
atribut r2).
Contoh Ilustrasi
Operasi Cartesian-Product
Union, Intersection, Set-Difference
 Semua Operasi ini membutuhkan dua
relasi, syarat yang harus di penuhi adalah:
 Mempunyai jumlah field yang sama
 Field yang berkorespondensi memiliki tipe yang
sama.
 Misalkan untuk dua tabel relasi S1 dan S2
berikut:
 Berikut ini adalah contoh dari ketiga operasi diatas:
 Union : S1 U S2
 Intersection: S1 n S2
 Set-Difference:
 Contoh : S1 x R1
Contoh
Komposisi Beberapa Operasi
 Contoh: σA=C(r x s)
Contoh Query
 Cari semua kolom di tabel BORROW yang
jumlahnya (amount) lebih dari $1200
σamount > 1200 (BORROW)
 Cari nomor loan untuk semua loan yang
jumlahnya (amount) lebih dari $1200
Πloan# (σamount > 1200 (loan))
Contoh Query
 Cari nama semua customer yang mempunyai loan,
account, atau keduanya.
Πcustomer-name (borrow) U Πcustomer-name (deposit)
 Cari nama semua customer yang mempunyai loan
dan account.
Πcustomer-name (borrow) Π
∩ customer-name (deposit)
Contoh Query
 Cari nama semua customer yang mempunyai
loan di branch Perryridge.
Πcustomer-name (σbranch-name=“Perryridge”)
Contoh Query
Nama customer serta kota tempat tinggalnya
dari customer-customer yang merupakan
CLIENT dari employee „JOHNSON‟
Latihan :
 Diketahui skema basis data sbb:
employee (person-name, street, city)
works (person-name, company-name, salary)
company (company-name, city)
manages (person-name, manager-name)
a. Tampilkan semua nama dan kota employee
b. Tampilkan nama dan kota tempat tinggal semua
employee
c. Tampilkan semua nama employee yang bekerja pada
company First Bank Corporation.
d. Tampilkan nama dan kota tempat tinggal semua
employee yang bekerja di First Bank Corporation.
e. Tampilkan nama, alamat dan kota tempat tinggal
semua employee yang bekerja di First Bank
Corporation dan berpenghasilan lebih dari $10,000.
f. Tampilkan nama semua employee yang tidak bekerja
di First Bank Corporation.

Aljabar untuk pembelajaran pembelajaran kelas

  • 1.
  • 2.
    Bahasa Query  Bahasayang digunakan user untuk melakukan request informasi dari basis data  Kategori Bahasa :  Prosedural  Non-prosedural
  • 3.
     Bahasa querymemungkinkan 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. Bahasa Query
  • 4.
    Aljabar Relasional  Merupakanbahasa prosedural  Operator dasar :  select  project  union  set difference  Cartesian product  Operator yang melibatkan dua atau lebih relasi sebagai input akan menghasilkan satu relasi baru sebagai output.
  • 5.
    Operasi Dalam AljabarRelasional  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.
  • 6.
    Definisi Operasi Select Notasi : σp(r)  p disebut sebgai predikat selection Di mana p adalah sebuah formula dalam kalkulus proposisi yang terdiri atas kondisi yang dihubungkan dengan : dan juga dihubungkan dengan operator: =, ≠, >, . <. ≥ ≤
  • 7.
  • 8.
     Jika adasebuah 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 Operasi SELECT
  • 9.
     Contoh-contoh querylain 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?
  • 10.
     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.
  • 11.
    Definisi Operasi Project Notasi : ΠA1, A2, …, Ak (r) di mana A1, A2 adalah nama atribut, dan r adalah nama tabel.  Hasil operasi project didefinisikan sebagai relasi dengan kolom sebanyak k yang diperoleh dengan menghapus kolom yang tidak termasuk dalam kriteria.
  • 12.
  • 13.
    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 :
  • 15.
    Definisi Operasi Union Notasi:r U s Kriteria valid r U s :  1. r, s harus mempunyai jumlah atribut sama  2. Domain atribut harus kompatibel (misal : kolom kedua relasi r mempunyai tipe data yang sama dengan kolom kedua relasi s)
  • 16.
  • 17.
    Definisi Operasi SetDifference  Notasi : r – s  Operasi set difference harus dilakukan pada relasi yang kompatibel :  Domain atribut r dan s harus kompatibel
  • 18.
  • 19.
    Cartesian / Cross-Product Cross Product biasa dikenal dengan Operasi Cartesian-product.  Operasi Cartesian-product disimbolkan dengan “x”.  Dengan operasi ini dapat dihasilkan informasi yang merupakan kombinasi dari dua tabel.  Secara garis besar, jika dipunyai relasi r1(R1) dan r2(R2), maka r1 x r2 adalah tabel yang skemanya merupakan gabungan dari R1 ( atribut-atribut relasi r1) dan R2 (atribut- atribut r2).
  • 20.
  • 21.
    Union, Intersection, Set-Difference Semua Operasi ini membutuhkan dua relasi, syarat yang harus di penuhi adalah:  Mempunyai jumlah field yang sama  Field yang berkorespondensi memiliki tipe yang sama.  Misalkan untuk dua tabel relasi S1 dan S2 berikut:
  • 22.
     Berikut iniadalah contoh dari ketiga operasi diatas:  Union : S1 U S2  Intersection: S1 n S2  Set-Difference:
  • 23.
     Contoh :S1 x R1
  • 24.
  • 26.
    Contoh Query  Carisemua kolom di tabel BORROW yang jumlahnya (amount) lebih dari $1200 σamount > 1200 (BORROW)  Cari nomor loan untuk semua loan yang jumlahnya (amount) lebih dari $1200 Πloan# (σamount > 1200 (loan))
  • 27.
    Contoh Query  Carinama semua customer yang mempunyai loan, account, atau keduanya. Πcustomer-name (borrow) U Πcustomer-name (deposit)  Cari nama semua customer yang mempunyai loan dan account. Πcustomer-name (borrow) Π ∩ customer-name (deposit)
  • 28.
    Contoh Query  Carinama semua customer yang mempunyai loan di branch Perryridge. Πcustomer-name (σbranch-name=“Perryridge”)
  • 29.
    Contoh Query Nama customerserta kota tempat tinggalnya dari customer-customer yang merupakan CLIENT dari employee „JOHNSON‟
  • 30.
    Latihan :  Diketahuiskema basis data sbb: employee (person-name, street, city) works (person-name, company-name, salary) company (company-name, city) manages (person-name, manager-name) a. Tampilkan semua nama dan kota employee b. Tampilkan nama dan kota tempat tinggal semua employee c. Tampilkan semua nama employee yang bekerja pada company First Bank Corporation. d. Tampilkan nama dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation. e. Tampilkan nama, alamat dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation dan berpenghasilan lebih dari $10,000. f. Tampilkan nama semua employee yang tidak bekerja di First Bank Corporation.