Konsep Dasar Basis Data Dr.Budi Setiyono, MT
Apa itu …
Basis
gudang/markas/tempat berkumpul/tempat bersarang
Data • Fakta mengenai “dunia” (sesuatu ataupun kejadian/event) • Pengetahuan tentang fakta yang direkam dan mempunyai arti implisit
Basis Data • Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar dapat dimanfaatkan secara cepat dan mudah. • Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan yang tidak perlu. • Computerized recording system
Apa itu …
DBMS/Data Base Management System
Sekumpulan program untuk Pengelolaan Basis Data (Database Management System / DBMS), antara lain untuk • Mendefinisikan Basis Data : type data, strukture, constraints • Membangun DB: Menyimpan data • Manipulasi DB : query, update, report • Sharing sebuah DB : mengijinkan multiple user dapat mengakses data secara bersamaan
Apa itu …
Contoh s/w DBMS :
Oracle SQL Server MS Access MySQL PostGress DB2, dll
Apa itu … Sistem : sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu Sistem basis data : perpaduan antara basis data dan DBMS, terdiri dari komponen – komponen sbb : •Hardware •Software •Basis data •DBMS •User •Aplikasi lain 5
TUJUAN BASIS DATA Mengatur data/mengorganisasikan data agar diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali
6
Aplikasi Basis Data Perbankan : meliputi semua transaksi Airlines: reservasi, penjadwalan (schedules) Universitas: registrasi Penjualan : konsumen, produk, persediaan Manufacturing: produksi, inventori, order, supply Human resources: data pegawai, gaji, pajak hampir semua aspek kehidupan terkait dengan basis data
Lingkungan Sistem Basis Data Users/Programmers DATABASE SYSTEM
Application Programs/Queries
DBMS SOFTWARE
Software to Process Queries/Programs Software to Access Stored Data
Stored Database Definition (Meta-Data)
Stored Database
Pola dalam penyimpanan data
Sistem pemrosesan berkas tradisional. tiap aplikasi memiliki berkas sendiri sendiri Dependensi data-program Perubahan data membuat sejumlah program perlu dimodifikasi Duplikasi data Data yang sama muncul pada beberapa berkas Keterbatasan berbagi data (Isolasi data - banyak format file) Waktu pengembangan lama Perlu membuat program untuk mengakses data Problem integritas (kekonsistensian) Batasan integritas (misalnya saldo > 0) menjadi bagian dari program Keamanan data tidak terjamin
Sistem Pemrosesan Berkas Tradisional
Bentuk pemrosesan dasar yang lahir sebelum database muncul Berkecunderungan tidak berbagi berkas (Setiap aplikasi memiliki berkas tersendiri)
Aplikasi Personalia
Personalia
Aplikasi Pelatihan
Pelatihan
Sistem Pemrosesan Berkas Tradisional
Dependensi data-program Perubahan data membuat sejumlah program perlu dimodifikasi Duplikasi data Data yang sama muncul pada beberapa berkas Keterbatasan berbagi data (Isolasi data - banyak format file) Waktu pengembangan lama Perlu membuat program untuk mengakses data Problem integritas (kekonsistensian) Kekakangan integritas (misalnya saldo >) menjadi bagian dari program Keamanan data tidak terjamin
Pendekatan Sistem Database
Independensi program-data Meminimalkan redundansi data Meningkatkan konsitensi data Meningkatkan kemampuan berbagai data Meningkatkan produktivitas pengembangan aplikasi Meningkatkan pencapaian standarisasi Meningkatkan kualitas data Meningkatkan tanggapan dan kemudahan akses terhadap data Mengurangi pemeliharaan program
1-5
1-13
Define UNIVERSITY database
Structure of the record STUDENT ( Name , Number, Class, Major) COURSE ( Name , Number, Credit, Dept.)
Data type of data element Name: a string of characters Number: integer Grade:
{A,B,C,D,F,I}
…..
Constraints The sections that students take must be taught by some instructors. 1-5a
1-14
Construct UNIVERSITY database Store data on storage medium ˙store data for each student, course, section, grade repot, prerequisite ˙records in various files may be related to one another
Manipulate UNIVERSITY database Query: Retrieve the transcript ( a list of all courses and grades) of Smith.
Update: Create a new section for the database course for this semester.
1-5b
1-15
Independensi Program-Data
Struktur data pada database terpisah dengan program Perubahan struktur data tidak membuat program harus dimodifikasi Program Program
Struktur Data Database
Kode
Paradigma lama
Kode
Pendekatan database
Redundansi Data
Redundansi data dapat dikurangi dengan cara data yang sama untuk aplikasi yang berbeda dijadikan satu
Data Pegawai
Bagian penggajian
Data Pegawai Data Pegawai
Contoh redundansi data
Bagian pelatihan
Mengatasi redundansi data
Redundansi Data Syarat basis data yang baik : -Tidak adanya redundansi dan inkonsistensi data
18
Konsistensi Data
Pengurangan redundansi data berimplikasi pada peningkatan konsistensi data (mengurangi kemungkinan untuk tidak konsisten) Contoh: Dua biro perjalan tidak terhubung ke database milik maskapai penerbangan. Apa yang terjadi kalau salah satu biro sudah menjual tempat duduk nomor 4 padahal biro yang lain tidak tahu?
Berbagi Data
Data dapat diakases oleh banyak pemakai dengan tetap memperhatikan otorisasi Istilah multiuser menyatakan bahwa sebuah data bisa diakses oleh banyak orang dalam waktu yang bersamaan
Tanggapan dan Akses
Sistem database memberikan tanggapan dan akses yang cepat sekalipun pemakai adalah orang yang tidak tahu tentang pemrograman Dengan menggunakan perintah dalam level SQL (Structured Query Language) yang mudah untuk dipahami oleh orang awam, akses terhadap database mudah sekali dilakukan
Produktivitas Pengembangan Aplikasi
Kemudahan dalam mengakses database membuat waktu untuk pengembangan aplikasi dapat dipersingkat Sistem database menyediakan banyak tool yang berguna untuk pembuatan aplikasi Report generator Form generator
Standarisasi
Standarisasi seperti nama data, panjang data, kemungkinan nilainya, dan bahkan prosedur untuk mengaksesnya dapat diatur oleh yang berwewenang (DBA) Contoh:
Nama pegawai selalui bertipe Aplhanumeric dengan panjang maksimal 35 karakter. Semua pemrogram menggunakan standar tersebut
Kualitas Data
Kualitas data sangat berpengaruh terhadap pemerolehan informasi yang berkualitas Adanya kekangan (constraint) dalam database membuat pelanggaran terhadap isi data oleh pemakai tidak akan ditoleransi oleh sistem dengan sendirinya Kekangan adalah suatu aturan yang diterapkan pada data dan tidak bisa dilanggar oleh pemakai. Contoh: Agama hanya bisa diisi dengan I, K, H, B, P. Sistem database akan menolak kalau huruf X dicoba untuk dimasukkan
Pemeliharaan Program
Perubahan terhadap struktur data dengan berbagai alasan seringkali dilakukan selama tahapan pemeliharaan; misalnya data baru ditambahkan atau panjang suatu data ditambah Perubahan seperti ini tidak selalu membuat programprogram yang telah jadi harus ikut diubah
Abstraksi Data
Physical level mendiskripsikan bagaimana record-record disimpan. Logical level: mendiskripsikan data yang disimpan dalam data base dan keterkaitan diantaran data-data tersebut. Misal : type customer = record name : string; street : string; city : integer; end; View level: program aplikasi yang menyembunyikan detail dari tipe data ( mungkin juga informasi) untuk tujuan kemanan.
View Data
Instance dan schema Menyerupai
tipe dan variable dalam bahasa pemrograman Schema – struktur logic dari database Misal database terdiri dari informasi mengenai himpunan customers dan accounts serta keterkaitannya Physical schema: desain database pada level physical Logical schema: desain database pada level logical Instance – isi aktual dari data base pada suatu waktu dapat dianalogikan nilai dari suatu variable
Physical Data Independent
Kemampuna untuk memodifikasi skema physical tanpa merubah logical schema Aplikasi tergantung pada skema logic Interface antara berbagai level dan komponen harus didefinisikan dengan baik sehingga perubahan pada sebagaian tidak akan mempengaruhi bagian yang lain.
User Data Base User dibedakan berdasarkan cara berinteraksi dengan sistem Application programmers – pemakai berinteraksi dengan system melalui Data Manipulation Language (DML) Sophisticated users – Pemakai berinteraksi dengan request database menggunakan SQL Specialized users – Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus, missal untuk aplikasi AI, Pengolahan Citra, yang mengkin mengakses basis data dengan atau tanpa DBMS. Naive users – Pemakai yang berinteraksi dengan basis data melalui pemanggilamn suatu program aplikasi
Database administrator
Orang/user yang mengkoordinasi segala aktivitas dari DBMS mempunyai tugas-tugas antara lain :
Mendefinisikan Skema Mendefinisikan satruktur storage dan metode pengaksesannya Memodifikasi skema dan organisasi physical (jika diperlukan) Memberikan grant (wewenang) pada user dalam mengakses databse Memberikan spesifikasi integritas constraints Memonitoring performance dan merespon untuk melakukan perubahan jika diperlukan
Struktur System secara menyeluruh
When not to use a DBMS Main costs of using a DBMS: - High initial investment in hardware, software,training and possible need for additional hardware. - Overhead for providing generality, security, recovery, integrity, and concurrency control.
- Generality that a DBMS provides for defining and processing data. When a DBMS may be unnecessary: - If the database and applications are simple, well defined, and not expected to change. - If there are stringent real-time requirements that may not be met because of DBMS overhead. 1-13
- If access to data by multiple users is not required. 1-33