Tugas Basis Data II - Konsep Relasional Basis Data

  • View
    755

  • Download
    8

Embed Size (px)

DESCRIPTION

Konsep Relasional Basis Data

Text of Tugas Basis Data II - Konsep Relasional Basis Data

TUGAS BASIS DATA IIKONSEP RELASIONAL BASIS DATA

Oleh: 1. Phie Chyan (631) 2. Rajim Laymond.S. (633) 3. Sherly Jayanti (635)

UNIVERSITAS GADJAH MADA JOGJAKARTA

1

Bab 2.KONSEP DATABASE RELASIONAL SOAL SOAL SUPPLEMEN DARI BUKU FUNDAMENTALS OF RELATIONAL DATABASES2.21. Pada tabel-tabel dibawah ini, tentukanlah mana tabel yang dapat mereprenstasikan suatu relasi, jelaskan alasannya Jawaban: Tabel A A 1 25 46 53 16 B 88 45 87 26 23 57 C 80 23 23 39 33 48 D 0 89 43 55 43 48

Tabel A diatas bukan merupakan relasi, karena pada kolom atau attribut A yang menjadi primary key terdapat salah satu row yang NULL atau tidak mempunyai nilai pada kolom A nya, hal ini merupakan suatu pelanggaran disebabkan salah satu syarat dari Primary key adalah tidak boleh bernilai NULL Tabel B A 1 16 25 46 53 16 B 88 57 87 26 23 57 C 80 48 23 39 33 48 D 0 48 43 55 43 48

Tabel B diatas bukan merupakan relasi karena terdapat 2 baris yang identik yaitu baris ke-2 dan baris ke-6, dalam model data Relational Database Management System (RDBMS), setiap record dalam satu tabel harus unik artinya tidak dibolehkan dalam satu tabel mempunyai 2 atau lebih record yang sama 2

Tabel C A 23WEE 16 25WE 46RE 53WT 16E B 88 57 87 26 23 57 C 80 48 23 39 33 48 D 0 48 43 55 43 48

Tabel C diatas dapat merupakan relasi akan tetapi dapat juga bukan merupakan relasi, hal ini akan tergantung dari pemilihan tipe data untuk attribut A, apabila tipe data yang dimiliki oleh Attribut A merupakan tipe karakter maka tabel diatas merupakan relasi sehingga semua angka diatas pada kolom A akan dianggap sebagai karakter dan tidak dapat digunakan dalam operasi matematis, tetapi apabila tipe data yang dimiliki oleh A bertipe numeric maka tabel C diatas bukan merupakan relasi karena pemasukan data selain angka dalam tipe numerik akan ditolak dalam model data RDBMS.

2.22. Asumsikan sebuah contoh relasi mempunyai derajat 7 dan kardinalitas 15. Berapa banyak attribut yang dimiliki oleh relasi ini dan berapa banyak baris yang berbeda yang ada didalam relasi Jawaban: Derajat dari suatu tabel merupakan jumlah kolom atau attribut yang dimiliki oleh sebuah tabel. Kardinalitas suatu tabel merupakan jumlah baris atau record yang berada dalam satu tabel pada suatu waktu. Dalam soal diatas terdapat sebuah relasi yang memiliki derajat 7 dan kardinalitas 15, maka dapat dikatakan relasi tersebut memiliki 7 attribut dan 15 record yang berbeda

2.23. Asumsikan bahwa anda memiliki sebuah relasi r(R) dan bahwa anda melakukan satu proyeksi terhadap relasi ini melalui himpunan atribut X (X R) dari relasi. Jika anda kemudian melakukan Selection terhadap relasi Projection untuk mengambil seluruh tupel yang memenuhi kondisi A = a, bagaimanakah hubungan antara A dan atribut Projection ?

3

Jawaban: R A a a c g B b d e e C c e f a

Melakukan poyeksi dengan himpunan attribut X misalnya X={A,B}

A, B ( R)A a a c g B b d e e

Kemudian melakukan seleksi terhadap relasi proyeksi yang memenuhi kondisi A=a sehingga menghasilkan

A = a (A, B ( R ))A a a B b d

Kesimpulannya: Atribut A harus merupakan salah satu atribut dari himpunan attribut X pada proyeksi yang dilakukan

4

2.24. Bayangkanlah relasi r(ABC) dan s(ACDE), Asumsikan pula bahwa a Dom(A), b Dom(B), c Dom (C) dan d Dom(D). Manakah dari pernyataan berikut yang dapat di penuhi ? a. r s Jawaban : b b = Operasi ini sah di lakukan jika atribut atribut nilainya kompatibel. Operasi B (r) B(r)menghasilkan suatu relasi yang berisi instan instan yang terjadi dalam suatu relasi r atau suatu relasi s. r dan s haruslah Union Compatible dan skema hasil identik dengan skema r. a = Operasi Union tidak sah karena relasi-relasi tidak memiliki jumlah atribut yang sama, di mana jumlah atribut relasi r adalah 3 dan jumlah atribut relasi s adalah 4. c = Operasi ini tidak sah di lakukan karena atribut D bukan merupakan elemen dari skema relasi r, D adalah elemen dari relasi s. b. B (r) B(r) c. D = d(r)

2.25. Carilah key yang tepat untuk skema relasi di bawah ini. Apakah key tersebut berupa key tunggal (single) atau campuran (composite)? Jika himpunan atribut yang sekarang tidak cocok, jelaskan mengapa dan berikanlah solusi. a. ORDER (Order-No, Order-Date, SalesRep, Total-Amount, Discount, Ship-Date). Asumsikan bahwa order number di-reset setiap hari. Masing-masing Customer Id dapat menempatkan lebih dari satu order perhari. b. STORE (Location, No-of-Employees, Total-Monthly-Sales, Manager, City). Asumsikan bahwa terdapat lebih daripada satu toko (store) yang terletak di kota yang sama. c. PAYMENT (Customer-Id, Account, Amount-Paid, Date-Paid, Type-Payment, Discount). Asumsikan bahwa customer dapat memiliki lebih dari satu account dan ia dapat melakukan beberapa pembayaran (payment) setiap harinya namun tidak dapat lebih daripada satu pembayaran per hari yang bisa di lakukan melalui masing-masing account tersebut. Jawaban : a. Key PK untuk relasi ini adalah key campuran. Atribut key ini adalah : Order-No dan Order-Date. b. Himpunan atribut yang ada sekarang tidak memungkinkan kita untuk memilih sebuah key tanpa menetapkan batasan yang tidak di perlukan terhadap relasi. Solusi terbaik adalah dengan menambahkan atribut baru Store-Id dan menggunakannya untuk mengidentifikasi keunikan setiap toko (Store). Pasangan Location dan Manager-LastName bukan merupakan solusi yang mampu bertahan karena solusi ini menetapkan kondisi yang tidak diperlukan terhadap data. Sebelum merekrut manager baru, 5

database harus di periksa untuk melihat apakah ada manager dengan last-name yang serupa. Ini nampaknya bukan merupakan cara perekrutan yang baik. c. Key untuk relasi ini adalah key campuran yang terbentuk dari atribut-atribut berikut: Customer-Id, Account, dan Date-Paid.

2.26. Perhatikanlah relasi-relasi di bawah ini dan atribut-atribut yang di tentukan sebagai PK untuk relasi-relasi tersebut. Lakukanlah penilaian apakah pilihan untuk PK tersebut tepat atau tidak. a. EMPLOYEE (ID, LAST-NAME, SALARY) b. STUDENT (NAME, ADVISOR, MAJOR). Asumsikan bahwa setiap student memiliki advisor yang unik. Seorang advisor dapat memiliki lebih dari satu orang anak didik. c. STUDENT (ID, NAME, ADVISOR). Asumsikan bahwa setiap student memiliki advisor yang unik. Jawaban: a. Atribut campuran ini bukanlah key yang tepat. Key harus tetap menjadi key tanpa terpengaruh data atau beberapa lama relasi ini akan di gunakan. Dalam kasus ini, dimungkinkan bahwa dua employee yang berbeda dapat memiliki last-name dan salary yang sama. b. Key campuran ini juga bukan merupakan key yang tepat. Seorang advisor dapat memiliki dua anak didik yang berbeda dengan nama yang sama. c. Key campuran ini tidak tepat karena melanggar sifat minimal key. Atribut name dapat di abaikan. Disini tidak dibutuhkan pengidentifikasian yang unik terhadap tupel dari relasi. Jadi cukup atribut ID saja yang jadi PK dalam relasi STUDENT

2.27. Diberikan tabel TRAVELER dan RESORT, carilah nama dari pelanggan yang telah mengunjungi semua resort yang saat ini ada dalam tabel RESORT.operasi apa yang anda gunakan? Traveler Customer Alton Russel Jones Martin Country Meksiko Meksiko Meksiko Meksiko 6

Alton Jones Russel Jones Martin Alton Russel Jones

England England Brazil Brazil Brazil Spain Spain Spain

Resort Country Mexico England Brazil Spain Resort Location Cancun Liverpool Rio de Janeiro Marbella Price 1200 1790 1790 2200

Jawaban: Untuk menjawab pertanyaan diatas kita menggunakan operasi dengan operator division, operator division dapat digunakan untuk mencari tuple yang ada pada satu tabel yang mempunyai setiap nilai yang muncul pada satu kolom tertentu dalam tabel lain, dalam contoh kasus diatas kita ingin mencari nama costumer pada tabel TRAVELER yang memiliki setiap nilai yang terdapat pada kolom Country pada tabel RESORT. Berikut ini algoritma untuk mendapatkan hasil dari operasinya: 1. Karena relasi dividen (Traveller) terdiri dari 2 attribute, maka kita dapat membaginya kedalam 2 grup yaitu attribute dividen (Country) dan attribut non dividen (Customer) Proyeksi dari relasi Traveller pada attribut non dividen adalah

2.

7

customer (Traveller )Customer Alton Russel Jones Martin

Operasikan masing masing tuple, dimulai dengan Alton, bentuk tabel baru dengan tuple dari relasi dividen (Traveller) yang mengandung tuple Alton. Sertakan semua attribut dari relasi dividen. Maka menghasilkan tabel baru Customer Alton Alton Alton Country Mexico England Spain

Kemudian untuk tuple Russel dengan operasi yang sama diatas menghasilkan Customer Russel Russel Russel Country Mexico Brazil Spain

Lalu untuk tuple jones dengan operasi yang sama menghasilkan Customer Jones Jones Jones Country Mexico England Brazil 8

Jones

Spain

Dan terakhir untuk tuple Martin menghasilkan Customer Martin Martin Country Mexico Brazil

3. Cari proyeksi dari relasi pembagi (Resort) pada attribut pembagi (Country)

country (RESORT )Country Mexico England Brazil Spain 4. Dari keempat tabel yang dibentuk oleh masing masing tuple dari kolom Customer pada tabel TRAVELLER, maka satu-satunya tuple yang memiliki semua record seperti yang dihasilkan dari proyeksi pada relasi pembagi diatas adalah tuple Jones, maka jawaban dari pertanyaan nama pelanggan yang manakah yang telah mengunjungi semua resort adalah Jones

2.28. Asumsikan anda memiliki 2 relasi seperti pada contoh 2.4. Apa yang akan terjadi jika anda mencoba menghapus tuple dengan id 10 pada tabel DEPARTMENT ? Asumsikan bahwa departemen ini dihapus dan semua karyawan pada departemen tersebut diberhentikan. Bagaimana anda menghindari kesalahan dari sistem ketika anda mencoba menghapus tuple dengan id 10? Jawaban: Apabila tuple dengan id 10 pada tabel DEPARTEMEN akan dihapus sementara beberapa tuple pada table EMPLOYEE merefensi ke tuple

Search related