ALJABAR RELASIONAL
Mata Kuliah : Database 1
Dosen : Tessy Badriyah
ALJABAR RELASIONAL
• Definisi : Sekumpulan operasi yang
digunakan untuk memanipulasi relasi-relasi
• Dapat dibagi dalam 2 kelompok :
– Operasi yang melibatkan teori set, yaitu
UNION, INTERSECTION, DIFFERENCE,
CARTESIAN PRODUCT
– Operasi khusus untuk basis data relasional,
misal : SELECT, PROJECT dan JOIN.
Daftar Tabel (Relasi) Yang Dipakai
OPERASI SELECT
• Digunakan untuk memilih satu sub-set
record dalam suatu relasi yang memenuhi
kondisi pemilihan
• Bentuk umum : <kondisi pemilihan> (<nama relasi>)
• Dimana = select operator
<kondisi pemilihan> = operasi boolean


CONTOH OPERASI SELECT
• Dapatkan subset dari pegawai yang bekerja
pada Departemen 4 dan mempunyai gaji
lebih besar daripada 50000 :
• (DNO=4) and (SALARY > 50000) (EMPLOYEE)
OPERASI PROJECT
• Dengan memandang relasi sebagai tabel,
maka operasi ini digunakan untuk memilih
sejumlah kolom tertentu dari tabel.
• Bentuk umum :
• <daftar atribut > (<nama tabel>)
CONTOH OPERASI PROJECT
• Dapatkan atribut LNAME (nama belakang)
dan SALARY (gaji) dari tabel EMPLOYEE
• LNAME, SALARY (EMPLOYEE)
SELECT dan PROJECT
• Dapatkan list dari nama (LNAME) dan
SALARY dari semua pegawai yang bekerja
pada departemen 5 :
• RESULT <= LNAME,SALARY ( DNO=5 (EMPLOYEE) )
• Atau
• DEP5_EMP <= DNO=5 (EMPLOYEE)
• RESULT <= LNAME,SALARY (DEP5_EMP)
 


OPERASI-OPERASI
TEORI SET
• Operasi-operasi teori set, yaitu : union ( ),
intersection ( ), difference (-).

Contoh Operasi Teori Set
• Dapatkan nomer induk pegawai (SSN) dari semua
pegawai yang bekerja pada departemen 5 atau
yang secara langsung menjadi supervisor dari
pegawai yang bekerja pada departemen 5
• DEP5_EMPS <= DNO=5 (EMPLOYEE)
• RESULT1 <= SSN (DEP5_EMPS)
• RESULT2(SSN) <= SUPERSSN (DEP5_EMPS)
• RESULT <= RESULT1 RESULT2




CARTESIAN PRODUCT
• NOTASI : X
• Disebut juga CROSS PRODUCT atau
CROSS JOIN dan digunakan untuk
mengkombinasikan record dari dua tabel.
Contoh Operasi
Cartesian Product
• Dapatkan untuk setiap pegawai perempuan , satu
list nama dari dependent (anggota keluarga)
pegawai tersebut.
• FEMALE_EMPS <= SEX=‘F’ (EMPLOYEE)
• EMPNAMES <= LNAME,SSN (FEMALE_EMPS)
• EMP_DEP <= EMPNAMES X DEPENDENT
• ACTUAL_DEP <= SSN=ESSN (EMP_DEP)
• RESULT <= LNAME,DEPENDENT_NAME (ACTUAL_DEP)





OPERASI JOIN
• Notasi :
• Operasi ini sangat penting karena
memungkinkan untuk melakukan proses
relationship dari sejumlah tabel.
Contoh Operasi Division
• Dapatkan nama-nama pegawai yang bekerja pada
semua project dimana ‘Smith’ juga bekerja di
dalamnya.
• SMITH <= LNAME=‘Smith’ (EMPLOYEE)
• SMITH_PNOS <= PNO (WORKS_ON ESSN=SSN SMITH)
• SSN_PNOS <= PNO,ESSN (WORKS_ON)
• TEMP_RES <= SSN_PNOS SMITH_PNOS
• RESULT <= LNAME (TEMP_RES X EMPLOYEE)




Fungsi Aggregate ( )
• SUM : menjumlah nilai dari suatu atribut
• AVERAGE : mencari rata-rata nilai dari
suatu atribut
• MAXIMUM : mencari nilai paling besar
dari suatu atrbiut
• MINIMUM : mencari nilai paling besar dari
suatu atribut
• COUNT : menghitung jumlah record
Penggunaan Fungsi Aggregate
• Dapatkan setiap nomer department, jumlah
pegawai dalam department dan gaji rata-rata
mereka.
• R(DNO,jumlah_peg, gaji_rata2) <=
DNO, COUNT SSN, AVERAGE SALARY (EMPLOYEE)
Latihan Soal
Kerjakan, kemudian kumpulan
setelah liburan panjang
Relational Schema
• Relational schemas for five relations in a
movie database are depicted below.
– movie(movieName, whenMade)
– star(starName, age)
– studio(studioName, where)
– produces(studioName, movieName)
– starsIn(starName, movieName)
Exercise
1. When was the movie Titanic made?
2. Who stars in Titanic?
3. Which stars that are over 40 appear in Titanic?
4. Which stars do not appear in Titanic?
5. Which studio produces Titanic?
6. What are the names of stars who star in movies produced
by studios located in Townsville?
7. Which movies star Kate Winslet?
8. Which Titanic stars are under 20?
9. Give me the stars and the studios they work for who
starred in Titanic

Aljabar relasional

  • 1.
    ALJABAR RELASIONAL Mata Kuliah: Database 1 Dosen : Tessy Badriyah
  • 2.
    ALJABAR RELASIONAL • Definisi: Sekumpulan operasi yang digunakan untuk memanipulasi relasi-relasi • Dapat dibagi dalam 2 kelompok : – Operasi yang melibatkan teori set, yaitu UNION, INTERSECTION, DIFFERENCE, CARTESIAN PRODUCT – Operasi khusus untuk basis data relasional, misal : SELECT, PROJECT dan JOIN.
  • 3.
  • 4.
    OPERASI SELECT • Digunakanuntuk memilih satu sub-set record dalam suatu relasi yang memenuhi kondisi pemilihan • Bentuk umum : <kondisi pemilihan> (<nama relasi>) • Dimana = select operator <kondisi pemilihan> = operasi boolean  
  • 5.
    CONTOH OPERASI SELECT •Dapatkan subset dari pegawai yang bekerja pada Departemen 4 dan mempunyai gaji lebih besar daripada 50000 : • (DNO=4) and (SALARY > 50000) (EMPLOYEE)
  • 6.
    OPERASI PROJECT • Denganmemandang relasi sebagai tabel, maka operasi ini digunakan untuk memilih sejumlah kolom tertentu dari tabel. • Bentuk umum : • <daftar atribut > (<nama tabel>)
  • 7.
    CONTOH OPERASI PROJECT •Dapatkan atribut LNAME (nama belakang) dan SALARY (gaji) dari tabel EMPLOYEE • LNAME, SALARY (EMPLOYEE)
  • 8.
    SELECT dan PROJECT •Dapatkan list dari nama (LNAME) dan SALARY dari semua pegawai yang bekerja pada departemen 5 : • RESULT <= LNAME,SALARY ( DNO=5 (EMPLOYEE) ) • Atau • DEP5_EMP <= DNO=5 (EMPLOYEE) • RESULT <= LNAME,SALARY (DEP5_EMP)    
  • 9.
    OPERASI-OPERASI TEORI SET • Operasi-operasiteori set, yaitu : union ( ), intersection ( ), difference (-). 
  • 10.
    Contoh Operasi TeoriSet • Dapatkan nomer induk pegawai (SSN) dari semua pegawai yang bekerja pada departemen 5 atau yang secara langsung menjadi supervisor dari pegawai yang bekerja pada departemen 5 • DEP5_EMPS <= DNO=5 (EMPLOYEE) • RESULT1 <= SSN (DEP5_EMPS) • RESULT2(SSN) <= SUPERSSN (DEP5_EMPS) • RESULT <= RESULT1 RESULT2    
  • 11.
    CARTESIAN PRODUCT • NOTASI: X • Disebut juga CROSS PRODUCT atau CROSS JOIN dan digunakan untuk mengkombinasikan record dari dua tabel.
  • 12.
    Contoh Operasi Cartesian Product •Dapatkan untuk setiap pegawai perempuan , satu list nama dari dependent (anggota keluarga) pegawai tersebut. • FEMALE_EMPS <= SEX=‘F’ (EMPLOYEE) • EMPNAMES <= LNAME,SSN (FEMALE_EMPS) • EMP_DEP <= EMPNAMES X DEPENDENT • ACTUAL_DEP <= SSN=ESSN (EMP_DEP) • RESULT <= LNAME,DEPENDENT_NAME (ACTUAL_DEP)     
  • 13.
    OPERASI JOIN • Notasi: • Operasi ini sangat penting karena memungkinkan untuk melakukan proses relationship dari sejumlah tabel.
  • 14.
    Contoh Operasi Division •Dapatkan nama-nama pegawai yang bekerja pada semua project dimana ‘Smith’ juga bekerja di dalamnya. • SMITH <= LNAME=‘Smith’ (EMPLOYEE) • SMITH_PNOS <= PNO (WORKS_ON ESSN=SSN SMITH) • SSN_PNOS <= PNO,ESSN (WORKS_ON) • TEMP_RES <= SSN_PNOS SMITH_PNOS • RESULT <= LNAME (TEMP_RES X EMPLOYEE)    
  • 15.
    Fungsi Aggregate () • SUM : menjumlah nilai dari suatu atribut • AVERAGE : mencari rata-rata nilai dari suatu atribut • MAXIMUM : mencari nilai paling besar dari suatu atrbiut • MINIMUM : mencari nilai paling besar dari suatu atribut • COUNT : menghitung jumlah record
  • 16.
    Penggunaan Fungsi Aggregate •Dapatkan setiap nomer department, jumlah pegawai dalam department dan gaji rata-rata mereka. • R(DNO,jumlah_peg, gaji_rata2) <= DNO, COUNT SSN, AVERAGE SALARY (EMPLOYEE)
  • 17.
    Latihan Soal Kerjakan, kemudiankumpulan setelah liburan panjang
  • 18.
    Relational Schema • Relationalschemas for five relations in a movie database are depicted below. – movie(movieName, whenMade) – star(starName, age) – studio(studioName, where) – produces(studioName, movieName) – starsIn(starName, movieName)
  • 19.
    Exercise 1. When wasthe movie Titanic made? 2. Who stars in Titanic? 3. Which stars that are over 40 appear in Titanic? 4. Which stars do not appear in Titanic? 5. Which studio produces Titanic? 6. What are the names of stars who star in movies produced by studios located in Townsville? 7. Which movies star Kate Winslet? 8. Which Titanic stars are under 20? 9. Give me the stars and the studios they work for who starred in Titanic