Secara tradisional rekayasa perangkat lunak dan
manajemen basis data yang ada merupakan disiplin ilmu yang terpisah. Teknologi
basis data momfokuskan pada aspek-aspek statik media penyimpanan informasi,
sedangkan rekayasa perangkat lunak merupakan model aspek dinamik dari perangkat
lunak.
Dengan adanya generasi ketiga dari sistem manajemen
basis data yang disebut Object Database
Management Systems (ODBMSs), dua disiplin ilmu tadi telah dikombinasikan
untuk menyediakan modelling yang
dapat berjalan bersama yaitu data dan aksi pemrosesan terhadap data. ODBMSs
sering disebut Object Oriented DBMSs
atau Object Data Management Systems.
Object oriented
merupakan suatu pendekatan baru dari pembuatan perangkat lunak yang sangat
menjanjikan untuk memecahkan beberapa masalah klasik dari pengembangan
perangkat lunak. Konsep yang mendasari teknik objek ini adalah bahwa seluruh software sebaiknya dapat dibangun
melebihi standar, komponen-komponen dapat digunakan kembali apabila dimungkinkan.
Data: fakta berupa
angka, teks, dokumen, gambar,
bagan, dan suara yang mewakili
deskripsi
verbal tertentu. Data dikumpulkan untuk maksud dokumentasi.
Informasi: data yang
telah diolah (diurutkan,
dipadatkan, disaring, dicuplik, dsb)
sehingga memiliki arti dan nilai yang lebih
tinggi bagi seorang individu atau kelompok
tertentu. Informasi diperlukan
untuk
membuat keputusan, untuk manajemen
organisasi.
Ada 3 tingkat dalam
arsitektur basis data yang bertujuan membedakan cara pandang pemakai terhadap
basis data dan cara pembuatan basis data secara fisik.
1. Tingkat Eksternal (External Level)
Tingkat eksternal merupakan cara pandang pemakai terhadap basis
data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi
seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang
yang berbeda dari sebuah basis data. Masing-masing pemakai merepresentasikan
dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya
terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang
diperlukan saja.
2. Tingkat Konseptual
(Conseptual Level)
Tingkat konseptual merupakan
kumpulan cara pandang terhadap basis data. Pada tingkat ini
menggambarkan data
yang disimpan dalam basis data dan hubungan antara datanya.
Hal-hal yang digambarkan dalam tingkat konseptual adalah :
- semua entitas beserta
atribut dan hubungannya
- batasan data
- informasi semantik tentang
data
- keamanan dan integritas
informasi
Semua cara pandang pada tingkat eksternal berupa data yang
dibutuhkan oleh pemakai harus sudah tercakup di dalam tingkat konseptual atau
dapat diturunkan dari data yang ada. Deskripsi data dari entitas pada tingkat
ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan
besarnya penyimpanan dalam ukuran byte.
3. Tingkat Internal
(Internal Level)
Tingkat internal merupakan
perwujudan basis data dalam komputer. Pada tingkat ini
menggambarkan bagaimana basis
data disimpan secara fisik di dalam peralatan storage yang berkaitan erat
dengan tempat penyimpanan / physical storage.
Tingkat internal memperhatikan hal-hal berikut ini :
- alokasi ruang penyimpanan
data dan indeks
- deskripsi record untuk
penyimpanan (dengan ukuran penyimpanan untuk data elemen
- penempatan record
- pemampatan data dan teknik
encryption
Data Independence
Tujuan utama dari 3 tingkat arsitektur
adalah memelihara kemandirian data (data independence) yang berarti perubahan
yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang
lebih tinggi.
Ada 2 jenis data independence, yaitu
1. Physical Data Independence
2. Logical Data Independence
Bahasa Dalam DBMS
DBMS (Database Management systems)
adalah kumpulan program yang mengkoordinasikan semua kegiatan yang berhubungan
dengan basis data. Dengan adanya berbagai tingkatan pandangan dalam suatu basis
data maka untuk mengakomodasikan masing-masing pengguna dalam piranti lunak
manajemen basis data biasanya terdapat bahasa-bahasa tertentu yang disebut Data
Sub language.
Data sub language adalah subset bahasa
yang dipakai untuk operasi manajemen basis data. Dalam penggunaan biasanya
dapat ditempelkan (embedded) pada bahasa tuan rumah (Cobol, PL/1, dsb). Secara
umum maka setiap pengguna basis data memerlukan bahasa yang dipakai sesuai
tugas dan fungsinya.
Dalam basis data secara umum dikenal 2
data sub language :
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
Ada 2 jenis DML :
1. Procedural DML
2. Non Procedural
Komponen DBMS
1. Query Processsor
Komponen yang merubah bentuk query ke
dalam instruksi tingkat rendah ke database manager
2. Database Manager
Database manager menerima query dan
menguji skema eksternal dan konseptual untuk menentukan apakah record-record
dibutuhkan untuk memenuhi permintaan. Kemudian DM memanggil file manager untuk
menyelesaikan permintaan
3. File Manager
Memanipulasi penyimpanan
file dan mengatur alokasi ruang penyimpanan pada disk.
4. DML Preprocessor
Modul yang merubah perintah
DML embedded ke dalam program aplikasi dalam bentuk fungsi-
fungsi yang
memanggil dalam host language.
5. DDL Compiler
Merubah perintah DDL menjadi
kumpulan tabel yang berisi metadata.
6. Dictionary Manager
Mengatur akses dan
memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang
lain.
Gambar 3. Komponen Software
Utama Database Manager
1. Authorization Control
2. Command Processor
3. Integrity Checker
4. Query Optimizer
5. Transaction Manager
6. Scheduler
7. Recovery Manager
8. Buffer Manager
Arsitektur DBMS Multi User
Teleprocessing
Arsitektur tradisional untuk sistem
multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan
sejumlah terminal seperti pada gambar di bawah ini.
Gambar 4. Arsitektur Teleprocessing
File-Server
Proses didistribusikan ke
dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file
yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan
pada masing-masing workstation tetapi tetap meminta file dari file server jika
diperlukan (perhatikan gambar di halaman berikut ini).
Gambar 5. Arsitektur File Server
Client Server
Untuk mengatasi kelemahan
arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server.
Client-server menunjukkan cara komponen software berinteraksi dalam bentuk
sistem.
Sesuai dengan namanya, ada
sebuah pemroses client yang membutuhkan sumber dan sebuah server yang
menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus
diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada
satu sisi dalam LAN dan client pada sisi yang lain.
DatabaseClient 2client 1Client
3LANserver (with DBMS)selected data returnedrequest for data
Gambar 6. Arsitektur Client
Server