DBMS (DataBase Management System) vs Database

Sumber : PC Media September 2009
Penulis : Bernaridho I. Hutabarat

Sepi dari publikasi
Di sela banyaknya seminar, workshop, tentang ini itu, hampir tidak ada seminar dan workshop tentang database. Mungkin, sebagai wujud lain dari remehnya pandangan akan hal database, ketidakdisiplinan pemakaian istilah pun tidak terdeteksi.Padahal ada sangat banyak ketidak disiplinan pemakaian istilah dalam hal database.
Tulisan ini fokus kepada ketidakdisiplinan dalam hal pemakaian istilah DBMS dan Database. Pada bagian akhir akan dipaparkan efek praktis dari ketidakdisiplinan dan kedisiplinan.

Install DBMS, create Database
Ada banyak wujud ketidakdisiplinan praktisi (bahkan akademisi) TI dalam berbicara tentang database. Salah satunya adalah ketidakdisiplinan dalam membedakan DBMS vs Database. Ini efek dari ketidakdisiplinan para pembuat software dari luar negeri (dan sifat orang Indonesia yang pembeo).
Contoh Kasus :
Pengambil keputusan tentang dialog boxes untuk Oracle telah salah (berkali-kali, mulai dari Oracle 8 sampai Oracle 11) membuat label. Seharusnya judul pada dialog boxes adalah Oracle 10g DBMS, bukan Oracle 10g Database.
Yang kita instal adalah DBMS, bukan Database. Demikian pula halnya dengan produk lain. Kita tidak pernah instal MyQSL database, SQL Server database, Postgre Database, Access Dabatase, dan sebagainya. Yang kita lakukan adalah instal MySQL DBMS, SQL Server DBMS, Postgre DBMS, Access DBMS, dan sebagainya.
Jadi, Database adalah "pihak yang pasif, yang dikelola", sedangkan DBMS adalah "pihak yang aktif, yang mengelola". Database dibuat (created) oleh pemakai, tidak pernah diinstal.

Folder (Direktori)
Dalam pengalaman kerja menjadi konsultan database selama bertahun-tahun, penulis melihat upaya-upaya troubleshooting (penyelesaian masalah) yang menjadi sangat rumit karena komunikasi yang kacau. Sebagai contoh: "Yang masalah ini SQL Servernya atau database-nya?". Lalu mereka cari file di sana dan di sini, di berbagai disk, di berbagai folder.
Berbekal pemahaman perbedaan DBMS dan Database, penulis sangat jarang masalah seperti di atas. Ada dua hal lain yang penulis lakukan untuk mengurangi masalah.
Hal pertama adalah mengkomunikasikannya dengan mitra (klien). Penulis ajak mereka untuk disiplin memakai istilah. Seringkali mereka kembali ke kebiasaan lama, tapi penulis tetap disiplin dalam berkomunikasi dalam arah sebaliknya.
Hal kedua adalah membuat folder-folder untuk memudahkan pemahaman perbedaan. Sejak SQL Server versi 8 (2000) saya disiplin untuk selalu meletakkan database files di luar disk C dan meletakkan DBMS di disk C.

Catatan tentang produk
Penyebab lain ketidakpahaman perbedaan DBMS versus Database adalah karena hampir semua DBMS memaksakan pembuatan database saat instalasi DBMS. Dalam catatan penulis: satu-satunya produk yang tidak memaksakan hal ini adalah Oracle DBMS. Tetapi, Oracle Express Edition memiliki cacat yang sama dengan produk lain: memaksakan pembuatan database.
Dalam praktik, penulis tidak pernah membuat database saat instalasi Oracle DBMS. Pada semua sesi training yang saya bawakan, semua peserta juga diajarkan demikian. Dengan cara ini, peserta dapat membedakan DBMS versus Database, karena tidak ada database yang hadir pasca instalasi. Peserta mudah memahami bahwa yang mereka instal benar DBMS, bukan database.
Pada pembuatan database sebaiknya Anda tidak mengikuti setting default, baik dari Oracle maupun SQL Sever. Setting default database files mengarah ke disk C. Create database dengan file-file berada di disk D.

Penutup
Pemahaman DBMS versus Database, pendisiplinan pemakaian istilah, dan pendisiplinan pemisahan disk/folder sangat membantu pengelolaan database. Kita paham bahwa create database, drop database tidak mengubah DBMS, karena database adalah pihak yang pasif. Kita paham bahwa uninstall DBMS akan membuat database tidak dapat dipakai, karena DBMS adalah pihak yang aktif.
Troubleshooting akan menjadi lebih mudah. Jarang sekali DBMS yang tiba-tiba menjadi bermasalah, lebih sering database. Dengan berbekal hal-hal yang dipaparkan di sini, kita tahu bahwa troubleshooting harus diutamakan pada database folders, bukan DBMS folders.