SISTEM BASIS DATA *** Anggia Meisesari, S.T., M.T., MOS. *** PENDAHULUAN Pengertian Sistem Basis Data Abstraksi Data Bahasa Basis Data Struktur Dasar DBMS Masalah dalam Sistem Basis Data Konvensional
SISTEM BASIS DATA Suatu sistem untuk mempertahankan record-record data secara komputerisasi, guna menyimpan informasi dan memungkinkannya untuk mengakses dalam melakukan perubahan, ataupun pemanfaatan informasi secara lebih meluas (aspect persistent) Akses data dapat dilakukan pemakai sesuai kebutuhan. Informasi-informasi yang dipertanyakan sangat bervariasi, baik informasi individu maupun organisasi. Komponen-komponen dalam sistem basis data: - HARDWARE (perangkat keras), - SOFTWARE (perangkat lunak), - BRAINWARE (pemakai) - BASIS DATA (database)
Hardware (Perangkat Keras) Sistem Basis Data Hardware (Perangkat Keras) Perangkat komputer dan periferalnya. Dalam perangkat komputer semua proses pengolahan dan pengelolaan data dapat dilakukan berkat adanya CPU, register dan memory (RAM). Dengan perangkat peripheral, user dapat berinteraksi dengan aplikasi basis data dengan menggunakan keyboard, mouse, monitor, printer, hardisk, dll. Kebutuhan dan keberadaan basis data: - Sistem Basis Data Tunggal (stand slone database) - Sistem Basis Data Terpusat (centralized database) - Sistem Basis Data Terdistribusi (distributed database)
Software (Perangkat Lunak) Sistem Basis Data Software (Perangkat Lunak) Perangkat lunak yang digunakan dalam sistem basis data: - Sistem Operasi (Operating System) - Sistem Pengelola Basis Data (Database Management System) - Aplikasi Pengguna Basis Data Hirarki perangkat lunak terhadap basis data: Aplikasi Pengguna Basis Data DBMS Sistem Operasi Basis Data
Sistem Basis Data Brainware (pemakai) Tipe brainware berdasarkan jenis pekerjaan dan cara berinteraksi terhadap sistem basis data: - Administrator basis data (database administrator) Mengkonfigurasi basis data secara keseluruhan, seperti instalasi DBMS, startup/shutdown DBMS, mendefinisikan user dan mengatur hak aksesnya, membentuk basis data, mengalokasikan besarnya ruang penyimpanan, membentuk skema / struktur table dalam basis data, dll. - Pengembang aplikasi (Programmer / Developer) Membangun dan mengembangkan aplikasi pengguna basis data yang nantinya akan digunakan oleh end-user. Berinteraksi dengan basis data melalui DML dalam bahasa pemrograman tertentu. - Pemakai mahir (Casual User) Berinteraksi langsung dengan antarmuka yang disediakan DBMS dengan menuliskan query, menganalisa basis data, dan perbaikan terhadap basis data yang mengalami kerusakan data. - Pemakai akhir (End-User) Memasukkan (entry) data untuk membentuk data lengkap dalam sebuah basis data, melakukan verifikasi data, perubahan, penghapusan, pencetakan informasi, dll menggunakan program/aplikasi pengguna basis data yang dibuat oleh pengembang aplikasi.
Basis data terdiri dari 3 hal: - Kumpulan data yang terorganisis Sistem Basis Data Basis Data (Database) Basis data terdiri dari 3 hal: - Kumpulan data yang terorganisis - Relasi antar data - Tujuan pembentukan dan penggunaan (objektif) Objektif utama suatu basis data: kecepatan dan kemudahan berinteraksi dengan data yang dikelola / diolah Ingat: tahap-tahap perancangan suatu basis data …!! 2 tipe basis data: - Database tradisional - Database kontemporer
ABSTRAKSI DATA View level (tingkat penampakan) Program aplikasi yang digunakan untuk mengolah data. Mampu menangani ‘information hiding’ dan keamanan data. Digunakan oleh user. Logical level (tingkat lojik / konseptual) Mendeskripsikan data yang disimpan dalam database (representasi abstrak) dan relasi antar data tersebut. Physical level (tingkat fisik) Mendeskripsikan bagaimana suatu data/record disimpan media penyimpanan. Deskripsi detil dari struktur data.
BAHASA BASIS DATA 3 kelompok bahasa basis data: - 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…!!!
STRUKTUR DASAR DBMS Sebuah DBMS terbagi atas modul-modul yang masing-masing memiliki tanggung jawab dalam membentuk struktur sistem basis data secara keseluruhan. Beberapa fungsi dalam DBMS mungkin telah disediakan oleh sistem operasi. Tetapi dalam banyak hal, hanya merupakan servis-servis dasar. Contoh: File manager, database connectivity (ODBC/JDBC), dll Kelengkapan fungsi/modul sangat tergantung pada produk DBMS. DBMS sederhana (Access, dBase, Paradox) tidak mengakomodasi pemakaian basis data multiuser. Tapi DBMS semacam Oracle, Sybase, Ingres, MySQL, PosgreSQL, SQL Server telah terakomodasi dengan baik.
STRUKTUR DASAR DBMS (lanjutan) Modul-modul dasar dalam sebuah DBMS: - DML Precompiler mengkonversi perintah DML dalam sebuah program aplikasi ke dalam kode yang siap dicompile oleh DML compiler. - DML Compiler menterjemahkan ekspresi DML ke dalam perintah low-level (dimengerti query evaluation engine) - Query Evaluation Engine mengeksekusi perintah-perintah low level yang dihasilkan DML compiler - DDL Interpreter mengkonversi perintah DDL ke dalam suatu metadata yang disimpan dalam suatu kamus data. - File Manager mengelola alokasi ruang penyimpanan database - Buffer Manager mengambil data dari disk ke main memory, dan memutuskan apakah data akan dikelola atau tidak
Query Optimizer Struktur DBMS
Application Architectures Mainframe – client program & DBMS berada dalam satu platform. Two Tier – client program & DBMS berada pada platform yang berbeda; client berhubungan dengan DBMS melalui API seperti ODBC/JDBC. Three Tier – client program, application server (middleware), & DBMS; client berhubungan dengan DBMS secara tidak langsung melalui application server (juga melalui API). Umumnya digunakan dalam aplikasi berbasis web (web-based). N Tier – Pengembangan dari arsitektur 2 & 3 tier.
MASALAH-MASALAH DALAM SISTEM BASIS DATA KONVENSIONAL Redudansi & inkonsistensi data Kesulitan dalam mengakses data Isolasi data Banyak pemakai (multi user) Keamanan Data (security) Integritas Data (Integrity) Oleh sebab itu, suatu sistem basis data harus mampu menangani: Integritas data Sekuritas Dukungan transaksi yang menjamin keabsahan informasi terhadap setiap update yang terjadi Konkurensi Backup & Recovery