Object Database (object oriented database) adalah sebuah model basisdata dimana
informasi disimpan dalam bentuk object. Object yang dimaksud tersebut digunakan
dalam OOP (object oriented programming).
Bagi yang telah mengenal RDBMS, object pada ODBMS bertindak sama dengan tabel
di RDBMS. ODBMS dibuat untuk menggantikan RDBMS jika bahasa pemograman
yang digunakan adalah OOP. Sebenarnya para developer telah memiliki solusi lain
yaitu ORDBMS (Object Relational Database Management System) yang berfungsi
untuk memetakan tabel dengan object yang disebut ORM (Object Relational Mapper).
Jadi data yang dikirimkan tetap object namun akan diterjemahkan terlebih dahulu
menjadi perintah query RDBMS sebelum dieksekusi. Akan tetapi ORDBMS masih
memiliki kekurangan:
Beberapa object oriented database yang didesain dapat dijalankan dengan bahasa
OOP seperti Ruby, Java, C#. Berikut ini adalah contoh penggunaan object oriented
database dalam java. Untuk software ODBMS dapat menggunakan db4o yang bersifat
open source.
public Mahasiswa(){
@Override
public String toString(){
return npm + " " + nama;
}
}
Kelas Main.java digunakan untuk mencoba Insert, Select, Update, Delete, Select
Data with Soda. Select Data with Soda berfungsi untuk mengambil data dengan
parameter tertentu. Kalau di RDBMS seperti menggunakan WHERE.
public void insertData() {
System.out.println("* Insert data...");
File f = new File("d:/mahasiswadb.yap");
if (f.exists())
f.delete();
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Mahasiswa mhs1 = new Mahasiswa(201021001, "Andi");
Mahasiswa mhs2 = new Mahasiswa(201021002, "Budi");
Mahasiswa mhs3 = new Mahasiswa(201021003, "Cecep");
db.store(mhs1);
db.store(mhs2);
db.store(mhs3);
db.close();
}
m.setNama("Jimmy Susanto");
db.store(m);
db.close();
}
Untuk ODBMS cukup membuat filenya saja dengan ext .yap. Terakhir buat main
method seperti berikut :
public static void main(String[] args) {
Main main = new Main();
main.insertData();
main.selectData();
main.updateData();
main.selectData();
main.deleteData();
main.selectData();
main.sodaQuery(201021002);
}