Pengantar Seputar sistem basisdata Cara pandang Data Model Data Bahasa untuk mendefinisikan Data Bahasa untuk memanipulasi Data Pengelolaan Transaksi Pengelolaan simpanan data Administrator Database Pengguna Database Struktur sistem menyeluruh
Database Management System (DBMS) Kumpulan relasi data Kumpulan program untuk mengakses data DBMS berisi informasi bagian-bagian perusahaan DBMS menyediakan lingkungan yang tepat dan efisien untuk digunakan. Aplikasi Database : Perbankan : semua transaksi Penerbangan : resevasi, jadwal Universitas: pendaftaran, pelulusan Penjualan : pelanggan, produk, penyimpanan Manufactur : produksi, inventori, order, jaring pemasok SDM : rekord karyawan, gaji, pemotongan pajak Database menyentuh semua aspek kehidupan
Pentingnya Sistem Database Pada waktu yang lalu aplikasi database dibangun diatas sistem file Kekurangan penggunaan sistem file sebagai penyimpan data: Redundansi / kerangkapan data dan inconsistency Format file yang tidak seragam, kerangkapan data di file-file yang berbeda Sulit dalam mengakses data Perlu program baru untuk mengakses data baru Pengisolasian data — banyak file dengan format yang berbeda Masalah integritas (keterpaduan) Pengendalian terpadu (mis. saldo > 0) menjadi bagian dari program Sulit untuk menambah elemen pengendali atau mengubah yang sudah ada
Pentingnya Sistem Database Kekurangan sistem file Pengubahan atomik Kesalahan mungkin mengakibatkan database dalam kedaan yang tidak konsisten dengan data yang baru yang dihasilkan Mis. Pengiriman uang dari satu rekening ke rekening yang lain harus terjadi secara lengkap atau tidak sama sekali Akses secara bersamaan oleh banyak user Akses secara bersama untuk meningkatkan kinerja Akses bersama akan mengakibatkan ketidak konsistenan Mis. Dua orang membaca dan megubah data saldo pada saat yang sama Masalah keamanan Sistem Database mampu mengatasi masalah tersebut diatas
Tingkat abstraksi Tingkat Fisik : yang menjelaskan bagaimana sebuah rekord disimpan. Tingkat Lojik : menjelaskan simpanan data dalam database, dan relasi antar data. type pelanggan = record nama : string; jalan : string; kota : integer; end; Tingkat user (pandang): program aplikasi menyembunyikan rinci tipe data. Tingkat pandang dapat juga menyembunyikan nilai informasi untuk kebutuhan keamanan.
Arsitektur sebuah database Cara pandang Data Arsitektur sebuah database
Skema dan Isi Mendekati tipe dan variabel dalam bahasa pemrograman Skema – struktur lojik dari database Mis. Database yang berisi informasi tentang himpunan nasabah dan rekeningnya dan relasi diantaranya Analogi dengan tipe informasi dari variabel dalam sebuah program Skema fisik : rancangan database dalam tingkatan fisik Skema lojik : rancangan database dalam tingkatan lojik Instan – isi aktual dari database pada suatu waktu Analogi dengan nilai variabel Kemandirian data fisik – memungkinkan melakukanperubahan skema fisik tanpa mengubah skema lojik Aplikasi bergantung pada skema lojik Secara umum, antar muka antara berbagai tingkat dan komponen harus dapat didefinisiikan dengan baik sehingga perubahan di suatu bagian tidak memberikan dampak banyak pada bagian lainnya.
Model Data Sekumpulan alat untuk mendefinisikan Model Relasi Entitas Relasi data Semantik data data constraints (kekakuan data) Model Relasi Entitas Model Hubungan Model yang lain : object-oriented model semi-structured data models Older models: network model and hierarchical model
Model Hubungan Entitas Contoh skema dalam model hubungan entitas
Model E-R dari dunia nyata Entitas (objek) Mis. nasabah, rekening, bank cabang Relasi antar entitas Mis. Rekening nomor A-101 milik nasabah yang bernama Johnson Himpunan relasi depositor menggabungkan dara nasabah dengan data rekening Kegunaan lebih luas dari rancangan database Rancangan Database dalam model E-R biasanya diterjemahkan dalam rancangan model relasional yang mana akan digunakan dalam penyimpanan dan pengolahan
Model Relasional Contoh tabel data dalam model relasional Atribut customer name customer- street Customer- city account- number customer_id 192-83-7465 019-28-3746 321-12-3123 Johnson Smith Jones Alma North Main Palo Alto Rye Harrison A-101 A-215 A-201 A-217
Contoh Database Relasional
Bahasa untuk mendefinisikan data (DDL) Notasi khusus untuk mendefinisikan skema database Mis. create table account ( account-number char(10), balance integer) Compiler DDL menghasilkan sekumpulan tabel yang tersimpan sebuah dalam kamus data Kamus Data berisi metadata (data tentang data) Skema database Simpanan data dan bahasa untuk mendefinisikan Bahasa yang digunakan untuk menspesifikasikan susunan penyimpanan dan metoda akses yang digunakan dalam sistem database Dapat juga perluasan dari bahasa yang mendefinisikan database
Bahasa untuk memanipulasi data (DML) Bahasa untuk mengakses dan memanipulasi data dan mengelompokkan sesuai model data DML disebut juga bahasa query Dua kelas bahasa Prosedural – user menspesifikasikan apa data yang dibutuhkan dan bagaimana mendapatkannya Nonprosedural – user menspesifikasikan data yang dibutuhkan tanpa memikirkan bagaimana data tersebut diperoleh SQL adalah bahasa query yang banyak digunakan
SQL SQL: sebagai bahasa non prosedural Contoh : cari nama nasabah dengan nomor rekening192-83-7465 select customer.customer-name from customer where customer.customer-id = ‘192-83-7465’ Contoh : Cari saldo dari nasabah dengan nomor rekening 192-83-7465 select account.balance from depositor, account where depositor.customer-id = ‘192-83-7465’ and depositor.account-number = account.account-number Program aplikasi biasanya mengakses database melalui salah satu berikut Bahasa yang ada fasilitasnya SQL Antar muka program aplikasi (mis. ODBC/JDBC) yang mana memboleh queri SQL untuk mengirim database
Pengguna Database User dibedakan dari cara bagaimana mereka berinteraksi dengan sistem Pemrogram aplikasi – interaksi dengan DML Sophisticated user – format bahasa query Specialized users – menulis khusus aplikasi database dan tidak terlibat dalam pemrosesan data Naïve users – mengakses data dengan program aplikasi yang telah tersedia Mis. Orang yang mengakses data melalui internet, teller bank dll
Database Administrator Mengkoordinir seluruh aktifitas sistem basis data; database administrator mempunya penguasaan yang baik tentang sumber daya informasi yang dibutuhkan perusahaan. Database administrator melakukan: Mendefinisikan skema Mendefinisikan susuna penyimpanan dan metode aksesnya Memodifikasi organisasi skema dan fisik Menentukan hak akses pengguna Menspesifikasikan aturan keterpaduan Berpersan seperti agen lisensi bagi user Memonitor kinerja dan tanggap terhadap kebutuhan perubahan
Pengelolaan Transaksi Sebuah trannsaksi adalah sekumpulan operasi yang mempunyai sebuah fungsi lojik dalam sebuah aplikasi database Komponen pengelolaan transaksi meyakinkan bahwa databsae selalu konsisten dan benar bila ada kesalahan OS atau transaksi. Mengendalikan transaksi yang bersamaan sehingga database tetap konsisten.
Pengelolaan Penyimpanan Dalah modeul programn yang menyediakan antar muka antara simpanan data tingkat rendah dengan program aplikasi dan query yang dibutuhkan. Pengelola penyimpanan bertanggung jawab terhadap: Interaksi dengan file manager Efisiensi penyimpanan, pembacaan data dan updating data
Gambaran sistem
Arsitektur Aplikasi Two-tier architecture: mis. Pemrograman client dengan menggunakan ODBC/JDBC untuk komunikasi dengan database Three-tier architecture: mis. web-based applications, dan applications yang dibangun dengan menggunakn “middleware”