Sistem Manajemen Basis Data
Materi Database dan DBMS Komponen lingkungan database Arsitektur database Bahasa database Model basis data Data warehouse OLAP Data mining SQL Sistem basis data terdistribusi
Database dan DBMS Database adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktifitas untuk memperoleh informasi. Untuk mengelola basis data diperlukan perangkat lunak yang disebut DBMS. DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basis data dengan cara yang praktis dan efisien. DBMS dapat digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda.
Fitur-fitur DBMS Independensi data – program Keamanan Integritas Konkurensi Pemulihan (recovery) Katalog sistem Perangkat produktifitas
Keunggulan DBMS Mengendalikan / mengurangi duplikasi data. Menjaga konsistensi dan integritas data. Memudahkan pemerolehan informasi yang lebih banyak dari data yang sama. Meningkatkan keamanan data. Memaksakan penerapan standar. Menghemat biaya. Menanggulangi konflik kebutuhan antar pemakai. Meningkatkan tingkat respon dan kemudahan akses bagi pemakai akhir.
Meningkatkan produktifitas pemrogram. Meningkatkan pemeliharaan. Meningkatkan konkurensi tanpa menimbulkan masalah kehilangan informasi atau integritas. Meningkatkan layanan backup dan recovery.
Kelemahan DBMS Kompleksitas yang tinggi membuat administrator dan pemakai akhir harus benar-benar memahami fungsi-fungsi dalam DBMS agar dapat memperoleh manfaat yang optimal. Ukuran penyimpanan yang dibutuhkan oleh DBMS sangat besar dan memerlukan memori yang besar agar bisa bekerja secara efisien. Harga DBMS yang handal sangat mahal. Terkadang DBMS meminta kebutuhan perangkat keras dengan spesifikasi tertentu.
Biaya konversi sistem lama ke sistem baru yang memakai DBMS terkadang sangat mahal. Kinerjanya terkadang kalah dengan sistem yang berbasis berkas. Dampak kegagalan menjadi lebih tinggi karena semua pemakai bergantung pada ketersediaan DBMS.
Komponen lingkungan database Perangkat keras. Perangkat lunak. Data. Prosedur. Orang.
Orang-orang yang terlibat dalam DBMS Orang yang berperan langsung. Database administrator : orang yang bertanggung jawab terhadap administrasi penggunaan sumber daya database. Tugasnya : mengatur otorisasi akses terhadap basis data memonitor penggunaan basis data melayani permintaan s/w dan h/w. Database desainer : orang yang bertanggung jawab dalam perancangan basis data. mengidentifikasi data yang akan disimpan dalam basis data memilih struktur yang sesuai dalam menyajikan dan menyimpan data
End user dibagi menjadi 4 kelompok, yaitu : End user : orang yang pekerjaannya memerlukan akses terhadap basis data untuk keperluan query, update, generate report. End user dibagi menjadi 4 kelompok, yaitu : Casual end users : Mengakses basis data secara kadang-kadang tetapi mungkin memerlukan informasi yang berbeda untuk setiap kalinya. Menggunakan bahasa query yang rumit dalam menspesifikasi query. Naive/Parametric end users : Biasanya secara berkala melakukan query dan update basis data dengan menggunakan jenis query dan update yang standar (transaksi yang telah diprogram dan dites). Sophisticated end users : Meliputi engineers, scientists dan business analysists – yang telah mengenal dengan baik dan menyeluruh mengenai fasilitas-fasilitas DBMS untuk memenuhi kebutuhan-kebutuhan yang kompleks. Stand-alone users : Mereka yang memelihara basis data personal dengan menggunakan paket-paket program yang telah dibuat dan menyediakan menu-menu yang mudah untuk digunakan.
System analyst dan application programmers System analyst bertugas mendefinisikan kebutuhan-kebutuhan end user (khususnya naive end user), dan mengembangkan spesifikasi untuk transaksi-transaksi yang memenuhi keinginannya. Applications programmers bertugas mengimplementasikan spesifikasi menjadi program (yang telah ditest secara intensif)
Orang-orang di belakang layar DBMS Designers and Implementers Orang-orang yang merancang dan mengimplementasikan modul-modul DBMS dan interfacenya sebagai satu paket software. Tool Developers Orang-orang yang mengembangkan paket-paket software yang memberikan fasilitas dalam perancangan dan penggunaan sistem basis data (misal : Paket-paket untuk performance monitoring, GUI, prototyping, simulation, dan lain sebagainya) Operators and Maintenance Personnel
Arsitektur database Arsitektur database dimaksudkan untuk membuat abstraksi terhadap database. Tujuannya agar DBMS dapat diakses secara efisien tanpa mengharuskan pemakai tahu secara detil tentang cara data disimpan dan dipelihara. ANSI-SPARC (American National Standard Institute – Standards Planning and Requirementa Comitte) mendefinisikan 3 level dalam arsitektur database, yaitu : level eksternal, level konseptual, dan level internal.
Arsitektur ANSI – SPARC Pandangan 1 Pandangan 2 Pandangan 3 Skema konseptual Skema internal Database
Internal level (internal schema) menjelaskan struktur penyimpanan fisik dari basis data menggunakan model data fisik Conceptual Level (conceptual schema) menjelaskan struktur dari keseluruhan basis data untuk dipakai oleh satu komunitas user. Model data tingkat tinggi atau model data implementasi dapat digunakan pada level ini. External atau View Level (external schema atau user view) menjelaskan sebagian basis data yang menjadi “interest” dari sekelompok user tertentu model data tingkat tinggi (atau implementasi) dapat digunakan pada level ini.
Bahasa database Bahasa DBMS digunakan untuk membuat spesifikasi skema konseptual dan internal, dan mapping antara keduanya. DDL (Data Definition Language) dapat digunakan untuk menspesifikasikan kedua skema di atas, jika dalam DBMS tidak ada pemisahan yang ketat antara kedua level tersebut. DDL hanya digunakan untuk menspesifikasi skema konseptual, jika DBMS mempunyai pemisahan yang jelas.
Untuk mapping antara keduanya dapat digunakan VDL (View Definition Language) untuk menspesifikasikan user view dan mappingnya menjadi skema konseptual. DML (Data Manipulation Language) digunakan untuk melakukan manipulasi data (setelah dilakukan proses kompilasi skema konseptual). SQL (Structured Query Language) merupakan contoh bahasa yang digunakan untuk manipulasi basis data relasional, yang mengintegrasikan DDL, VDL dan DML.
Model basis data Model data yang umum saat ini ada 4 macam, yaitu : Model data hirarkis Model data jaringan Model data relasional Model data berorientasi objek
Model data hirarkis Model ini sering kali dijabarkan dalam bentuk pohon terbalik. Dikenal istilah parent dan child, masing-masing berupa simpul dan terdapat hubungan bahwa setiap child hanya bisa memiliki satu parent, sedangkan satu parent bisa memiliki sejumlah child. Simpul tertinggi disebut root. Model data hirarkis tidak dapat merepresentasikan hubungan M:M.
Contoh model data hirarkis Root Dosen A Dosen B MK A MK B MK C MHS A MHS B MHS C MHS D MHS E MHS F MHS G MHS H
Model data jaringan Model data jaringan menyerupai model hirarkis. Model data jaringan tidak mengenal root. Setiap child bisa memiliki lebih dari satu parent. Mendukung hubungan M:M.
Contoh model data jaringan Dosen A Dosen B MK A MK B MK C MHS A MHS B MHS C MHS D MHS E MHS F MHS G MHS H
Model data relasional Model data relasional menggunakan sekumpulan tabel berdimensi dua dengan setiap tabel tersusun atas sejumlah baris dan kolom. Kolom (field) dapat didefinisikan sebagai satuan data terkecil dalam sebuah tabel yang mempunyai makna. Baris (record) adalah kumpulan kolom yang menyatakan suatu data yang saling terkait.
Pada model data relasional, kaitan atau asosiasi antara dua buah tabel disebut relasi. Relasi dapat berupa : 1:1, satu data pada suatu tabel berpasangan dengan hanya satu data pada tabel lain. 1:M, satu data pada suatu tabel berpasangan dengan banyak data pada tabel lain. Model data relasional tidak mendukung relasi M:M. Relasi seperti ini perlu dibentuk dengan relasi M:1 dan 1:M.
Secara konsep, setiap tabel harus memiliki primary key. Primary key dapat tersusun dari sebuah atau beberapa field yang berperan sebagai identitas yang unik untuk setiap baris data. Foreign key adalah sebuah kolom dalam sebuah tabel yang menjadi penghubung dengan primary key pada tabel lain. Indeks merupakan suatu mekanisme dalam database yang memungkinkan pencarian data dapat dilakukan dengan cepat.
Model data berorientasi objek Model data berorientasi objek adalah model data yang menerapkan teknik pemrograman berorientasi objek.
Data warehouse Data warehouse adalah basis data yang menyimpan data sekarang dan data masa lalu yang berasal dari berbagai sumber yang menjadi perhatian penting bagi manajemen dalam organisasi dan ditujukan untuk keperluan analisis dan pelaporan manajemen dalam rangka pengambilan keputusan.
Data warehouse bersifat multidimensional yang berarti bahwa terdapat banyak lapisan kolom dan baris. Data warehouse dapat dibangun sendiri dengan menggunakan perangkat pengembangan aplikasi ataupun dengan menggunakan perangkat lunak khusus yang ditujukan untuk menangani hal tersebut.
Prinsip data warehouse Perangkat EIS Perangkat pelaporan Perangkat pengembangan aplikasi OLAP Data mining Sumber data internal Manajer data warehouse DB 1 DB 2 Sumber data eksternal Data warehouse
OLAP On Line Analytical Processing adalah suatu jenis pemrosesan yang memanipulasi dan menganalisa data bervolume besar dari berbagai perspektif (multidimensi). OLAP dapat digunakan untuk melakukan konsolidasi, drill-down, slicing and dicing.
Konsolidasi melibatkan pengelompokan data. Drill-down adalah suatu bentuk yang memungkinkan data yang ringkas dijabarkan menjadi data yang lebih detil. Slicing and dicing menjabarkan pada kemampuan untuk melihat data dari berbagai sudut pandang.
Data mining Data mining adalah perangkat lunak yang digunakan untuk menemukan pola-pola tersembunyi maupun relasi-relasi yang terdapat dalam database yang besar dan menghasilkan aturan-aturan yang digunakan untuk memperkirakan perilaku di masa mendatang.
Aplikasi data mining Pemasaran. Bank. Asuransi. Mengidentifikasi pembelian yang dilakukan konsumen. Menemukan relasi di antara karakteristik demografi pelanggan. Memperkirakan tanggapan penawaran melalui surat. Bank. Mendeteksi pola penyalahgunaan kartu kredit. Mengidentifikasi tingkat loyalitas pelanggan. Asuransi. Analisis klaim Memperkirakan pelanggan yang akan membeli produk baru.
SQL SQL (Structured Query Language) adalah bahasa yang digunakan untuk mengakses basis data yang tergolong relasional. SQL dapat digunakan untuk mengambil (query) data, menciptakan dan menghapus tabel, menambah, merubah dan menghapus data pada tabel, dan berbagai operasi yang lain.
Sistem basis data terdistribusi Basis data terdistribusi adalah kumpulan data yang dipakai secara bersama-sama yang terintegrasi secara logis, tetapi secara fisik tersebar pada beberapa komputer yang terhubung melalui jaringan.