1 / 22

Basis Data

Basis Data. Relational Algebra. Aljabar Relasional. Aljabar relasional adalah kumpulan operasi terhadap relasi. Setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru.

giona
Download Presentation

Basis Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basis Data Relational Algebra

  2. Aljabar Relasional • Aljabar relasional adalah kumpulan operasi terhadap relasi. Setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru. • Operasi aljabar relasional yang dilakukan pada satu atau lebih relasi untuk mendefinisikan relasi lainnya tanpa mengubah relasi yang asli.

  3. Operand dan hasilnya merupakan relasi, sehingga output suatu operasi dapat menjadi input bagi operasi yang lain. • Memungkinkan suatu operasi bertingkat (nested) (seperti aritmatika), hal ini disebut closure. • terdapat 5 operasi dasar pada aljabar relasional: Selection, Projection, Cartesian product, Union, dan Set Difference. Menampilkan seluruh operasi pemanggilan data yang dibutuhkan. • Operasi lainnya : Join, Intersection, dan Division operations, yang juga dapat diekspresikan dengan menggunakan operasi dasar.

  4. Operasi aljabar Relasional

  5. Operasi Kompleks dalam Aljabar Relasional

  6. Selection (or Restriction) •  predicate (R) • Operasi pada relasi tunggal, dan menghasilkan relasi yang berisikan baris (tuple) yang sesuai dengan syarat yang telah ditentukan (predicate). • Contoh : Buatlah daftar staf dengan gaji > £10,000. salary > 10000 (Staff)

  7. Projection • col1, . . . , coln(R) • Operasi pada relasi tunggal R dan menghasilkan relasi yang berisikan subset vertical (kolom) dari R, Menampilkan isi atribut dan menghilangkan duplikasi. • Contoh : Buatlah daftar gaji seluruh staff, yang terdiri dari staffNo, fName, lName, dan salary. staffNo, fName, lName, salary(Staff)

  8. Union • R  S • Penggabungan (Union) dua relasi, R dan S, menghasilkan relasi yang berisikan semua tuple dari R, dan/atau S, dan duplikasi akan dieliminasi/dihilangkan. • Atribut ( R ) = Atribut ( S ) . • Jika R dan S memiliki sejumlah tuple I dan J , maka hasil tupel dari union keduanya max (I + J). • Contoh : Tampilkan seluruh kota dimana terdapat kantor cabang dan property untuk disewakan city(Branch) city(PropertyForRent)

  9. Set Difference • R – S • Menghasilkan relasi yang terdiri dari tuple pada relasi R,yang tidak ada pada relasi S. • Atribut ( R ) = Atribut ( S ) • Contoh : Tampilkan seluruh kota dimana terdapat kantor cabang tetapi tidak terdapat property untuk disewakan. city(Branch) – city(PropertyForRent)

  10. Intersection • R  S • Menghasilkan relasi yang terdiri dari kumpulan seluruh tuple yang ada pada relasi R maupun S. • Atribut ( R ) = Atribut ( S ) • Dapat dihasilkan dengan menggunakan operasi dasar: R  S = R – (R – S) • Contoh : Tampilkan seluruh kota yang mempunyai kantor cabang dan sedikitnya 1 property untuk disewakan. city(Branch) city(PropertyForRent)

  11. Cartesian product • R X S • Menghasilkan relasi yang merupakan urutan (concatenation) dari setiap tuple pada relasi R dengan setiap tuple pada relasi S. • Contoh : Tampilkan nama dan komentar seluruh klien yang telah melihat property yang disewakan. (clientNo, fName, lName(Client)) X (clientNo, propertyNo, comment (Viewing))

  12. Contoh Cartesian Product dan Selection: • Gunakan operasi selection untuk menampilkan tuple klien dimana, Client.clientNo = Viewing.clientNo. Client.clientNo = Viewing.clientNo((clientNo,fName,lName(Client))  (clientNo,propertyNo,comment(Viewing))) • Cartesian product dan Selection dapat diganti dengan operasi tunggal, Join.

  13. Join Operation • Join merupakan turunan dari operasi Cartesian product. • Equivalen dengan fungsi Selection, menggunakan predikat join sebagai fungsi selection pada Cartesian product dari dua buah relasi. • Merupakan operasi tersulit untuk diimplementasikan secara efisien pada RDBMS dan merupakan salah satu alasan mengapa RDBMS memiliki masalah-masalah. • Jenis-jenis operasi join. • Theta join • Equijoin (a particular type of Theta join) • Natural join • Outer join • Semijoin

  14. Theta join (-join) • R FS • Mendefinisikan relasi yang terdiri dari tuple-tuple yang memenuhi syarat predikat F dari Cartesian product relasi R dan S. • Predikat F yaitu bentuk dari R.ai  S.bi dimana  dapat berupa operator pembanding (<, , >, , =, ). • Theta join dapat dituliskan dengan menggunakan operasi dasar Selection dan operasi Cartesian product. R FS = F(R  S)

  15. Contoh - Equijoin • Tampilkan nama dan komentar semua klien yang telah melihat property untuk disewakan. (clientNo,fName,lName(Client)) Client.clientNo=Viewing.clientNo(clientNo,propertyNo, comment(Viewing))

  16. Natural join • R S • Equijoin dari dua relasi R dan S untuk seluruh atribut x. Perulangan akan dieliminasi dari hasil akhir. • Contoh - Natural join Tampilkan nama dan komentar seluruh klien yang telah melihat property untuk disewakan. (clientNo, fName, lName(Client)) (clientNo, propertyNo, comment(Viewing))

  17. Outer join • Untuk menampilkan baris pada relasi yang dihasilkan, dimana baris tersebut tidak memiliki nilai yang cocok (matching values) dengan kolom yang di-join. • R S • (Left) outer join adalah join, dimana tuple dari R yang tidak memiliki nilai yang cocok (matching values) pada kolom dari S, yang ditampilkan dalam relasi yang dihasilkan.

  18. Contoh - Left Outer join • Buatlah laporan status dari property viewings Viewing propertyNo, street, city(PropertyForRent)

  19. Semijoin • R F S • Mendefinisikan relasi yang berisikan tuple-tuple dari relasi R yang ada pada join R dengan S. • Semijoin dapat dituliskan dengan menggunakan Projection dan join : • R F S = A(R F S)

  20. Contoh - Semijoin • Tampilkan detail lengkap semua staff yang bekerja pada kantor cabang di Glasgow. Staff Staff.branchNo = Branch.branchNo and Branch.city = ‘Glasgow’ Branch

  21. Division • R  S • Mendefinisikan relasi antara atribut-atribut C yang terdiri dari himpunan tuple R yang merupakan kombinasi yang cocok/sesuai (match) dengan setiap tuple S. • Ekpresi dengan menggunakan operasi dasar: • T1 C(R) • T2 C((S X T1) – R) • T  T1 – T2

  22. Contoh Division • Identifikasi seluruh klien yang telah melihat seluruh properti dengan 3 buah ruang/kamar. (clientNo, propertyNo(Viewing))  (propertyNo(rooms = 3 (PropertyForRent)))

More Related