SISTEM BASIS DATA Pengertian Sstem adalah sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen fungsional (dengan satuan fungsi/tugas khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu. Basis data hanyalah sebuah objek yang pasif, oleh karena itu ada pembuatnya. Basis data tidak akan pernah berguna jika tidak ada pengelola / penggeraknya. Yang menjadi pengelola / penggerak-nya secara langsung adalah program/aplikasi (software). Gabungan keduanya (basis data dan pengelolanya) menghasilkan sebuah sistem. Karena itu, secara umum sebuah sistem basis data merupakan sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan / atau program lain untuk mengakses dan memanipulasi file-file (tabel-tabel) tersebut. Lebih jauh lagi, dalam sebuah sistem basis data, secara lengkap akan terdapat komponenkomponen utama sebagai berikut: 1. Perangkat Keras (Hardware). 2. Sistem Operasi (Operating System). 3. Basis Data (Database). 4. Sistem (Aplikasi/Perangkat Lunak) Pengelola Basis Data (DBMS). 5. Pemakai (User). 6. Aplikasi (perangkat lunak) lain (bersifat opsional). Komponen Sistem Basis Data 1. Perangkat Keras (Hardware) Perangkat Keras yang biasanya terdapat dalam sebuah sistern basis data adalah : 1. Komputer (satu untuk sistem yang stand-alone atau lebih dari satu untuk sistem jaringan).. 2. Memori Sekunder yang on-line (Harddisk). 3. Memiori sekunder yang off-line (Tape atau Removable Disk) untuk keperluan backup data. 4. Media/perangkat komunikasi (untuk sistem jaringan). 5. Sistem Operasi (Operating System) Secara sederhana, sistem Operasi merupakan program yang mengaktifkan/ memfungsikan sistem komputer, mengendalikan seluruh sumber daya (resource) dalam komputer dan melakukan operasi-operasi dasar dalam komputer (operasi I/O, pengelolaan file, dan lain-lain). Sejumlah Sistem Operasi yang banyak digunakan seperti : MS-DOS, MS-Windows 3.1, MS-Windows 95 (untuk komputer stand-alone atau untuk komputer client dalam sistem jaringan) atau Novel-Netware, MS-Windows NT, Unix dan Sun-Solaris (untuk komputer server dalam sistem Jaringan). Program pengelola basis data hanya dapat aktif (running) jika Sistem Operasi yang dikehendakinya (sesuai) telah aktif. 2. Basis Data (Database) Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data dapat berisi/memiliki sejumlah objek basis data (seperti file/ tabel, indeks, dan lain-lain). Di samping berisi/menyimpan data, setiap basis data juga mengandung/menyimpan definisi struktur (baik untuk basis data maupun objek-objeknya secara detail). 3. Sistem Pengelola Basis Data (Database Management System/DBMS) Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi ditangani oleh sebuah Perangkat Lunak (Sistem) yang khusus/spesifik. Perangkat lunak inilah (disebut DBMS) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data, dan sebagainya. Perangkat lunak yang termasuk DBMS seperti dBase III+, dBase IV, FoxBase, Rbase, MS-Access dan Borland-Paradox (untuk kelas sederhana) atau Borland-Interbase, MSSQLServer, CA-Open Ingres, Oracle, Informix dan Sybase (untuk kelas kompleks/berat). Keuntungan DBMS DBMS memungkinkan perusahaan maupun pengguna individu untuk: Mengurangi pengulangan data Apabila dibandingkan dengan file-file komputer yang disimpan terpisah di setiap aplikasi komputer, DBMS mengurangn jumlah total file dengan menghapus data yang terduplikasi di berbagai file. Data terduplikasi selebihnya dapat ditempatkan dalam sate file. Mencapai independensi data Spesifikasi data disimpan dalam skema pada tiap program aplikasi. Perubahan dapat dibuat pada struktur data tanpa memengaruhi program yang mengakses data. Mengintegrasikan data beberapa file Saat file dibentuk sehingga menyediakan kaftan logis, maka organisasi fisik bukan merupakan kendala. Organisasi logis, pandangan pengguna, dan program aplikasi tidak hares tercermin pada media penyimpanan fisik. Mengambil data dan informasi dengan cepat Hubungan-hubungan logis, bahasa manipulasi data, serta bahasa query memungkinkan pengguna mengambil data dalam hitungan detik atau menit. Meningkatkan keamanan DBMS mainframe maupun komputer mikro dapat menyertakan beberapa lapis keamanan seperti kata sand] (password), direktori pemakai, dan bahasa sand] (encryption) sehingga data yang dikelola akan lebih aman. Kerugian DBMS Keputusan menggunakan DBMS mengikat perusahaan atau pengguna untuk: Memperoleh perangkat lunak yang mahal DBMS mainframe masih sangat mahal. Walaupun harga DBMS berbasis komputer mikro lebih murah, tetapi tetap merupakan pengeluaran besar bagi suatu organisasi kecil. Memperoleh konfigurasi perangkat keras yang besar DBMS sering memerlukan kapasitas penyimpanan clan memori lebih besar daripada program aplikasi lain. Mempekerjakan dan mempertahankan staf DBA DBMS memerlukan pengetahuan khusus agar dapat memanfaatkan kemampuannya secara penuh. Pengetahuan khusus ini disediakan paling baik oleh para pengelola basisdata (DBA). Baik basisdata terkomputerisasi maupun DBMS bukanlah prasyarat untuk memecahkan masalah. Namun, keduanya memberikan dasar-dasar menggunakan komputer sebagai suatu sistem informasi bagi para spesialis informasi dan pengguna. 4. Pemakai (User) Ada beberapa jenis/tipe pemakai terhadap suatu sistem basis data yang dibedakan berdasarkan cara mereka berinteraksi terhadap sistem: Programmer Aplikasi Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis dalam bahasa pemrograman induk (seperti C, Pascal, Cobol, dan lain-lain). User Mahir (Casual User) Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS. User Umum (End User/Naive User) Pemakai yang berinteraksi dengan sistern basis data melalui pemanggilan satu program aplikasi permanen,(executable program) yang telah ditulis/disediakan sebelumnya. User Khusus (Specialized User) Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluankeperluan khusus, seperti untuk aplikasi Al, Sistem Pakar, Pengolahan Citra, dan lainlain, yang bisa saja mengakses basis data dengan/tanpa DBMS yang bersangkutan. 5. Aplikasi (Perangkat Lunak) Lain Aplikasi (Perangkat Lunak) lain ini bersifat opsional. Artinya, ada / tidaknya tergantung pada kebutuhan kita. DBMS yang kita gunakan lebih berperan dalam pengorganisasian data dalam basis data, sementara, bagi pemakai basis data (khususnya yang menjadi enduser/naive-user) dapat dibuatkan/disediakan program khusus/lain untuk melakukan pengisian, pengubahan dan pengambilan data. Program ini ada yang sudah disediakan bersama dengan DBMS-nya, ada juga yang harus dibuat sendiri dengan menggunakan aplikasi lain yang khusus untuk itu (development tools). Pengatur Penyimpanan Pengatur penyimpanan adalah modul program yang menyediakan antarmuka antara data tingkat rendah yang disimpan pada basisdata dengan program aplikasi dan query yang dikirimkan ke sistem. Pengatur penyimpanan bertanggung jawab terhadap interaksi dengan pengatur file. Data mentah disimpan pada disk menggunakan sistem file yang disediakan oleh sistem operasi konvensional. Pengatur penyimpanan menerjemahkan berbagai pernyataan DML menjadi perintah sistem file tingkat rendah. Oleh karena itu, pengatur penyimpanan bertanggung jawab terhadap penyimpanan, pengambilan, dan perubahan data dalam basisdata. Komponen pengatur penyimpanan sebagai berikut: Pengatur otorisasi dan integritas, menguji batasan integritas dan mengecek otoritas pengguna untuk mengakses data. Pengatur transaksi, memastikan bahwa basisdata tetap konsisten meskipun ada kegagalan pada sistem dan eksekusi transaksi yang terjadi bersamaan berlangsung tanpa terjadi konflik. Pengatur file, mengatur alokasi ruang pada disk dan struktur data yang digunakan untuk mewakili informasi yang disimpan pada disk. Pengatur penyimpanan sementara, bertanggungjawab mengambil data dari disk, memasukkannya ke memori utama, dan memutuskan data yang akan disimpan sementara dalam memon utama. Pengatur penyimpanan sementara adalah bagian penting sistem basisdata karena ini memungkinkan basisdata menangani data berukuran jauh lebih besar dari ukuran memori utama. Pengatur penyimpanan menerapkan beberapa struktur data sebagai bagian penerapan sistem fisik, yaitu: File data, menyimpan basisdata sendiri. Kamus data, menyimpan metadata tentang struktur basisdata, terutama skema basisdata. Indeks, menyediakan akses cepat ke data yang memiliki nilai tertentu. Pemroses Query Komponen pemroses query meliputi: Interpreter DDL, menerjemahkan perintah DDL dan mencatat definisi-definisi dalam kamus data. Compiler DML, menerjemahkan perintah DML dalam bahasa query menjadi rencana evaluasi yang terdiri atas instruksi tingkat rendah yang dimengerti oleh mesin evaluasi query Mesin evaluasi query, mengeksekusi instruksi tingkat rendah yang dihasilkan oleh kompiler DML. Programer Pengguna Staf / DBA Program Aplikasi Query Skema Basisdata Pemroses DML Pemroses Query Kompiler DDL Kode Obyek Program Pengatur Basisdata Pengatur Kamus Kode Obyek Program Pengatur Basisdata Kode Obyek Program Basisdata dan Kamus Data DBMS Gambar Struktur Sistem Abstraksi Data Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antar muka (interface) dalam melihat/menikmati data (yang lebih ramah /user oriented) kepada pemakai/user. Untuk itu, sistem tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara. Karena itu, sering kali data yang terlihat oleh pemakai sebenarnya berbeda dengan yang tersimpan secara fisik. Abstraksi data merupakan tingkatan/ level dalam bagaimana melihat data dalam sebuah sistem basis data. Ada 31eve1 abstraksi data : 1. Level Fisik (Physical Level) Merupakan level terendah dalam abstraksi data, yang menunjukkan bagaimana sesungguhnya suatu data disimpan. Pada level ini, pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri. Pemakai juga berkompeten dalam mengetahui bagaimana representasi fisik dari penyimpanan/pengorganisasian data. Pada level ini kita berurusan dengan data sebagai teks, sebagai angka, atau bahkan melihatnya sebagai himpunan bit data. 2. Level Lojik/Konseptual (Conceptual Level) Merupakan level berikutnya dalam abstraksi data yang menggambarkan data apa yang sebenarnya (secara fungsional) disimpan dalam basis data dan hubungannya dengan data yang lain. Pemakai pada level ini yang, misalnya, mengetahui bahwa data pegawai disimpan/direpresentasikan dalam beberapa file/tabel, seperti file pribadi, file pendidikan, file pekerjaan, file keluarga, dan sebagainya. 3. Level Penampakan (View Level) Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis data. Banyak user dalam sistem basis data tidak akan terlibat (concern) dengan semua data/informasi yang ada/disimpan. Para user umumnya hanya membutuhkan sebagian data/informasi dalam basis data yang kemunculannya di mata pemakai diatur oleh aplikasi end-user. Aplikasi ini juga yang mengkonversi data asli/fisik menjadi data bermakna/lojik pada pemakai. Misalnya, data hari yang disimpan dalam bentuk kode (I untuk Senin, 2 untuk Selasa, dan seterusnya) yang kemudian ditampilkan bukan dalam bentuk kodenya (1,2,3, dan seterusnya) tapi sudah dalam bentuk nama harinya (Senin, Selasa, Rabu, dan seterusnya). Data yang 'dinikmati' pemakai juga bahkan sama sekali berbeda dengan representasi fisiknya, misalnya untuk data yang dapat divisualkan sebagai gambar, data yang dapat diperdengarkan sebagai suara, dan sebagainya. Data yang diperlihatkan juga bisa saja tidak berasal dari hanya sebuah tabel tapi mewakili relasi antar tabel, tapi bagi pemakai yang menggunakannya terasa sebagai satu kesatuan data yang kompak. Bahasa Basis Data (Database Language) DBMS merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berinteraksi/ berkomunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai Bahasa Basis Data yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi/ pekerjaan tertentu. Contoh-contoh bahasa basis data adalah SQL, dBase, QUEL dan sebagainya. Sebuah Bahasa Basis Data biasanya dapat dipilah ke dalam 2 bentuk, yaitu : 1. Data Definition Language (DDL) Struktur/skema basis data yang menggambarkan / mewakili desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yang disebut Data Definition Language (DDL). Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). Kamus Data merupakan suatu metadata (superdata) yaitu data yang mendeskripsikan data sesungguhnya. Kamus Data ini akan selalu diakses dalarn suatu operasi basis data sebelum suatu file data yang sesungguhnya diakses. 2. Data Manipulation Language (DML) Merupakan bentuk Bahasa Basis Data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa : Penyisipan/Penambahan data baru ke suatu basis data. Penghapusan data dari suatu basis data. Pengubahan data di suatu basis data. Pada level fisik, kita harus mendefinisikan algoritma yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi, yang dipentingkan bukan hanya efisiensi akses, tetapi juga efisiensi interaksi manusia (pemakai) dengan sistem (kemudahan permintaan akses). Data Manipulation Language (DML) merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 jenis DML, yaitu : 1. Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. 2. Nonprosedural, yang membuat pemakai dapat mencantumkan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Tipe-tipe Basisdata Setiap perusahaan membutuhkan basisdata. Perusahaan dan perorangan membutuhkan basisdata setiap hari dan beberapa di antaranya tidak sadar menggunakannya. Ada beberapa tipe basisdata, beberapa basisdata bertipe sederhana, sedangkan yang lainnya sangat kompleks. Ketika mencari sebuah perusahaan dalam Yellow Pages, Anda menggunakan basisdata. Ketika memesan buku dari toko buku online di internet, Anda mengakses basisdata. Satu bentuk paling sederhana basisdata yang paling dikenal orang adalah kabinet. Infonnasi disimpan dalam laci, dalam folder map. Banyak perusahaan masih membongkar kertas kerja dalam kegiatan sehari-hari daripada menyimpan informasinya dalam komputer. Meskipun semua perusahaan tidak mungkin menghilangkan sama sekali kertas kerja, keuntungan menyimpan data dalam sistem komputer lebih banyak daripada biaya untuk mempelajari cara menggunakan program manajemen data. Langkah-langkah dasar merancang basisdata adalah keputusan perusahaan mengalokasikan sumber daya untuk mempelajari basisdata, merancang struktur basisdata, dan menerapkan serta mengatur basisdata. Setelah basisdata dirancang dan aplikasi telah dibuat atau dibeli, manajemen basisdata secara keseluruhan menjadi sederhana untuk basisdata administrator basisdata yang berpengalaman. Setelah perusahaan memutuskan untuk merancang sistem basisdata, model basisdata yang akan digunakan harus dibuat. Berikut adalah tipe-tipe basisdata: 1. Model basisdata file (Flat file database model) 2. Model basisdata hierarki (Hierarchical database model) 3. Model basisdata jaringan (Network database model) 4. Model basisdata relasional (Relational database model) 5. Model basisdata berorientasi objek (Object oriented database model) 6. Model basisdata relasi objek (Object relational database model) DBMS adalah perangkat lunak yang digunakan untuk menyimpan data. Sebuah DBMS harus memiliki karakterisik sebagai berikut: Data disimpan pada perangkat keras dan harus tetap ada setelah diakses. Metode akses termasuk pembuatan data baru, modifikasi data yang sudah ada, dan penghapusan data. Ini disebut data persistence. Banyak pengguna harus diizinkan untuk mengakses data secara bersamaan. Hal ini disebut eoncurrency. Transaksi diatur agar sistem dapat memanipulasi data dan DBMS harus memiliki kemampuan menyimpan sekumpulan pekerjaan. Bahasa query harus tersedia untuk mengambil data berdasarkan kriteria yang diberikan oleh pengguna. Data harus dapat dipulihkan setelah terjadi kerusakan. Jika data hilang, DBMS harus memiliki kemampuan untuk mengembalikan data. Lingkungan Basisdata Lingkungan basisdata adalah sebuah habitat di mana terdapat basisdata untuk bisnis. Dalam lingkungan basisdata, pengguna memiliki alat untuk mengakses data. Pengguna bisa datang dari dalam lingkungan basisdata atau dari luar lingkungan. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (mining for data), memodifikasi data, atau berusaha membuat data baru. Masih dalam lingkungan, pengguna tertentu bisa tidak diperbolehkan mengakses data, baik secara fisik maupun logis. Gambar 1.12 mengilustrasikan lingkungan basisdata (Koh, 2005). Ada tiga macam lingkungan basisdata, yaitu: 1. Lingkungan Mainframe Lingkungan tradisional untuk sistem basisdata masa lalu adalah lingkungan mainframe. Lingkungan mainframe terutama terdiri atas komputer mainframe yang memungkinkan koncksi banyak pengguna. Dumb terminal dihubungkan ke komputer mainframe agar pengguna dapat berkomunikasi dengan mainframe. Pada dasarnya, terminal adalah perpanjangan mainframe, terminal bukan komputer independen. Istilah dumb terminal mengisyaratkan bahwa terminal tidak bisa berpikir. Terminal tergantung pada komputer mainframe untuk melakukan semua pemrosesan. Salah satu masalah utama dalam lingkungan mainframe adalah keterbatasan penggunanya. Sekarang ini, banyak perusahaan telah beralih ke lingkungan client-server. Terminal Terminal Terminal Komputer Mainframe Gambar Struktur Basisdata lingkungan mainframe 2. Lingkungan Client-Server Sejumlah masalah yang muncul dalam lingkungan mainframe diselesaikan dengan teknologi client-server. Lingkungan client-server terdiri atas sebuah komputer utama, yang disebut server, dan satu atau lebih PC yang dihubungkan ke server. Basisdata terletak pada server, yang merupakan bagian terpisah dari PC. Masing-masing pengguna yang ingin mengakses basisdata pada server harus memiliki PC sendiri. Karena PC adalah sistem komputer terpisah, aplikasi dibuat dan diinstal pada PC di mana melalui aplikasi itulah pengguna dapat mengakses basisdata pada server. Aplikasi pada client mengirimkan permintaan data atau transaksi melalui jaringan secara langsung ke basisdata host server. Informasi dikirimkan melalui jaringan ke basisdata menggunakan open database connectivity (ODBC) atau software jaringan lainnya. Salah satu masalah dalam lingkungan client-server adalah ketika versi baru aplikasi dibuat, aplikasi harus diinstal dan dikonfigurasi ulang pada tiap-tiap komputer client. Meskipun dana tambahan harus dikeluarkan dengan adanya perawatan aplikasi pada PC, tetapi keuntungannya pun ada. Keuntungan utama lingkungan client-server adalah PC dapat diikutsertakan pada beberapa pemrosesan aplikasi karena PC memiliki CPU, memori, dan penyimpan sendiri. Oleh karena itu, server dapat membagi pekerjaan ke semua client. Karena PC dapat "berpikir" dan menjalankan aplikasi lain, pengguna dapat lebih produktif. Sebagai contoh, seorang pengguna dapat berhubungan dengan basisdata pada server dan pada saat yang bersamaan, ia dapat mengecek email. Komputer Klien Corporate Intranet Basisdata Host Server Internet Gambar Lingkungan Client-server 3. Lingkungan Internet Lingkungan internet mirip dengan lingkungan client-server. Seperti pada lingkungan client-server, lingkungan internet memiliki server, jaringan, dan satu atau lebih PC. Lingkungan internet unik karena ketergantungannya pada internet. Pada lingkungan client-server, seorang pengguna bisa dibatasi hanya mengakses sistem yang ada pada intranet perusahaan. Dalam banyak kasus, komputer client masih dapat mengakses basisdata di luar'irttranet perusahaan, tetapi membutuhkan software tambahan. Pada lingkungan internet, aplikasi hanya perlu diinstal pada satu server yang disebut web server. Pengguna harus memiliki koneksi internet dan web browser pendukung yang diinstal pada PC. Web browser digunakan untuk berhubungan dengan URL tujuan web server. Selanjutnya, web server mengakses basisdata dibantu oleh aplikasi dan mengembalikan informasi yang diminta pada web browser pengguna. Web browser menampilkan hasilnya pada PC pengguna. Setup dan perawatan aplikasi disederhanakan pada lingkungan internet karena tidak ada yang harus diinstal, dikonfigurasi, atau dirawat pada PC pengguna. Aplikasi hanya perlu diinstal, dikonfigurasi, dan dimodifikasi pada web server dengan tujuan mengurangi resiko ketidakkonsistenan konfigurasi dan ketidakcocokan versi perangkat lunak antara komputer client dan server. Ketika perubahan dibuat pada aplikasi, perubahan hanya dibuat pada satu lokasi, yaitu pada web server. Pada lingkungan internet, banyak perusahaan menggabungkan konsep arsitektur N-tier. Arsitektur N-tier adalah sebuah konsep yang mirip dengan arsitektur komputer middle tier atau three tier. Arsitektur three tier memiliki lapisan client, lapisan aplikasi, dan lapisan server atau basisdata. Huruf N pada N-tier berarti sembarang jumlah tier untuk melengkapi transaksi atau permintaan. Web Server PC Client Basisdata Browser Internet PC Client PC Client Browser Browser Gambar Lingkungan Internet Struktur Sistem Keseluruhan Sebuah sistem pengelola basis data (DBMS) terbagi atas modul-modul yang masingmasing memiliki tanggung jawab dalam membentuk struktur sistem keseluruhan. Beberapa fungsi dalam sistem pengelola basis data mungkin telah disediakan oleh sistem operasi. Tetapi dalam banyak hal, sistem operasi hanya menyediakan servis-servis dasar. Kelengkapan fungsi/modul antara DBMS yang satu dengan yang lain bisa berbeda, baik dari sisi kualitas maupun kuantitasnya. DBMS sederhana seperti dBase III+ atau MS-Access misalnya, tidak/kurang mengakomodasi pemakaian basis data oleh banyak pemakai. Tetapi dengan DBMS semacam Oracle atau MS-SQL Server hal itu telah terakomodasi dengan baik. Sebuah sistem pengelola basis data (DBMS) umumnya memiliki sejumlah komponen fungsional (modul) seperti : File Manager, yang mengelola alokasi ruang dalam disk dan struktur data yang dipakai untuk merepresentasikan informasi yang tersimpan dalam disk. Sebenarnya Sistem Operasi (tempat di mana DBMS diaktifkan) juga memiliki modul File Manager. Tetapi File Manager di DBMS lebih difokuskan pada efisiensi dan efektivitas penyimpanan. Database Manager, yang menyediakan interface antara data lowlevel yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem. Query Processor, yang menerjemahkan perintah-perintah dalam query language ke perintah low-level yang dapat dimengerti oleh database manager. Di samping itu, Query Processor akan mentransformasikan permintaan user ke bentuk yang lebih efisien, sehingga query menjadi lebih efektif. DML Precompiler, yang mengkonversi perintah DML yang ditambahkan dalam sebuah program aplikasi ke pemanggilan prosedur normal dalam bahasa induk. Precompiler ini akan berinteraksi dengan query processor. DDL Compiler, yang mengkonversi perintah-perintah DDL ke dalam sekumpulan tabel yang mengandung metadata. Tabel-tabel ini kemudian disimpan dalam kamus data.