Database management system (DBMS) adalah koleksi data-data yang saling berkaitan dan sebuah program untuk mengakses data tersebut. Kumpulan Data tersebut biasanya disebut dengan database, berisi tentang informasi yang relevan dengan organisasi. Tujuan utama dari DBMS adalah menyediakan cara untuk menyimpan data tersebut dan mengakses informasi database yang secara nyaman dan efisien. Database system didesain untuk mengatur informasi yang besar. Management data terdiri dari mendefinisikan struktur dari penyimpanan informasi dan menyediakan mekanisme untuk memanipulasi data informasi. Sebagai tambahan, database system harus memastikan keamanan informasi yang di simpan, dari sistem crash atau akses dari pihak luar yang tidak berhak. Jika data harus dibagi di antara beberapa pengguna, sistem harus menghindari hasil yang tidak semestinya. Menurut Ramez Elmasri mendefinisikan basis data lebih dibatasi pada arti implisit yang khusus, yaitu: › Basis data merupakan penyajian suatu aspek dari dunia nyata (real world). › Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implisit. Sehingga data yang terkumpul secara acak dan tanpa mempunyai arti, tidak dapat disebut basis data. › Basis data perlu dirancang, dibangun dan data dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa user dan beberapa aplikasi yang sesuai dengan kepentingan user Banking: all transactions Airlines: reservations, schedules Universities: registration, grades Sales: customers, products, purchases Online retailers: order tracking, customized recommendations Manufacturing: production, inventory, orders, supply chain Human resources: employee records, salaries, tax deductions DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memodifikasi dan memperoleh data/informasi dengan praktis dan efisien sistem manajemen database (DBMS), atau program database, adalah perangkat lunak yang memungkinkan Anda untuk membuat, mengakses, dan mengelola database. Kepraktisan. DBMS menyediakan media penyimpan permanen yang berukuran kecil namun banyak menyimpan data jika dibandingkan dengan menggunakan kertas. Kecepatan. Komputer dapat mencari dan menampilkan informasi yang dibutuhkan dengan cepat. Mengurangi kejemuan. Pekerjaan yang berulang-ulang dapat menimbulkan kebosanan bagi manusia, sedangkan mesin tidak merasakannya. Update to date. Informasi yang tersedia selalu berubah dan akurat setiap Pemusatan kontrol data. Dengan satu DBMS di bawah kontrol satu orang atau kelompok dapat menjamin terpeliharanya standar kualitas data dan keamanan batas penggunaannya serta dapat menetralkan konflik yang terjadi dalam persyaratan data dan integritas data dapat terjaga. Pemakaian data bersama (Shared Data). Informasi yang ada dalam basis data dapat digunakan lebih efektif dengan pemakaian beberapa user dengan kontrol data yang terjaga. Data yang bebas (independent). Program aplikasi terpisah dengan data yang disimpan dalam komputer. Kemudahan dalam pembuatan program aplikasi baru. Pemakaian secara langsung. DBMS menyediakan interface yang memudahkan pengguna dalam mengolah data Data yang berlebihan dapat dikontrol. Data yang dimasukkan dapat terjadi kerangkapan (redudant), untuk itu DBMS berfungsi untuk menurunkan tingkat redudancy dan pengelolaan proses pembaruan data. Pandangan user (user view). Ada kemungkinan basis data yang diakses adalah sama, maka DBMS mampu mengatur interface yang berbeda dan disesuaikan dengan pemahaman tiap user terhadap basis data menurut kebutuhan Biaya. Kebutuhan untuk medapatkan perangkat lunak dan perangkat keras yang tepat cukup mahal, termasuk biaya pemeliharaan dan sumber daya manusia yang mengelola basis data tersebut. Sangat kompleks. Sistem basis data lebih kompleks dibandingkan dengan proses berkas, sehingga dapat mudah terjadinya kesalahan dan semakin sulit dalam pemeliharaan data. Resiko data yang terpusat. Data yang terpusat dalam satu lokasi dapat beresiko kehilangan data selama proses aplikasi Berikut ini merupakan daftar DBMS yang terkenal. Pertimbangkan dari perusahaan bank yang menyimpan informasi tentang semua pelanggan dan rekening tabungan. Salah satu cara untuk menyimpan informasi pada komputer adalah dengan menyimpannya dalam file sistem operasi. Untuk memungkinkan pengguna untuk memanipulasi informasi, sistem memiliki sejumlah program aplikasi yang memanipulasi file, termasuk: › Sebuah program untuk mendebet atau kredit account › Sebuah program untuk menambahkan account baru › Sebuah program untuk menemukan keseimbangan account › Sebuah program untuk menghasilkan laporan bulanan Data redundansi dan tidak konsisten. Kesulitan dalam mengakses data. Data isolasi. Karena data yang tersebar di berbagai file, dan file mungkin dalam format yang berbeda, menulis program aplikasi baru untuk mengambil data yang sesuai akan menjadi sulit. Satu dgn dBASE, lainnya dgn Excel, lainnya dengan program yang sudah tersedia Masalah Integritas. integritas data sulit diterapkan. Pembatasan biasanya melalui program yang mengakses data. Misal untuk membatasi kolom SALDO dari suatu data perbankan agar saldo tidak boleh negatif. Penambahan constraint baru juga lebih kompleks Masalah Atomicity. Dalam banyak aplikasi, sangat penting bahwa, jika terjadi kegagalan, data dikembalikan ke keadaan konsisten yang ada sebelum kegagalan. Pertimbangkan sebuah program untuk mentransfer $ 50 dari rekening A ke B. akun Jika kegagalan sistem terjadi selama pelaksanaan program ini, adalah mungkin bahwa $ 50 telah dihapus dari akun A tetapi tidak dikreditkan ke B akun. Konkuren-akses anomali. akses bersama dengan menjaga data tetap aman lebih kompleks untuk diakomodasi. Akses bersama diperlukan untuk meningkatkan unjuk kerja, apalagi dengan data yang banyak dan dipakai oleh banyak bagian dalam organisasi. Akses bersama yang tidak dikelola dengan baik dapat mengarah ke ketidakkonsistenan data. Masalah keamanan Agar sistem bermanfaat, pengguna seharusnya dapat memanggil data secara efisien. Karena kebanyakan pengguna sistem basis data adalah orang yang kurang terlatih dibidang teknologi computer, pengembang menyembunyikan kompleksitas sistem dari pengguna. Ini bisa dilakukan dengan menyediakan beberapa tingkat abstraksi yang bertujuan menyederhanakan interaksi dengan sistem. PERINGKAT FISIK (Physical level) Peringkat fisik Merupakan Peringkat terendah dari abstraksi yang mendeskripsikan bagaimana data sesungguhnya disimpan dalam media penyimpanan fisik seperti hardisk, pita magnetik, dan sebagainya. Peringkat fisik mendeskripsikan struktur data peringkat rendah yang kompleks secara terperinci. Contohnya adalah struktur data yang digunakan, pola representasi bit yang digunakan, dan sebagainya. PERINGKAT LOGIKA (Conceptual level) Peringkat Logika adalah Abstraksi yang mendeskripsikan data yang disimpan di basis data dan hubungan antara data-data tersebut. Peringkat logika mendeskripsikan basis data dengan struktur relatif sederhana. Pengguna pada peringkat logika tidak perlu mengetahui kerumitan dari peringkat fisik. Administrator basis data, seseorang yang memutuskan jenis informasi yang disimpan di basis data, menggunakan abstraksi peringkat logika. PERINGKAT PENGGUNA Peringkat pengguna merupakan Peringkat tertinggi dari abstraksi.Meskipun peringkat logika sudah cukup sederhana, pada basis data yang sangat besar, kompleksitas masih banyak di jumpai. Peringkat pengguna menyederhanakan interaksi pengguna dengan sistem. Peringkat pengguna yang sering dijumpai adalah antarmuka pengguna grafis (GUI) pada perangkat lunak aplikasi basis data. View Level 1 View Level 2 View Level n ... Conceptual Level Physical Level Cara Pandang Data Data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut: Elemen data (field) adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin. Rekaman(record) merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari rekaman adalah baris atau tupel. Berkas (file) adalah himpunan seluruh rekaman yang bertipe sama Data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file) Database administrator adalah orang yang memiliki kontrol utama terhadap keseluruhan sistem basis data (mencakup data & program). Fungsi dari database administrator adalah: Pendefinisian skema. Pendefinisian struktur penyimpanan & metode akses. Modifikasi skema & organisasi fisik. Pemberian otorisasi bagi pengaksesan data. Tugas dari database administrator adalah Mendefinisikan bagian basis data yang mana yang dapat diakses oleh seorang pemakai, termasuk operasioperasi yang dapat dilakukan. Spesifikasi batasan integritas. Data Administrator adalah orang yang bertanggung jawab dalam kontrol terhadap data. Fungsi dari data administrator adalah Menentukan data apa yang harus disimpan. Menentukan aturan dalam penanganan data.