Aljabar Relational

Post on 19-Jan-2016

47 views 1 download

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

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

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.

4

Operasi Aljabar Relasional

Operasi-operasi dasar dalam aljabar relasional adalah :

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

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.

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.

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)

8

Operasi Select

• Jika relasi Loan adalah :

9

Operasi Select

• Maka hasil dari query di atas adalah :

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.

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

12

Operasi Project

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

13

Operasi Project

• Hasil operasi tersebut adalah :

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

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.

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.

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)

18

Operasi Union

19

Operasi Union

• Hasil query yang union di atas adalah :

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.

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)

22

Operasi Pengurangan Himpunan ( Set Difference)

• hasil query di atas :

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

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)

25

Operasi Cartesian –product

• Relasi yang dihasilkan :

26

Operasi Cartesian –product

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

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

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

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

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