bab5

19
ALJABAR RELASIONAL ALJABAR RELASIONAL

Upload: nilahafni

Post on 14-Jul-2015

605 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bab5

ALJABAR RELASIONALALJABAR RELASIONAL

Page 2: Bab5

ALJABAR RELASIONALALJABAR 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.

Page 3: Bab5

Daftar Tabel (Relasi) Yang Daftar Tabel (Relasi) Yang DipakaiDipakai

Page 4: Bab5

OPERASI SELECTOPERASI 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

σσ

Page 5: Bab5

CONTOH OPERASI SELECTCONTOH OPERASI SELECT

• Dapatkan subset dari pegawai yang bekerja pada Departemen 4 dan mempunyai gaji lebih besar daripada 50000 :

• (DNO=4) and (SALARY > 50000) (EMPLOYEE) σ

Page 6: Bab5

OPERASI PROJECTOPERASI PROJECT

• Dengan memandang relasi sebagai tabel, maka operasi ini digunakan untuk memilih sejumlah kolom tertentu dari tabel.

• Bentuk umum :

• <daftar atribut > (<nama tabel>)π

Page 7: Bab5

CONTOH OPERASI PROJECTCONTOH OPERASI PROJECT

• Dapatkan atribut LNAME (nama belakang) dan SALARY (gaji) dari tabel EMPLOYEE

• LNAME, SALARY (EMPLOYEE)π

Page 8: Bab5

SELECT dan PROJECTSELECT 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)

π σσ

π

Page 9: Bab5

OPERASI-OPERASI OPERASI-OPERASI TEORI SETTEORI SET

• Operasi-operasi teori set, yaitu : union ( ), intersection ( ), difference (-). ∪

Page 10: Bab5

Contoh Operasi Teori SetContoh 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

πσ

π∪

Page 11: Bab5

CARTESIAN PRODUCTCARTESIAN PRODUCT

• NOTASI : X

• Disebut juga CROSS PRODUCT atau CROSS JOIN dan digunakan untuk mengkombinasikan record dari dua tabel.

Page 12: Bab5

Contoh Operasi Contoh Operasi Cartesian ProductCartesian 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)

πσ

σπ

Page 13: Bab5

OPERASI JOINOPERASI JOIN

• Notasi :

• Operasi ini sangat penting karena memungkinkan untuk melakukan proses relationship dari sejumlah tabel.

Page 14: Bab5

Contoh Operasi DivisionContoh 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)

σπ

π

π

Page 15: Bab5

Fungsi Aggregate ( )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

Page 16: Bab5

Penggunaan Fungsi AggregatePenggunaan 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)

Page 17: Bab5

Latihan SoalLatihan Soal

Kerjakan, kemudian kumpulan Kerjakan, kemudian kumpulan setelah liburan panjangsetelah liburan panjang

Page 18: Bab5

Relational SchemaRelational 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)

Page 19: Bab5

ExerciseExercise

• When was the movie Titanic made?• Who stars in Titanic? • Which stars that are over 40 appear in Titanic? • Which stars do not appear in Titanic?• Which studio produces Titanic? • What are the names of stars who star in movies

produced by studios located in Townsville? • Which movies star Kate Winslet? • Which Titanic stars are under 20? • Give me the stars and the studios they work for who

starred in Titanic