Aljabar Relational

31
Aljabar Relational

description

Aljabar Relational. Review Pertemuan Ke-6. Normalisasi adalah Suatu Teknik/Cara yang digunakan untuk menganalisa relasi berdasarkan pada primary key (atau Candidate key dalam kasus BCNF) dan ketergantungan secara fungsional. - PowerPoint PPT Presentation

Transcript of Aljabar Relational

Page 1: Aljabar Relational

Aljabar Relational

Page 2: Aljabar Relational

2

Review Pertemuan Ke-6

• Normalisasi adalah Suatu Teknik/Cara yang digunakan untuk menganalisa relasi berdasarkan pada primary key (atau Candidate key dalam kasus BCNF) dan ketergantungan secara fungsional.

• Normalisasi dibagi menjadi bentuk normal I, bentuk normal II, bentuk normal III, dan BCNF

• Functional dependencies menggambarkan relasi antar attribut dalam satu skema relasi

Page 3: Aljabar Relational

3

Pendahuluan

• 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.

Page 4: Aljabar Relational

4

Operasi Aljabar Relasional

Operasi-operasi dasar dalam aljabar relasional adalah :

• Select• Project• Union• set difference• Cartesian product dan• rename.

Page 5: Aljabar Relational

5

Operasi Aljabar Relasiona

• Disamping operasi-operasi dasar terdapat beberapa operasi lainnya seperti set intersection, natural join, division dan assignment.

• Operasi-operasi ini akan didefinisikan dalam terminology operasi dasar.

Page 6: Aljabar Relational

6

Operasi-operasi Dasar

• Operasi-operasi select, project dan rename disebut operasi unary, karena operasi-operasi tersebut hanya memerlukan satu relasi.

• Tiga operasi lainnya memerlukan sepasang relasi, disebut operasi binary.

Page 7: Aljabar Relational

7

Operasi Select

• Operasi select menyeleksi tuple-tuple yang memenuhi predikat yang diberikan.

• Digunakan symbol sigma (σ) untuk menunjukkan operasi select.

• Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang mengikuti σ.

• Jadi untuk menyeleksi tuple-tuple dari relasi loan dimana branch-name-nya adalah “Perryridge”, ditulis :

• σbranch-name = “Perrydge”(loan)

Page 8: Aljabar Relational

8

Operasi Select

• Jika relasi Loan adalah :

Page 9: Aljabar Relational

9

Operasi Select

• Maka hasil dari query di atas adalah :

Page 10: Aljabar Relational

10

Operasi Select

• Contoh-contoh query lain dengan operasi select adalah : σamount>1200(loan),

• untuk menemukan tuple dengan nilai amount lebih dari 1200, σbranch-name = “Perryridge” and amount >1200 (loan), untuk menemukan tuple dengan branch-name = “Perryridge” dimana nilai amountnya lebih dari 1200.

Page 11: Aljabar Relational

11

Operasi Project

• Seandainya diinginkan semua daftar loan-number dan amount, tanpa branchname.

• Dengan operasi project dapat dihasilkan relasi ini. Operasi project disimbolkan dengan symbol phi (π).

• Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π.

Page 12: Aljabar Relational

12

Operasi Project

• Contoh : πloan-number,amount(loan), adalah operasi untuk menampilkan seluruh loan-number & amount tanpa branch-name.

Page 13: Aljabar Relational

13

Operasi Project

• Hasil operasi tersebut adalah :

Page 14: Aljabar Relational

14

Komposisi Operasi-operasi relasional

• Berikut contoh query yang lebih kompleks : “ Temukan customer-customer yang tinggal di Horison “. Maka query-nya ditulis :

• πcustomer-name(σcustomer city=”Horison”(customer))

Page 15: Aljabar Relational

15

Komposisi Operasi-operasi relasional

• perhatikan bahwa sebagai argumen dari operasi project adalah sebuah ekspresi untuk suatu relasi.

• Oleh karenanya, operasi-operasi aljabar relasional dapat digabung dengan suatu ekspresi aljabar relasional.

Page 16: Aljabar Relational

16

Operasi Union

• Operasi union dalam aljabar relasional sama halnya dengan operasi union pada aritmatika.

• Misal user menginginkan nama-nama semua nasabah bank yang memiliki sebuah account atau sebuah loan atau keduanya.

• Perhatikan bahwa relasi customer tidak mengandung informasi tersebut.

Page 17: Aljabar Relational

17

Operasi Union

• Untuk menjawab query ini diperlukan informasi dari relasi Depositor dan relasi Borrower.

• Dengan operasi union informasi yang diinginkan dapat diperoleh dengan menulis query sebagai berikut :

• πcustomer-name(borrower) U πcustomer-name(depositor)

Page 18: Aljabar Relational

18

Operasi Union

Page 19: Aljabar Relational

19

Operasi Union

• Hasil query yang union di atas adalah :

Page 20: Aljabar Relational

20

Operasi Union

• Operasi union r U s bernilai benar jika kedua relasi memenuhi dua kondisi berikut :

• 1. Relasi r & s harus mempunyai jumlah atribut yang sama

• 2. Domain dari atribut ke-I di relasi r dan domain dari atribut ke-I dari s harus sama untuk semua i.

Page 21: Aljabar Relational

21

Operasi Pengurangan Himpunan ( Set Difference)

• Disimbolkan dengan tanda “-“. • Operasi ini untuk menemukan tuple-tuple yang

berada pada satu relasi tetapi tidak berada pada relasi yang lainnya.

• Contoh untuk menemukan semua nasabah bank yang mempunyai account tetapi tidak mempunyai loan, ditulis : πcustomer-name(depositor) - πcustomer-name(borrower)

Page 22: Aljabar Relational

22

Operasi Pengurangan Himpunan ( Set Difference)

• hasil query di atas :

Page 23: Aljabar Relational

23

Operasi Cartesian –product

• Operasi Cartesian-product disimbolkan dengan “x”. • Dengan operasi ini dapat dihasilkan informasi yang

merupakan kombinasi dari dua relasi.• Secara garis besar, jika dipunyai relasi r1(R1) dan

r2(R2), maka r1 x r2 adalah relasi yang skemanya merupakan gabungan dari R1 ( atribut-atribut relasi r1) dan R2 (atribut-atribut r2).

• Relasi R mengandung semua tuple t dimana terdapat sebuah tuple t1 dalam r1 dan t2 dalam r2 sedemikian sehingga t[R1] = t1[R1] dan t[R2]=t2[R2].

Page 24: Aljabar Relational

24

Operasi Cartesian –product

• Contoh : Jika diinginkan nama-nama dari semua nasabah yang mempunyai pinjaman (loan) di bank cabang Perryridge.

• Maka query-nya ditulis : σbranch-name=”Perryridge”(borrower x loan)

Page 25: Aljabar Relational

25

Operasi Cartesian –product

• Relasi yang dihasilkan :

Page 26: Aljabar Relational

26

Operasi Cartesian –product

Page 27: Aljabar Relational

27

Operasi Rename

• Dilambangkan dengan symbol rho (ρ). Sintaks penulisan rename : ρx(E).

• Operasi rename mengeluarkan hasil ekspresi E dengan nama x.

• Contoh : πaccount.balance(σaccount.balance<d.balance (account x ρd(account)))

Page 28: Aljabar Relational

28

Summary

• Jika E1 & E2 adalah ekspresi aljabar-relasional, maka berikut ini adlah semua ekspresi aljabar-relasional :

• - E1 U E2• - E1 – E2• - E1 x E2• - σp(E1), dimana p adalah sebuah predikat untuk atribut-

atribut dalam E1• - πs(E1), dimana s adalah daftar yang terdiri dari bebrapa

atribut dalam E1• - ρx(E1), dimana x adalah nama baru untuk hasil E1

Page 29: Aljabar Relational

29

Soal Latihan

• Diketahui tabel di bawah ini :

NIK NAMA ALAMAT RT RW KDLURAH12.14.01.181169.0001 Arif Muntasa Cipta Karya E - 24 19 9 010412.14.01.650875.0003 Audrey Cipta Karya E - 24 19 9 010412.14.12.411275.0002 Ella Marina JL Cipto Kusumo 23 12 5 1202

Page 30: Aljabar Relational

30

Soal Latihan

• Gunakan aljabar relasional untuk mencari :

- Nama karyawan yang beralamat di Jl. Cipto kusumo 23 dan hasil querynya

- Tuliskan perintah aljabar relasional untuk mencari alamat dari karyawan yang memiliki kode lurah 0104

Page 31: Aljabar Relational

31

REFERENSI

• Referensi Wajib:

Raghu Ramakhrisnan, Johannes Gehrke , “Database Management System” 6th Edition, Mc Graw Hill,2006

(chapter : 4)

• Referensi Tambahan/dianjurkan:

David M.Kroenke, Database Concepts 4th Edition, Prentice Hall 2004