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