SISTEM BASIS DATA By Novareza Klifartha Konsep Sistem Basis Data SISTEM sebuah keterpaduan yang terdiri atas sejumlah komponen fungsional dengan satuan fungsi / tugas tertentu, yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses / pekerjaan tertentu Komponen Sistem Basis Data Hardware Operating System Database DBMS User Optional Software Biasanya berupa perangkat komputer standar, media penyimpan sekunder dan media komunikasi untuk sistem jaringan. Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer. Harus sesuai dengan DBMS yang digunakan. Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data. (Database Management System). Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase. Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir. Perangkat lunak pelengkap yang mendukung. Bersifat opsional. Database dan DBMS • Database : sekelompok data operasional yang digunakan oleh berbagai macam aplikasi dan berbagai user dengan otoritas tertentu • DBMS – Database Management System : sistem perangkat lunak yang mengelola eksekusi dari aplikasi user untuk mengakses dan memodifikasi data pada database sehingga keamanan, integritas, dan reliabilitas tetap terjamin untuk tiap aplikasi DBMS / Database Management System Data Basis Data File 1 File 4 File 2 File 5 File 3 File 6 Database Management System Data Data Peranan DBMS • Menyediakan fasilitas untuk mengakses data • Menyembunyikan proses detil tentang bagaimana data disimpan dan dikelola • Merupakan perantara bagi user dengan database DBMS Marketplace • Relational DBMS - Oracle, Sybase; merupakan perusahaan perangkat lunak terbesar • IBM menawarkan juga sistem database relasional DB2 • Microsoft memiliki SQL-Server dan Microsoft Access yang berbasis desktop • Perusahaan pengembang database relasional mendapatkan tantangan dengan adanya "objectoriented DB" • Kemudian di-counter dengan munculnya sistem "object-relational" Tahapan Pengembangan Database • Tahap Pemodelan dan Perancangan Database – Proses eksplorasi; analisis permasalahan dan perancangan skema • Tahap Pemrograman – Pembuatan query dan operasi pengaksesan data – Menggunakan SQL – Structured Query Language • Tahap Implementasi Abstraksi Data • Physical – bagaimana data disimpan, diakses, dimodifikasi, diurutkan, dialokasikan pada memori atau perangkat peripheral, direpresentasikan (ASCI, EBCDIC, ... ) • Conceptual – apa saja data yang ingin ditampilkan, hubungan/relasi antar data yang ada • View – bagian mana dari data yang terlihat oleh aplikasi tertentu Abstraksi Data (2) • Dapat dibagi menjadi tiga level : View1 . . . . Conceptual View Of Data Physical Data Storage . View k Abstraksi Data (3) • Contoh data pada level fisik (physical) 10 benjamin 3 63 6 10 J 0000035000james 3 3 6 000375 . . . . . . . . . Database Users • Naive Users - tidak mengetahui tentang database terlalu mendalam; menjalankan program aplikasi yang telah disiapkan • Application Programmers - mengetahui bagaimana berinteraksi dengan sistem; mungkin saja tidak mengetahui bagaimana DBMS dirancang • Sophisticated Users - mengetahui penggunaan lanjut dari sistem; menggunakan sistem dan paket aplikasi di atas sistem • DBMS System Users / Database Administrator – mengembangkan basis data; mengelola dan memelihara basis data Komponen DBMS • Data Definition Language (DDL) • • • • • Data Manipulation Language (DML) Host Language Interface Data Administrator Users Query Processor – Compiler – Optimizer • Management – Transaction Manager – File Manager – Buffer Manager – Authorization and Integrity Manager Logical Physical Komponen DBMS (2) Query Processor • Compiler - memverifikasi apakah program atau query yang ditulis mengikuti aturan DDL dan DML • Optimizer - menemukan cara paling efektif untuk mengakses data yang diperlukan kemudian memberikannya ke user – Mengawasi eksekusi query dan perubahan query jika diperlukan Storage Management • Modul program yang menyediakan interface antara: data level bawah yang tersimpan di database, dengan aplikasi program, dan dengan query yang dikirim ke sistem • Bertanggung jawab pada interaksi dengan file manager dan efisiensi penyimpanan (store), pengambilan (retrieve) dan perubahan (update) data Buffer Manager • Bertanggungjawab pada alokasi dan pemeliharaan buffer pada memori untuk memfasilitasi pemrosesan data pada database oleh beberapa aplikasi concurrent • Mempertimbangkan ketika terjadi load data dari buffer ke database atau pembatalan data pada kondisi adanya data baru yang harus diletakkan di buffer File Manager • Bertanggungjawab untuk melakukan pemetaan (mapping) dari unit database yang bersifat logis (obyek, relasi, dsb.) ke dalam rangkaian operasi file low-level • Bertanggungjawab memelihara file-file dan indeks • Menciptakan dan menghapuskan indeks serta menata ulang storage yang tidak digunakan Authorization & Integrity Manager • Berperan dalam pengaturan akses ke database; Hanya authorized user yang dibolehkan mengakses • Berperan dalam menjamin integritas selama operasi normal dan juga pada waktu terjadi kegagalan operasi (failures) Transaction Manager • Transaction adalah kumpulan operasi yang menjalankan fungsi tunggal secara logis pada aplikasi database • Komponen ini menjamin bahwa database tetap pada kondisi konsisten (benar) meskipun terjadi kegagalan sistem (misal: listrik padam, sistem operasi crash) dan juga kegagalan transaksi • Concurrency-control mengendalikan interaksi antar transaksi concurrent untuk menjaga konsistensi database Bahasa Basis Data C/C++, Pascal (desktop) PHP, ASP, JSP (web) Program aplikasi Calls to DB DBMS Variabel Lokal (Memori) (Storage) Ada 2 (dua) level : • Bahasa pemrograman aplikasi – digunakan untuk mengeksekusi DDL dan DML • Bahasa query – yaitu DDL dan DML DDL - Data Definition Language • Digunakan untuk membuat tabel baru, membuat indeks, mengubah struktur tabel • Notasi untuk mendefinisikan database CREATE TABLE mahasiswa ( nama varchar(20), nim varchar(12) ); • Kumpulan tabel beserta struktunya disimpan dalam data dictionary DDL - Data Definition Language (2) • Data dictionary merupakan bagian yang berisi metadata (yaitu data tentang data) • Menyimpan skema database • Berisi data storage dan definition language Mendefinisikan struktur penyimpanan dan bahasa untuk membuat struktur tersebut DML - Data Manipulation Language • Digunakan untuk mengakses dan memanipulasi data pada sebuah database INSERT – menambah data (create) SELECT – mengambil data (retrieve) UPDATE – mengubah data (update) DELETE – menghapus data (delete) • User dapat mengakses data tanpa perlu menspesifikasikan bagaimana cara pengaksesan (non-procedural) • SQL merupakan bahasa query yang paling banyak digunakan DML - Data Manipulation Language (2) • Contoh notasi penggunaan DML SELECT nama, nim FROM mahasiswa; INSERT INTO mahasiswa (nama, nim) VALUES (“john doe”, “010229301”); DELETE FROM mahasiswa WHERE nama = “john doe”; Administrator Database • Mengkoordinasikan seluruh aktivitas sistem basis data • Memiliki pemahaman mendalam mengenai kebutuhan sumber daya informasi • Tugas administrator database: – – – – – – Mendefinisikan skema database Mendefinisikan struktur dan metode akses Memodifikasi skema dan organisasi fisik Memberikan akses ke database Menetapkan integrity constraint Mengawasi performance dan respon pada perubahan kebutuhan SELESAI