BAB 1 Pengenalan Database dan DBMS Desain Basis data BAB 1 Pengenalan Database dan DBMS
Apa itu dbms? sangat besar dan terintegrasi. Model umum : Entitas (contoh: Mahasiswa, Ruang) Relasional (contoh: eko menempati ruang b-105) Database Management System (DBMS) merupakan perangkat lunak yang didesain untuk penyimpanan dan pemeliharaan kumpulan data.
Perbedaan file dan dbms Memori yang besar. Program khusus untuk setiap query. Harus melindungi data dari perubahan yang tidak konsisten yang diakses secara konkuren. Pengembalian data saat terjadi kerusakan atau crash. Pengamanan dan akses kontrol.
Mengapa menggunakan DBMS? Kemandirian data dan efisien. Waktu pengembangan aplikasi terkurangi. Integritas dan keamanan data. Administrasi data. Akses konkuren dan crash recovery.
Mengapa belajar Database?? Perpindahan dari komputasi ke informasi Himpunan elemen data semakin banyak dan beragam DBMS mencakup bidang ilmu lain Sistem operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia. DBMS meliputi sebagian besar dari “ilmu komputer”
Data model data model adalah kumpulan konstruksi diskripsi data. skema adalah diskripsi data dalam model data. Kebanyakan Sistem Manajemen Database saat ini didasarkan pada model relasional. Konsep utama: relasi, yang pada dasarnya berupa “tabel” yang terdiri dari sejumlah “baris” dan “kolom” Setiap relasi mempunyai skema, yang mendiskripsikan kolom atau field.
Level abstraksi dalam dbms Data dalam DBMS dibagi dalam 3 level Abstraksi : Skema eksternal, bagaimana user melihat data Skema konseptual, mendefinisikan struktur. Skema fisik, mendiskripsikan data/record dan index. * Skema didefinisikan dengan DDL; data dimodifikasi dengan DML.
Contoh: Database universitas Skema konseptual : Mahasiswa (nim:int,nama:string, umur : int) Fakultas (f_id: int, f_nama : string) Matakuliah (mt_id: int, mt_nama : string) Skema Fisik : Buat index kolom pertama dari mahasiswa Skema Eksternal Buat view dengan pemasaran matakuliah : matakuliah_pemasaran (f_id : int, mt_id)
Kemandirian Data Aplikasi disekat dari bagaimana data disimpan dan distrukturkan Kemandirian data logika : perlindungan dari perubahan dalam struktur data logika. Kemandirian data fisik : perlindungan dari perubahan dalam detail skema fisiknya. * One of the most important benefits of using a DBMS!
Query 3 kelompok bahasa basis data: CREATE, ALTER, DROP Data Definition Language (DDL) Mendefinisikan struktur database & table. CREATE, ALTER, DROP Data Manipulation Language (DML) Memanipulasi data dalam table. SELECT, INSERT, UPDATE, DELETE Data Control Language (DCL) Saat ini sudah melekat pada DBMS berupa fasilitas- fasilitas pemberian hak akses user pada struktur database. GRANT, REVOKE, COMMIT, ROLLBACK Ingat: Penggunaan SQL dalam kasus database…!!!
Kontrol Proses Serentak Eksekusi bersamaan dari beberapa user program, merupakan ukuran performansi yang utama dari suatu DBMS. Penyisipan aksi dari user yang berbeda dapat membuat data tidak konsisten. misal : Seorang user diperbolehkan membaca nilai saldo sebelum seorang user lain selesai melakukan perubahan nilai saldo tersebut DBMS memastikan permasalahan diatas tidak terjadi dengan cara membuat sistem seolah- olah para pengguna DBMS sedang menggunakan sebuah “single-user system”.
Transaksi : Eksekusi dari Program Basis Data Konsep kuncinya adalah transaksi, merupakan urut- urutan atomic dari aksi basis data (baca/tulis). Tiap transaksi dijalankankan sampai selesai, dan basis data harus tetap dijaga agar tetap dalam keadaan yang konsisten. User dapat menentukan beberapa batasan integritas (integrity constraint) yang sederhana pada data, dan kemudian DBMS akan mengusahakan batasan ini. Selain dari itu, DBMS tidak benar-benar mengerti semantic dari data(contoh : tidak tahu cara menghitung bunga bank, atau tidak tahu cara menetapkan nilai jual barang yang ada di gudang … misalnya). Sehingga untuk memastikan transaksi berlangsung secara konsisten,seluruhnya berada pada tanggung jawab user.!
Penjadwalan dari Transaksi yang berlangsung Serentak DBMS memastikan bahwa eksekusi dari {T1, …, Tn} adalah sama denga eksekusi serial T1’ … Tn’ Sebelum membaca/menulis obyek, transaksi meminta lock pada obyek dan menunggu sampai DBMS memberikan lock. Semua lock akan dilepas (direlease) pada akhir dari transaksi Ide dasar: Jika aksi dari T1 (missal menulis X) mempengaruhi Tj (missal membaca X), salah satu dari mereka , missal T1, akan mendapatkan lock pada X pertama kali dan Tj akan menunggu sampai aksi T1diselesaikan. Apa yang terjadi jika TJ telah memiliki lock kemudian setelah itu T1 meminta (request) lock Y ? (Deadlock akan terjadi , maka T1 atau Tj harusdi-abort atau di- restart).
Memastikan sifat Atomik DBMS memastikan sifat atomic (semuanya atau tidak ada property). Ide dasar : Simpan log (history) semua aksi yang dijalankan oleh DBMS pada saat menjalankan himpunan aksi X. Sebelum perubahan dibuat terhadap basis data, maka log entry harus berkorespondensi dengan lokasi yang aman (system operasi seringkali tidak mendukung secara penuh hal seperti ini). Setelah terjadi crash (tabrakan), akibatnya sebagian transaksi yang telah dieksekusi tidak lagi dikerjakan dengan menggunakan log.
Basis Data membuat segalanya menjadi lebih mudah Pemakai akhir dan vendor DBMS Programmer aplikasi basis data Misal : webmaster yang canggih Administrator Basis Data (Database Administrator) Desain skema Logikal/Fisikal Menangani pengamanan dan kewenangan Ketersediaan data, perbaikan crash Penyesuaian oleh Basis Data *Yang penting mengerti bagaimana cara DBMS mengerjakan semua itu
Struktur DBMS Biasanya DBMS memiliki arsitektur layer . Gambar disamping tidak menunjukkan kontrol proses serentak (concurrency control) dan komponen perbaikan (recovery). Gambar tersebut adalah salah satu dari beberapa kemungkinan arsitektur : tiap system memiliki variasinya sendiri.
Kesimpulan DBMS digunakan untuk pemeliharaan himpunan query yang sangat banyak. Keuntungan dari penggunaan DBMS meliputi perbaikan dari system yang crash, akses serentak, pengembangan aplikasi secara cepat, keamanan dan integritas data. Level abstraksi memberikan kebebasan data. Umumnya DBMS memiliki arsitektur per layer DBMS adalah salah satu bidang yang paling banyak diminati dalam ilmu komputer