Jawaban Tugas Basis Data-04 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Nama



: Kristiyanti Sampe Paledung



NIM



: 20200801085



Sesi



: KJ001



Matkul



: Basis Data



1. Apa perbedaan antara bahasa prosedural dan nonprocedural? Bagaimana Anda mengklasifikasikan aljabar relasional dan kalkulus relasional? 1) Perbedaan dasar antara Aljabar Relasional dan Kalkulus Relasional adalah bahwa Aljabar Relasional adalah bahasa prosedural, sedangkan Kalkulus Relasional adalah Non-Prosedural, alih-alih merupakan bahasa Deklaratif. 2) Aljabar Relasional mendefinisikan cara mendapatkan hasil sedangkan, Kalkulus Relasional menentukan informasi apa yang harus berisi hasil. 3) Aljabar Relasional menentukan urutan operasi yang harus dilakukan dalam kueri. Di sisi lain, kalkulus relasional tidak menentukan urutan operasi yang dilakukan dalam kueri. 4) Aljabar Relasional tidak tergantung pada domain, sedangkan Kalkulus Relasional dapat menjadi tergantung pada domain sebagaimana kita memiliki Kalkulus Relasional Domain. 5) Bahasa query Aljabar Relasional terkait erat dengan bahasa pemrograman sedangkan, Kalkulus Relasional terkait erat dengan Bahasa Alam.



2. Jelaskan istilah-istilah berikut: a. Kalkulus relasional tupel Kalkulus relasional tupel adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut. Kalkulus relasional tupel merupakan basis untuk bahasa query QUEL. b. Kalkulus relasional domain   



Kalkulus relasional domain juga adalah bahasa query yang non prosedural dan karenanya berhubungan dekat dengan kalkulus relasional tupel. Berbeda dengan kalkulus relasional tupel, bahasa ini menggunakan variabel domain yang mengambil nilai dari domain atribut, bukan dari nilai seluruh tupel. Kalkulus relasional domain merupakan basis untuk bahasa query QBE



3. Definisikan lima operasi aljabar relasional dasar. Tentukan operasi Join dan Intersection. Lima operasi relasional dasar: 1) Operasi Selection Operasi selection dapat didefiniskan sebagai ”Kumpulan semua tuple-tuple/recordrecord dalam suatu tabel yang memenuhi kondisi P”. Operasi selection berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi. Simbol sigma “σ” digunakan untuk menunjukkan operasi select. Predikat muncul sebagaisubscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi yang dimaksud. 2) Operasi Projection Operasi projection berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah tabel relasi. Simbol phi “π” digunakan untuk menunjukkan operasi projection. Predikat muncul sebagai subscript dari π dan hanya nama atribut yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti π dan berisi tabel relasi yang dimaksud. 3) Operasi union Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. Simbol “∪” digunakan untuk menunjukkan operasi union. Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama. 4) Operasi Set Difference Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya. Simbol “-“ digunakan untuk menunjukkan operasi set difference. 5) Operasi Cartesian Product Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru. Simbol “x“ digunakan untuk menunjukkan operasi cartesian product. a. Operasi Join Ada beberapa bentuk operasi join, yaitu: 1. Theta join



Theta join (𝜽 − 𝒋𝒐𝒊𝒏)  Mendefinisikan relasi yang berisi tupel yang memenuhi predikat F dari produk Cartesian dari R dan S.  Predikat F adalah dari bentuk R.ai; 𝜃 S.bi, dimana 𝜃 dapat menjadi salah satu  operator pembanding (, ≥, =, ≠). 𝑹⋈𝒇𝑺 = 𝝈𝒇(𝑹 𝒙 𝑺) 2. Equijoin (jenis tertentu dari Theta join) 3. Natural join  Natural join adalah Equijoin dari dua relasi R dan S pada semua atribut umum x.  Satu kemunculan setiap atribut umum dieliminasi dari hasil. Notasi Natural join adalah: 𝑹⋈� 4. Outer join 5. Semi join b. Operasi Intersection  Operasi Intersection mendefinisikan relasi yang terdiri dari himpunan semua tupel yang ada di R dan S.  R dan S harus kompatibel dengan union Buat daftar semua kota di mana terdapat branch office dan setidaknya satu property for rent. 𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) ∩ 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕) 4. Diskusikan perbedaan antara lima operasi join: Theta join, Equijoin, Natural join, Outer join, dan Semijoin. Berikan contoh untuk menggambarkan jawaban Anda. 



Theta join menghasilkan sebuah relasi yang berisi tuple yang memenuhi syarat F dari Cartesian product dari R dan S.







Equi join menghasilkan sebuah relasi yang berisi tuple yang memenuhi syarat F (dimana hanya sebanding) dari Cartesian product dari R dan S.







Natural Join adalah sebuah equasi dari dua relasi R dan S melalui semua atribut umum x.







Outer Join adalah sebuah join yang tuplenya berasal dari R yang tidak memiliki nilai yang sama pada atribut umum dari S juga termasuk dalam hasil relasi.







Semijoin menghasilkan sebuah relasi yang berisi tuples dari R yang terdapat dalam join R dan S. 5. Ada berbagai jenis operasi join yang dapat digunakan untuk mengambil data, berdasarkan relasi yang berbeda. Jelaskan hubungan antara theta dan equal join. Berikan contoh untuk menjelaskan bagaimana keduanya diterapkan dalam pernyataan. A theta join memungkinkan untuk sewenang-wenang perbandingan hubungan (seperti ≥). An equijoin adalah theta join menggunakan operator kesetaraan. A natural join adalah suatu equijoin pada atribut yang memiliki nama yang sama dalam setiap hubungan. Selain itu, bergabung alami menghilangkan duplikat kolom yang terlibat dalam kesetaraan perbandingan sehingga hanya 1 dari masing-masing dibandingkan kolom tetap; dalam kasar relasional aljabar syarat: ⋈ = πR,S-as ○ ⋈aR=aS



6. Apa perbedaan antara bilangan eksistensial dan universal dalam kalkulus relasional? 1. Kuantor Universal Kuantor universal menunjukan bahwa setiap objek dalam semestanya mempunyai sifat kalimat yang menyatakanya. Simbol untuk kuantor universal adalah “∀”, dibaca “untuk semua” atau “ untuk setiap”. Misalkan p(x) : “ x dapat mati” . Pernyataan “semua manusia dapat mati” ditulis dalam symbol: (∀x) p(x). Pernyataan (∀x) p(x) bernilai benar jika hanya jika p(x) benar untuk semua p(x) dalam semestanya dan bernilai salah jika ada x yang menyebabkan p(x) salah. 2. Kuantor Eksistensial. Kuantor Eksistensial menunjukkan bahwa diantara objek-objek dalam semestanya, paling sedikit ada satu objek (atau lebih) yang mempunyai sifat kalimat yang menyatakannya. Simbol kuantor eksistensial adalah “∃” dibaca “terdapat”, “ada”, “beberapa”. Pernyataan (∃x) q(x) bernilai benar jika dan hanya jika ada paling sedikit satu x yang menyebabkan q(x) benar dan bernilai salah jika untuk semua x dalam semestanya, q(x) salah. Variabel x dalam p(x) disebut variabel bebas karena jika x berubah maka nilai p(x) pada umumnya juga berubah. Sebaliknya, variabel x dalam (∀x) p(x) merupakan variabel terikat karena nilai (∀x) p(x) tidak lagi tergantung dari nilai x. Variabel x terikat oleh kuantor ∀.



7. Jelaskan notasi-notasi berikut ini  



𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) ∪ 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕) Tampilkan semua kota antara branch office atau property for rent (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒇𝑵𝒂𝒎𝒆,𝑰𝑵𝒂𝒎𝒆(𝑪𝒍𝒊𝒆𝒏𝒕)) 𝒙 (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒑𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑵𝒐,𝒄𝒐𝒎𝒎𝒆𝒏𝒕(𝑽𝒊𝒆𝒘𝒊𝒏𝒈))



 



Buat daftar nama dan komentar dari semua klien yang telah melihat property for rent. 𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) − 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕) Buat daftar semua kota yang memiliki branch office tetapi tidak ada property for rent (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒇𝑵𝒂𝒎𝒆,𝑰𝑵𝒂𝒎𝒆(𝑪𝒍𝒊𝒆𝒏𝒕))⋈ (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒑𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑵𝒐,𝒄𝒐𝒎𝒎𝒆𝒏𝒕(𝑽𝒊𝒆𝒘𝒊𝒏𝒈))