SOAL+JAWABAN KUIS SBD 1. • • • • • • • • • • • • • • Keuntungan DBMS Pengawasan terhadap kerangkapan data (Control of data redundancy) Konsistensi data (Data consistency) Informasi yang lebih banyak dari data yang sama (More information from the same amount of data) Penggunaan data bersama (Sharing of data) Memperbaiki integritas data (Improved data integrity) Memperbaiki keamanan (Improved security) Pelaksanaan standarisasi (Enforcement of standards) Berskala ekonomis (Economy of scale) Penyelarasan kebutuhan yang saling bertentangan (Balanced conflicting requirements) Memperbaiki kemampuan akses data dan tingkat respon (Improved data accessibility and responsiveness) Meningkatkan produktivitas (Increased productivity) Meningkatkan pemeliharaan melalui kemandirian data (Improved maintenance through data independence) Meningkatkan konkurensi (Increased concurrency) Memperbaiki recovery dan back-up (Improved backup and recovery services) 2. • • • • • • • Kerugian DBMS Kerumitan (Complexity) Ukuran (Size) Biaya DBMS (Cost of DBMS) Biaya Hardware tambahan (Additional hardware costs) Biaya konversi (Cost of conversion) Performa (Performance) Tingginya pengaruh kegagalan (Higher impact of a failure) 3. Beda File-Base Approach & Database Approach • File Base Approach : - Mengoleksi program aplikasi disesuai dengan kebutuhan services end users (laporan/dokumen). - Setiap program menentukan dan memanages data sendiri-sendiri. • Database Approach : - Pengoleksian data ditentukan dan dimanage secara terpadu 4. Tahap-tahap Query Decomposition • Analysis • Normalization • Semantic Analysis • Simplification • Query Restructuring 5. Beda DDL & DML Data Definition Language (DDL) - Memungkinkan DBA atau user untuk mendeskripsikan dan memberi nama entitas-entitas, atributatribut dan relationship yang dibutuhkan oleh aplikasi - Ditambah integrasi yang dibutuhkan dan juga batasan keamanan Data Manipulation Language (DML) - Menyediakan operasi dasar manipulasi data yang ada dalam database. 6. Apa beda Procedural DML dengan Non-Procedural DML? – Procedural DML • Memungkinkan user untuk memberitahukan sistem secara pasti bagaimana memanipulasi data. – Non-Procedural DML • Memungkinkan user untuk menetapkan data apa yang dibutuhkan dari pada bagaimana memperoleh data tersebut. 7. Fungsi DMBS • Penyimpanan Data, Retrieval, Update. • Sebagai Katalog User-Accessible. • Support Transaksi. • Serfis Kontrol Concurrency. • Serfis Recovery. • Serfis Authorization. • Support Komunikasi Data. • Serfis Integrity. • Serfis untuk Promote Data Independence. • Serfis Utility. 8. - - and • • • • • • • • • • Data Storage, Retrieval, and Update. A User-Accessible Catalog. Transaction Support. Concurrency Control Services. Recovery Services. Authorization Services. Support for Data Communication. Integrity Services. Services to Promote Data Independence. Utility Services. Komponen DBMS Hardware, meliputi PC sampai dengan jaringan komputer. Software, meliputi DBMS, Sistem Operasi, network software (Jika diperlukan) dan juga program aplikasi . Data, digunakan oleh organisasi dan deskripsi dari data disebut skema (schema). Prosedure o Instruksi-instruksi dan aturan-aturan yang harus diaplikasikan pada rancangan dan penggunaan database dan DBMS. Personil/User o Data Administrator (DA) o Database Administrator (DBA) o Database Designers (Logical and Physical) o Application Programmers End Users (naive and sophisticated) 9. Beda teleprocessing & File Server Architechture Teleprocessing • Arsitektur Tradisional. • Mainframe tunggal dengan sejumlah terminal yang dihubungkan. • Trendnya mulai menurun saat ini. File-Server • File-server terkoneksi ke beberapa workstation melalui jaringan. • Database berada pada file-server. • DBMS dan aplikasi dijalankan pada setiap workstation. • Kerugiannya antara lain : – Kemacetan jaringan yang sangat nyata. – Menyalin DBMS pada setiap workstation. – Konkurensi, recovery dan kontrol integritas menjadi lebih rumit. 10. Sebutkan dan jelaskan elemen-elemen relational data structure • Relasi merupakan tabel yang terdiri dari baris dan kolom. Diaplikasikan hanya pada struktur logikal bukan struktur fisikal. • Atribut adalah kolom yang diberi nama pada tabel. • Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. • Tuple adalah baris pada table (record). • Degree adalah banyaknya atribut/kolom pada tabel. • Cardinality adalah banyaknya tuple/baris pada tabel. • Relational Database adalah kumpulan relasi ternormalisasi dengan nama relasi yang jelas dan dapat dibedakan. 11. Apa itu Super Key, Candidate Key, Primary Key, Alternate Key, Foreign Key, Atribut? • Superkey : atribut/set atribut yang secara uniquely mengidentifikasi tuple. • Candidate key : Superkey yang mempunyai sifat : 1. Uniquenes : secara uniquely identifikasi tuple 2. Irreducibility : memiliki uniqueness property • Primary key adalah candidate key yang terpilih mengidentifikasi tuple pada suatu relasi • Alternate key adalah candidate key yang tidak terpilih. • Foreign key adalah atribut dari suatu tabel yang menjadi primary key dari tabel lain. • Atribut adalah kolom yang diberi nama pada tabel. 12. Sebutkan dan Jelaskan macam” integrity constraints. • Relational Integrity Null adalah representasi nilai untuk suatu atribut yang tidak diketahui atau tidak teraplikasi atau belum ada dalam suatu tuple atau nilai yang saat ini belum diketahui. • Entity integrity adalah tidak ada atribut dari suatu primary key yang null. Contoh: Nim No_mk Nilai 1001 null A Salah null Chico B Salah null null C Salah 1004 Lilied B Benar • Referential integrity adalah nilai FK harus cocok dengan PK di tabel homenya. Contoh: Tabel nilai : Tabel mhs : Nim No_mk Nilai Nim Nama 1001 T026 B Benar 1001 Lilied 1002 T026 B Benar 1002 Chico 1004 T026 A Salah (di tabel mhs 1003 Chili tidak ada nim ini) 1003 T026 B Benar • Enterprise Constraint adalah tambahan aturan ditentukan oleh aplikasi atau perusahaan. Contoh: - saldo minimal tabungan Rp. 100.000 - mhs hanya boleh meminjam max 2 buku - tarif bicara Rp. 0,1 / detik setelah 2 menit bicara 13. Apa beda view dan base relation? • Relasi Dasar (Base Relation) – Relasi bernama yang mengacu kepada entitas dalam skema konseptual, dimana tuple-tuple(barisbarisnya) disimpan dalam database secara fisik. • View – Hasil dinamik dari satu atau lebih operasi relasional yang dilakukan pada relasi dasar untuk menghasilkan relasi yang lain. 14. Keuntungan View ? Jelaskan! - Data independence / kemandirian data data berdiri sendiri, jadi tidak diperlukan operasi join. - Currency (dapat ter-update otomatis) data pada view merupakan data ter-update berdasarkan master table. - Meningkatkan keamanan dengan view, hanya data yang diperlukan saja yang diperlihatkan ke bagian masing-masing, sehingga rahasia perusahaan tidak bocor. - Mengurangi kompleksitas dengan view, tabel-tabel yang sudah digabung menurut keperluan masingmasing telah berkurang kompleksitasnya, sehingga lebih mudah dibaca datanya. - Convenience / kenyamanan karena kompleksitasnya berkurang, data lebih mudah dibaca sehingga lebih nyaman. - Customization / kustomisasi dengan view, kita dapat tampilkan hanya data yang diperlukan saja sesuai dengan keinginan dan kebutuhan user. - Data integrity / integritas data menjamin integritas data. 15. Kelemahan View ? Jelaskan! • Update restriction view tidak bisa diupdate. View hanya bisa diupdate ketika view merupakan base relational murni. • Structure restriction jika ingin membuat view baru maka harus membuat query baru. • Performance jika view yang ditampilkan merupakan gabungan dari beberapa base relational yang saling berhubungan maka proses eksekusi akan menjadi lambat / memakan waktu. 16. Apa beda View Resolution dengan View Materialization? Pada View resolution, tabel view yang dibuat merupakan tabel maya, sehingga setiap akan digunakan, harus di create view lagi. Pada View materialization tabel view yang terbentuk disimpan sebagai tabel temporal, sehingga hanya perlu dicreate sekali. View materialization memudahkan dan mempercepat pengaksesan tabel view. 17. Relational Algebra - Selection : σpredicate(R) operasi selection dikerjakan pada single relasi R dan menggambarkan relasi yang berisi tuple R mencukupi kondisi yang spesifik. - Projection : ∏a1...an (R) Operasi proyeksi bekerja pada relasi tunggal R dan menggambarkan suatu relasi yang berisi suatu subset vertical dari attribute yang ditetapkan dan mengeliminasi duplikat. - Cartesian product : R x S Cartesian product menggambarkan suatu relasi penggabungan dari tiap-tiap tuple relasi R dengan tiap-tiap relasi tuple S. - Union : R U S Union 2 relasi R dan S menggambarkan suatu relasi yang berisi semua tuples R atau S atau kedua-duanya R dan S, duplikat tuple dieliminasi. R dan S harus unin-compatible. - Set difference : R – S set difference operation menggambarkan suatu relasi dari tuple-tuple di dalam relasi R tapi bukan didalam S. R dan S harus union complatible. *join operation merupakan turunan dari operasi Cartesian product. Operasi yang dilakukan oleh join mirip dengan yang dilakukan oleh selection. Hanya join memiliki berbagai macam form, seperti: theta join, natural join, outer join dan semi join. *intersection operation disimbolkan dengan “R S”, intersection membuat sebuah relasi yang mengandung semua tuple dari relasi R dan S dimana R dan S harus berkaitan satu sama lain. *division operation disebut juga Divide, dengan notasi “R÷S”, membuat sebuah relasi yang mengandung himpunan dari tuple dari relasi R yang mendefinisikan atribut C yang cocok dengan kombinasi dari setiap tuple dari realasi S, dimana C adalah himpunan atribut yang ada di R namun tidak ada di S. 18. Berikan contoh penggunaan multiple query dari proses Binus! SELECT KdDosen, NamaDosen, MataKuliah FROM MsDosen md WHERE KdMataKuliah in ( SELECT * KdMatakuliah FROM MsMataKuliah WHERE KdMatakuliah = ‘T0714’ ) 19. Kegunaan Query Optimizer : a. Mengurangi waktu total eksekusi dari sebuah query b. Meminimalkan penggunaan sumber daya c. Mengurangi waktu respon terhadap query d. Menghitung masalah yang besar untuk mendapatkan solusi yang optimal. 20. Buatlah domain tabel untuk ujian di binus (tentukan rumus dan atribut yang diperlukan)!!! NIM NAMA MATA KULIAH RUANG TANGGAL CREATE DOMAIN Name AS VARCHAR(30) CREATE DOMAIN NIM AS INT Check(VALUE in (SELECT NIM FROM mhs)) CREATE DOMAIN MataKuliah AS VARCHAR(30) Check (VALUE in (SELECT MataKuliah FROM KdMataKuliah)) CREATE DOMAIN Ruang AS INT Check (VALUE in (SELECT Ruang FROM Anggrek)) CREATE DOMAIN Tanggal AS VARCHAR(20) CREATE DOMAIN Jam AS INT CREATE DOMAIN NoKursi AS INT CREATE TABLE mhs ( NIM, Nama NOT NULL , Primary key (NIM) , ForeignKey (Ruang) ) JAM NO.KURSI