Rabu, 04 Januari 2012

STRUKTUR DAN ORGANISASI DATA MULTI KEY


MULTI KEY
FILE ORGANIZATION : MULTI KEY
Selain organisasi berkas sequential, relative, dan index sequential yang telah dibahas sebelumnya, berikut akan dibahas mengenai organisasi berkas multi key. Inti dari organisasi berkas ini adalah, sebuah berkas (file) harus dapat diakses secara langsung (direct) dari berbagai kunci atribut (key field) yang ditentukan.
Misalkan file MAHASISWA yang berisi biodata mahasiswa, harus bisa dicari record data seorang mahasiswa berdasarkan NPMnya, atau NAMAnya atau mungkin ALAMATnya. Organisasi berkas seperti ini sangat diperlukan karena berbagai user akan membutuhkan data yang sama dengan cara pandang yang berbeda. Sayangnya, jarang software database yang bisa melakukan hal ini (menyediakan fasilitas pengorganisasian berkasnya secara multi key).

Ada banyak cara untuk mengorganisasi berkas semacam ini,
yaitu dengan cara:
(1)  Inversion
Yaitu dengan cara yang mirip dengan organisasi relative yang satu tabel index-nya berisi key field yang terurut dan sebuah pointer yang menunjuk ke alamat di mana data disimpan. Bedanya, karena di sini dibutuhkan banyak kunci, maka di tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
(2)  Multi-list
Yaitu dengan cara yang hampir sama dengan cara pertama, yaitu dibuat tabel index yang terurut key field-nya dan penunjuk ke nomor record (pertama) datanya, hanya di setiap record ditambahkan pointer (penunjuk) ke record-record berikutnya sesuai urutan key field yang ditentukannya. Tentu penunjuk itu akan berubah datanya bila akses dilakukan dengan key field lainnya.

Organisasi Berkas Dengan Banyak Key

Organisasi berkas yang memperbolehkan record diakses oleh lebih dari satu key field disebut organisasi berkas dengan banyak 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.
Contoh :
Sebuah sistem perbankan yang mempunyai beberapa pemakai (user), seperti kasir, pegawai kredit, manajer cabang, pegawai bank, nasabah dan lain-lain. Semuanya memerlukan akses data yang sama dengan format record :


 


Adanya pemakai 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 dari 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 :
u
File account yang organisasinya indeks sequential dengan nilai key ID
Untuk melayani kasir, pegawai bank dan nasabah.
u
File account yang organisasinya sequential dengan record diurut menurut
OVERDRAW LIMIT
Untuk melayani pegawai kredit.
u
File account yang organisasinya relatif dengan nilai key
SOCNO
Untuk melayani pegawai kredit.
u
File account yang organisasinya sequential dengan record diurut menurut
GROUP-CODE
Untuk melayani manajer cabang.

u
File account yang organisasinya relatif dengan nilai key
NAME, SOCNO dan TYPE      
Untuk melayani nasabah.


Jadi kita mempunyai 5 file, semuanya mempunyai record yang sama. Kelima file itu hanya berbeda dalam organisasi dan cara aksesnya.


Organisasi Inverter File

Inversi                 : Satu pendekatan dasar untuk memberikan hubungan antara sebuah indeks dan data record dari file.
Inverted file        : Sebuah key pada indeks inversi mempunyai semua nilai key dimana masing-masing nilai key mempunyai penunjuk ke record yang bersangkutan. Indeks inversi yang sederhana dibentuk sebagai sebuah tabel.

Contoh :     
Inversi file ACCOUNT terhadap SOCNO menghasilkan indeks inversi.
SOCNO
ADDRESS
001234123
123456789
213823456
299167305
399042131
411625331
412631467
426135447
445062681
459463001
513014265
612305116
626311660
692122222
713214622
798392289
821346211
912346789
923146154
987654321
6
5
14
16
4
13
7
20
17
1
8
9
18
12
3
15
2
19
11
10

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.

SOCNO
ID
001234123
123456789
213823456
299167305
399042131
411625331
412631467
426135447
445062681
459463001
513014265
612305116
626311660
692122222
713214622
798392289
821346211
912346789
923146154
987654321
291821
208432
486212
534216
201431
415631
300123
696123
535218
111111
310103
324196
641230
387122
198121
511211
112131
686116
386132
335812

|                       Primary key     : Key yang dipakai untuk menentukan struktur storage dari file, sedangkan key yang lainnya disebut secondary key.
|                       Completely inverted   : File yang mempunyai indeks inversi untuk setiap data field.
|                       Partialy inverted file : File yang bukan completely inverted tapi paling sedikit mempunyai satu indeks inversi 

Pada contoh di atas, nilai SOCNO adalah unik. Setiap SOCNO dalam indeks inversi mempunyai record. Indeks inversi dapat juga dipakai dengan key yang bukan unik.

GROUP-CODE

BRANCH TYPE

ID
DT
DT
EA
NE
NE
NW
NW
WE

001

002
001
001
002
001
002
002
111111, 201431, 310103, 686116
198121, 335812, 486212, 641230
324196, 534216, 535218
415631
300123, 696123
112131, 208432, 511211
291821
386132, 387122




Satu hal yang baik dari inversi file adalah beberapa pertanyaan di bawah ini dapat dijawab tanpa akses data file, cukup dengan indeks inversinya.
Ø  Apakah ada indeks untuk SOCNO = ‘414556233’ ?
Ø  Berapa banyak account dengan GROUP-CODE = ‘EA001’ ?
Ø  Berapa banyak account dengann BRANCH = ‘NE’ ?
Ø  Apakah BRANCH = ‘NE’ mempunyai TYPE = ‘001’ ?


Organisasi Multi-List File
Organisasi multi-list file         : Suatu pendekatan lain yang memberikan hubungan antara sebuah indeks dan data record dari sebuah file  
Inverted file                           : Mirip dengan organisasi relative yang satu tabel index-nya berisi key field yang terurut dan sebuah pointer yang menunjuk ke alamat di mana data disimpan. Bedanya, karena di sini dibutuhkan banyak kunci, maka di tabel tersebut disimpan pula kunci-kunci atribut lainnya yang dibutuhkan.
Indeks multi-list                     : 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.









MULTI-LIST ORGANIZATION

GROUP-CODE

BRANCH TYPE

ID

DT

DT
EA
NE
NE
NW
NW
WE

001

002
001
001
002
001
002
002
111111
198121
324196
415631
300123
112131
291821
386132



Multi-List indeks untuk GROUP-CODE secondary key.

GROUP-CODE

BRANCH TYPE


ID
0.
100.
200.
250
111111
112131
198121
511211
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.

Record
Address
ID
Name
Group-Code
Branch
Type
SOCNO
Balance
Limit
Last
First
1
111111
Dean
John
DT
001
45946301
100.50
0.
2
112131
Amore
Carol
NW
001
821346211
2311.20
100.
3
198121
Rice
Bess
DT
002
713214622
-191.87
200.
4
201431
Parker
Ola
DT
001
399042131
3142.93
100.
5
208432
Anderson
Barbara
NW
001
123456789
95.26
0.
6
291821
Anderson
Brent
NW
002
001234123
146.92
0.
7
300123
Hart
Allison
NE
002
412631467
3000.00
100.
8
310103
Tahoe
Serena
DT
001
513014265
243.63
0.
9
324196
Bones
Igor
EA
001
612305116
0.02
0.
10
335812
Bee
Vera
DT
002
987654321
88.72
0.
11
386132
Arc
Jean
WE
002
923146154
-89.98
100.
12
387122
Ells
Joshua
WE
002
692122222
10.95
0.
13
415631
Belle
Ellie
NE
001
411625331
426.86
100.
14
486212
Matthers
Ann
DT
002
213823456
893.92
100.
15
511211
Snuggs
John
NW
001
798392289
2814.12
250.
16
534216
Loomin
Tim
EA
001
299167305
296.12
250.
17
535218
Ellsworth
Nancy
EA
001
445062681
2814.12
250.
18
641230
Wells
Chuck
DT
002
626311660
-98.14
100.
19
686116
Sworth
Lauren
DT
001
912346789
3216.16
100.
20
696123
Gunness
Marion
NE
002
426135447
95.93
25.
Tidak usah di transfaransi

Record
Address
ID
Name
Group-Code
SOCNO
Balance
Overdraw
Limit
Next
Last
First
Branch
Type
1
111111
Dean
John
DT
001
45946301
100.50
0.
208432
2
112131
Amore
Carol
NW
001
821346211
2311.20
100.
201431
3
198121
Rice
Bess
DT
002
713214622
-191.87
200.
0.
4
201431
Parker
Ola
DT
001
399042131
3142.93
100.
300123
5
208432
Anderson
Barbara
NW
001
123456789
95.26
0.
291821
6
291821
Anderson
Brent
NW
002
001234123
146.92
0.
310103
7
300123
Hart
Allison
NE
002
412631467
3000.00
100.
386132
8
310103
Tahoe
Serena
DT
001
513014265
243.63
0.
324196
9
324196
Bones
Igor
EA
001
612305116
0.02
0.
335812
10
335812
Bee
Vera
DT
002
987654321
88.72
0.
387122
11
386132
Arc
Jean
WE
002
923146154
-89.98
100.
415631
12
387122
Ells
Joshua
WE
002
692122222
10.95
0.
0.
13
415631
Belle
Ellie
NE
001
411625331
426.86
100.
486212
14
486212
Matthers
Ann
DT
002
213823456
893.92
100.
641230
15
511211
Snuggs
John
NW
001
798392289
2814.12
250.
534216
16
534216
Loomin
Tim
EA
001
299167305
296.12
250.
535218
17
535218
Ellsworth
Nancy
EA
001
445062681
2814.12
250.
696123
18
641230
Wells
Chuck
DT
002
626311660
-98.14
100.
686116
19
686116
Sworth
Lauren
DT
001
912346789
3216.16
100.
0.
20
696123
Gunness
Marion
NE
002
426135447
95.93
25.
0.


Tidak ada komentar:

Posting Komentar