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
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
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
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 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.
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.
data 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 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 Atribut Contoh tabel data dalam model relasional
customer customer- Customer- account-
customer_ name street city number id 192-83-7465 Johnson Alma Palo Alto A-101 019-28-3746 Smith North Rye A-215 192-83-7465 Johnson Alma Palo Alto A-201 321-12-3123 Jones Main Harrison A-217 019-28-3746 Smith North Rye A-201
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
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
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
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
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
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.
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