530 likes | 2.2k Views
Organisasi berkas dengan banyak key. Organisasi berkas yang memperbolehkan record diakses oleh lebih dari satu key field disebut organisasi berkas dengan banyak key. Pengertian Organisasi Berkas Dengan Banyak Key. Multi-Key Access. One Access Key ?. Yes. No.
E N D
Organisasiberkas yang memperbolehkan record diaksesolehlebihdarisatu key field disebutorganisasiberkasdenganbanyak key. PengertianOrganisasiBerkasDenganBanyak Key
Multi-Key Access One Access Key ? Yes No Sequential Access Only ? No Yes Direct Access Only ? Multi-Key Organization Sequential Organization No Yes Indexed Sequential Orgaization Relative Organization
Adabanyakteknik yang dipakaiuntukorganisasiberkasdenganbanyak key ini. Hampirsemuapendekatanbergantungpadapembentukanindeks yang dapatmemberiakseslangsungdenganbanyaknilai key. • Ada 2 teknikdasaruntukpemberianhubunganantarasebuahindeksdan data record dariberkas, yaitu : • Inversion • Multi-list
Banyaksisteminformasiinteraktifmemerlukandukungandariberkasbanyak key. Contoh : Sebuahsistemperbankan yang mempunyaibeberapapemakai (user), sepertikasir, pegawaikredit, manajercabang, pegawai bank, nasabahdan lain-lain. Semuanyamemerlukanakses data yang samadengan format record : DefinisidanAplikasiBerkasdenganBanyak Key
Account ID NAME GROUP-CODE SOCNO BALANCE OVERDRAW LIMIT LAST FIRST BRANCH TYPE
Adanyapemakai yang berbedamemerlukanakses record-record inidalamcara yang berbeda. • KasirMengidentifikasikan record account menurutnilai ID. • KreditAksessemua record menurutnilai OVERDRAW LIMIT atausemua record account dengannilai SOCNO. • ManajerCabangAksessemua record menurut Branch dan Type. • Pegawai BankMembuatlaporanberkalauntuksemua record ccount yang disortirberdasarkan ID. • NasabahMemerlukanaksesrecordnyadenganmemberikan ID yang dimilikinyaataukombinasidari NAME, SOCNO dan Type. • Satupendekatan yang dapatmendukungsemuajenisaksesadalahdipunyainyabanyakberkas yang berbeda. Setiapberkasdiorganisasiuntukmelayanisatujeniskeperluan.
Makauntukcontohsistemperbankandiatasharusada : • File account yang organisasinyaindeks sequential dengannilai key ID untukmelayanikasir, pegawai bank dannasabah. • File account yang organisasinya sequential dengan record diurutmenurut OVERDRAW LIMIT untukmelayanipegawaikredit. • File account yang organisasinyarelarifdengannilai key SOCNO untukmelayanipegawaikredit. • File account yang organisasinya sequential dengan record diurutmenurut GROUP-CODE untukmelayanimanajercabang. • File account yang organisasinyarelatifdengannilai key NAME, SOCNO dan TYPE untukmelayaninasabah.
Jadikitamempunyai 5 file, semuanyamempunyai record yang sama. Kelima file ituhanyaberbedadalamorganisasidancaraaksesnya. Pengulangan data daribeberapa file bukanmerupakancara yang baikuntukmengakses record denganberbagaicara. Dan carainimemerlukan space (ruang) yang besardi storage dankesulitanpadawaktupeng-update-an record secaraserentak. Untukmengatasimasalahdiatas, makadigunakanorganisasiberkasbanyak key yang umumnyadiimplementasikandenganpembentukanbanyakindeksuntukmemberikanakses yang berbedaterhadap record data. Mungkinjugacarainimemakaibanyak link-list terhadap record. Dan sebuahindeksdapatdibentukdenganbeberapacara, misalsebagaitabel binary search tree atau B-tree
Satupendekatandasaruntukmemberikanhubunganantarasebuahindeksdan data record dari file adalahinversi. Sebuah key padaindeksinversimempunyaisemuanilai key dimanamasing-masingnilai key mempunyaipenunjukke record yang bersangkutan. File yang demikiandisebutinverted file. Organisasi Inverter File
Indeksinversi yang sederhanadibentuksebagaisebuahtabel. Contoh : Inversi file ACCOUNT terhadap SOCNO menghasilkanindeksinversi.
Sebuahindeksinversidapatdibuatbersamasebuahrelatif file atausebuahindeks sequential. Sebuahindeksinversidengan key SOCNO untuksebuahrelatif file dengannilai key ID akanmemberikansebuah file yang dapatdiakseslangsungolehsebuah ID atau SOCNO.
Jikasebuah key dipakaiuntukmenentukanstruktur storage dari file disebut primary key, sedangkan key yang lainnyadisebut secondary key. File yang mempunyaiindeksinversiuntuksetiap data field disebut completely inverted. File yang bukan completely inverted tapi paling sedikitmempunyaisatuindeksinversidisebutpartialy inverted file.
Satuhal yang baikdariinversi file adalahbeberapapertanyaandibawahinidapatdijawabtanpaakses data file, cukupdenganindeksinversinya. • Berapabanyak account dengan GROUP-CODE = ‘EA001’ ? • Berapabanyak account dengann BRANCH = ‘NE’ ? • Apakah BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?
Suatupendekatanlain yang memberikanhubunganantarasebuahindeks dan data record dari sebuah file disebutorganisasi multi-list file. Sepertisebuah inverted file, sebuah multi-list file mempunyaisebuahindeksuntuksetiap secondary key. Organisasi Multi-List File
Organisasi multi-list file berbedadengan inverted file, dimanadalamindeksinversiuntuksebuahnilai key mempunyaisebuahpenunjukuntuksebuah data record dengannilai key, sedangkandalamindeks multi-list untuksebuahnilai key mempunyaihanyasebuahpenunjukuntuk data record pertamadengannilai key . Data record mempunyaipenunjukuntuk data record selanjutnyadengannilai key danseterusnya. Makaterdapatsebuah linked-list dari data record untuksetiapnilaidari secondary key.
Nilai key harusdiurut, strukturindeksadalahtabeldengan indirect addressing danmempunyaihubungan data record yang disusunmenurut ID secara ascending.
MULTI-LIST ORGANIZATION Multi-List indeksuntuk GROUP-CODE secondary key Multi-List indeksuntuk OVERDRAW-LIMIT secondary key
Contoh : Ada 3 caraakses yang potensialdalammenjawabpertanyaan : Daftarnilai ID untuk account dengan GROUP-CODE = ‘EA001’ dan OVERDRAW-LIMIT = 100 ? Data file dapatdicarisecara sequential, indeks GROUP-CODE ataudenganmemakai OVERDRAW-LIMIT. Manacara yang terbaik ?
Pencariansecarasequentialmemerlukanaksessampai20 data record, menggunakanindeks GROUP-CODEberartiaksessampai3 data recorddan memakaiindeks OVERDRAW-LIMITberartiaksessampai8 data record. Dari ketigacaradiatas, yang terbaikadalahmenggunakanindeks GROUP-CODE.