PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.1FTI – UNIVERSITAS BUDI LUHUR
CHAPTER 4
SIMPANAN DATA UNTUK DATABASE
BERORIENTASI OBJECT
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.2
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
Sistem penyimpanan untuk database berorientasi object berbeda dengan sistem penyimpanan database dengan relasi. Karena database berorientasi object harus menangani data yang besar dan harus mendukung ketepatan pointer
Teknik organisasi file seperti heap, sequential dan hashing dapat juga digunakan untuk menyimpan object pada database berorientasi object.
Pada database berorientasi objek memiliki kriteria : Field dapat berupa sebuat set dari field
Misal : field alamat terdiri dari field nama jalan, no. Rumah, rt, rw, kelurahan, dst…
Object biasanya berupa data yang besar misal data gis dll
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.3
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
Pemetaan/penyimpanan object ke dalam stuktur file dilakukan dengan membuat beberapa modifikasi, antara lain Jika besar dari beberapa set field tersebut merupakan
elemen yang kecil, maka digunakan stuktur data seperti link list
Jika besar dari beberapa set field tersebut merupakan elemen yang besar, maka set field tersebut diimplementasikan sebagai relasi dalam database. setiap relasi akan terdiri dari satu baris untuk tiap set field dari tiap object. tiap baris harus mempunyai object identifier dari object
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.4
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
PADA SISTEM PERBANKANCONTOH CLASS : CABANG, STAFF, MANAGER
NAMA CLASS ATTRIBUT
CABANG NO, CABANG, JALAN, KOTA, KODE POS, STAFF, MANAGER
STAFF NO.ID, NAMA STAFF, ALAMAT
MANAGER NO.ID, NAMA MANAGER, ALAMAT
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.5
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : CABANG DARI BANK
ATTRIBUT NILAINO. CABANG B003
JALAN PETUKANGAN SELATAN
KOTA JAKARTA
KODEPOS 11470
STAFF {ANI, SINTA}
MANAGER RINA
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.6
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : STAFF
ATTRIBUT NILAI
NO. ID S001
NAMA STAFF ANI
ALAMAT CILEDUG
ATTRIBUT NILAI
NO. ID S002
NAMA STAFF SINTA
ALAMAT CIPONDOH
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.7
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CONTOH OBJEK : MANAGER
ATTRIBUT NILAINO. ID M001
NAMA STAFF RINA
ALAMAT CIPULIR
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.8
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
CABANG : OID1
NO. CABANG : B003JALAN : PETUKANGAN SELATANKOTA : JAKARTAKODEPOS : 11470STAFF : {OID2,OID3}MANAGER : OID4
STAFF : OID2
NO. ID : S001NAMA : ANIALAMAT : CILEDUGCABANG : OID1MANAGER : OID4
MANAGER : OID4
NO. ID : M001NAMA : RINAALAMAT : CIPULIRSTAFF : {OID2, OID3}CABANG : OID1
STAFF : OID3
NO. ID : S002NAMA : SINTAALAMAT : CIPONDOHCABANG : OID1MANAGER : OID4
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.9
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
Implementasi Dari Object Identifiers Object diidentifikasikan dengan object identifiers (oids)
yaitu sistem simpanan object yang dibutuhkan sebagai mekanisme untuk menempatkan sebuah object.
TERDAPAT 2 JENIS OIDs Logical oids
Tidak menspesifikasikan lokasi dari object Tidak terikat dengan lokasi object
Physical oids Penempatan lokasi objek dibuat kode sehingga dapat
dengan cepat ditemukan scara langsung Terdiri dari identifier yang unik
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.10
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
PHYSICAL OBJECT IDENTIFIER
VOLUME.BLOCK.OFFSET ID YANG UNIK
OBJEK
ID YANG UNIK DATA
STRUKTUR UMUM
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.11
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
GOOD OID
519.56850.1200 51
OBJEK
51 DATA
CONTOH :
JIKA LOKASI OBJEK ADA DI 519.56850.1200
OBJEK MEMPUNYAI ID = 51
BAD OID
519.56850.1200 50
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.12
SIMPANAN DATA UNTUK DATABASE BERORIENTASI OBJECT
Physical OIDs membedakan antara satu objek dengan objek yang lain.
Physical OIDs juga disimpan bersama dengan objek . antara physical oids dengan objek harus sesuai satu sama lain
Jika tidak sesuai maka sistem akan mendeteksi physical OIDs sebagai pointer yang salah (dangling pointer)
dangling pointer adalah : pointer yang tidak menunjuk pada objek yang benar
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.13
MANAGEMENT DARI PERSISTENT POINTER (POINTER YANG TEPAT)
Pada beberapa implementasi persistent pointer adalah physical pointer.
Pointer pada memory komputer (transient pointer) membutuhkan tempat sebanyak 4 byte atau 8 byte.
Persistent pointer harus menempatkan semua datanya pada sebuah database
Deferencing Adalah Mencari Lokasi Sebenarnya Dari Object Dengan Mencari Berdasarkan Pointer Dari Object (OIDs)
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.14
MANAGEMENT DARI PERSISTENT POINTER
CABANG : OID1
NO. CABANG : B003JALAN : PETUKANGAN SELATANKOTA : JAKARTAKODEPOS : 11470STAFF : {OID2,OID3}MANAGER : OID4
STAFF : OID2
NO. ID : S001NAMA : ANIALAMAT : CILEDUGCABANG : OID1MANAGER : OID4
MANAGER : OID4
NO. ID : M001NAMA : RINAALAMAT : CIPULIRSTAFF : {OID2, OID3}CABANG : OID1
STAFF : OID3
NO. ID : S002NAMA : SINTAALAMAT : CIPONDOHCABANG : OID1MANAGER : OID4
RESIDENT OBJECT TABLE (ROT)
OID MEMORY ADDRESS
1 ………….
2 ………….
3 ………….
4 ………….
NO SWIZZLING : POINTER DARI OBJEK DIPANGGIL SESUAI DENGAN OBJEK
YANG DIPANGGIL
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.15
MANAGEMENT DARI PERSISTENT POINTER
Pointer swizzling adalah cara untuk mempersingkat pencarian lokasi object yang sudah berada sebelumnya di memory
Tujuan dari pointer swizzling adalah untuk mengoptimasi akses pada objek
Jika lokasi objek sudah dibaca sekali dan ditempatkan pada memory maka lokasi tersebut terus disimpan pada cache memory sehingga jika lokasi tersebut akan dibaca lagi tidak harus mencari di disk tapi hanya membaca langsung dari cache memory.
Penggunaan pointer swizzling pada pencarian pointer disebut software swizzling
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.16
HARDWARE SWIZZLING Menggunakan 2 tipe dari pointer ( persistent
pointer dan transient pointer=pointer pada memory) sangat tidak efisien.
Cara sederhana adalah dengan menjadikan 2 pointer menjadi 1 pointer dan menambah 1 bit untuk menjadi pembeda antara persistent pointer dan transient pointer.
Teknik tersebut menggambarkan hardware swizzling yang menggunakan manajemen virtual memory untuk memecahkan masalah di atas
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.17
HARDWARE SWIZZLING Keuntungan hardware swizzling dibandingkan
dengan software swizzling adalah :
Dapat menyimpan persistent pointer pada jumlah space yang sama dengan pointer pada memory (transient pointer)
Pada saat merubah antara persistent pointer dengan transient pointer dapat dilakukan dengan mudah dan efisien