ORGANISASI BERKAS DENGAN BANYAK KEY
Pengertian Organisasi Berkas Dengan Banyak Key
Organisasi berkas yang memperbolehkan record diakses oleh lebih dari satu key field disebut organisasi berkas dengan banyak key.
Ada banyak teknik yang dipakai untuk organisasi berkas dengan banyak key ini. Hampir semua pendekatan bergantung pada pembentukan indeks yang dapat memberi akses langsung dengan banyak nilai key.
Ada 2 teknik dasar untuk pemberian hubungan antara sebuah indeks dan data record dari berkas yaitu :
- Inversion
- Multi-List
Definisi dan Aplikasi Berkas dengan Banyak Key
Banyak sistem informasi interaktif memerlukan dukungan dari berkas banyak key.
KELEBIHAN DAN KELEMAHAN
Kelebihan
• Lebih mudah melakukan akses data dibanding metode lain.
• Dalam pencarian menggunakan inversi, lebih dari satu data dapat ditemukan serentak.
• Sangat diperlukan dalam basis data skala besar.
Kelemahan
• Karena digunakan dalam basis data besar, perlu memory space yang besar.
Contoh :
Sebuah sistem perbankan yang mempunyai beberapa pemakaian (user), seperti kasir, pegawai kredit, manjer cabang, pegawai bank, nasabah dan lain-lain. semuanya memerlukan akses data yang sama dengan format record :
Adanya pemakaian yang berbeda memerlukan akses record-record ini dalam cara yang berbeda.
- Kasir Mengidentifikasikan record account menurut nilai ID.
- Kredit Akses semua record menurut nilai OVERDRAW LIMIT atau semua record account dengan nilai SOCNO.
- Manajer Cabang Akses semua record menurut Branch dan Type.
- Pegawai Bank Membuat laporan berkala untuk semua record account yang disortir berdasarkan ID.
- Nasabah Memerlukan akses recordnya dengan memberikan ID yang dimilikinya atau Kombinasi sari NAME, SOCNO dan Type.
Satu pendekatan yang dapat mendukung semua jenis akses adalah dipunyainya banyak berkas yang berbeda. Setiap berkas diorganisasi untuk melayani satu jenis keperluan.
Maka untuk contoh sistem perbankan di atas harus ada :
· File account yang organisasinya indeks sequential dengan nilai key ID untuk melayani kasir, pegawai bank dan nasabah.
· File account yang organisasinya sequential dengan record diurut menurut OVERDRAW LIMIT untuk melayani pegawai kredit.
· File account yang organisasinya relarif dengan nilai key SOCNO untuk melayani pegawai kredit.
· File account yang organisasinya sequential dengan record diurut menurut GROUP-CODE untuk melayani manajer cabang.
· File account yang organisasinya relatif dengan nilai key NAME, SOCNO dan TYPE untuk melayani nasabah.
Jadi kita mempunyai 5 file, semua mempunyai record yang sama. Kelima file itu hanya berbeda dalam organisasi dan cara aksesnya. Pengulangan data dari beberapa file bukan merupakan cara yang baik untuk mengakses record dengan berbagai cara. Dan cara memerlukan space (ruang) yang besar di storage dan kesulitan pada waktu pengupdatean record secara serentak. Untuk mengatasi masalah di atas, maka digunakan organisasi berkas banyak key yang umumnya diimplemasikan dengan pembentukan banyak indeks untuk memberikan akses yang berbeda terhadap record data. Mungkin juga cara ini memakai banyak link list terhadap record. Dan sebuah indeks dapat di bentuk dengan beberapa cara, misal sebagai tabel binar search tree atau B-tree.
METODE PENCARIAN
1. Organisasi Inverter File
Satu pendekatan dasar untuk memberikan hubungan antara sebuah indeks dan data record dari file adalah Inversi. Sebuah key pada indeks inversi mempunyai semua nilai key dimana masing-masing nilai key mempunyai petunjuk ke record yang bersangkutan.File yang demikian disebut Inverted File.
Indeks inversi yang sederhana dibentuk sebagai sebuah tabel.
Contoh :
Inversi file ACCOUNT terhadap SOCNO menghasilkan indeks inversi.
Sebuah indeks inversi dapat dibuat bersama sebuah relatif file atau sebuah indeks sequential. Sebuah indeks inversi dengan key SOCNO untuk sebuah relatif file dengan nilai key ID akan memberikan sebuah file yang dapat diakses langsung oleh sebuah ID atau SOCNO.
Jika sebuah key dipakai untuk menentukan struktur storage dari file disebut primary key, sedangkan key yang lainnya disebut secondary key.
File yang mempunyai indeks inversi untuk setiap data field disebut completely inverted. File yang bukan completely inverted tapi paling sedikit mempunyai satu indeks inversi disebut partialy inverted file.
Satu hal yang baik dari inversi file adalah beberapa pertanyaan di bawah ini dapat dijawab tanpa akses data file, cukup dengan indeks inversinya.
· Berapa banyak account dengan GROUP-CODE = ‘EA001’ ?
· Berapa banyak account dengann BRANCH = ‘NE’ ?
· Apakah BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?
2. Organisasi Multi-List File
Suatu pendekatan lain yang memberikan hubungan antara sebuah indeks dan data record dari sebuah file disebut organisasi multi-list file. Seperti sebuah inverted file, sebuah multi-list file mempunyai sebuah indeks untuk setiap secondary key.
Organisasi multi-list file berbeda dengan inverted file, dimana dalam indeks inversi untuk sebuah nilai key mempunyai sebuah penunjuk untuk sebuah data record dengan nilai key,
Sedangkan dalam indeks multi-list untuk sebuah nilai key mempunyai hanya sebuah penunjuk untuk data record pertama dengan nilai key . Data record mempunyai penunjuk untuk data record selanjutnya dengan nilai key dan seterusnya. Maka terdapat sebuah linked-list dari data record untuk setiap nilai dari secondary key.
Nilai key harus diurut, struktur indeks adalah tabel dengan indirect addressing dan mempunyai hubungan data record yang disusun menurut ID secara ascending.
MULTI-LIST ORGANIZATION
Multi-List indeks untuk GROUP-CODE secondary key
Multi-List indeks untuk OVERDRAW-LIMIT secondary key
Contoh :
Ada 3 cara akses yang potensial dalam menjawab pertanyaan :
Daftar nilai ID untuk account dengan GROUP-CODE = ‘EA001' dan OVERDRAW-LIMIT = 100 ?
Data file dapat dicari secara sequential, indeks GROUP-CODE atau dengan memakai OVERDRAW-LIMIT.
Mana cara yang terbaik ?
· Pencarian secara sequential memerlukan akses sampai 20 data record,
· menggunakan indeks GROUP-CODE berarti akses sampai 3 data record dan
· memakai indeks OVERDRAW-LIMIT berarti akses sampai 8 data record.
Dari ketiga cara di atas, yang terbaik adalah menggunakan indeks GROUP-CODE.
Tidak ada komentar:
Posting Komentar