تسمى أحيانا التنظيم النسبي أو العشوائي
للملفات
(relative or random file organization).
والتنظيم المباشر يستخدم قيما مفتاحية للسجلات
record's key value
لتحديد مواقع السجلات على القرص. فإذا افترضنا مثلا أن هناك ملف يحتوي على
تسعة سجلات، مع وجود حقل رئيسي يشتمل على قيم تتراوح بين
1 - 9،
وأن هناك تسعة مواقع لاختزان السجلات التسعة. فباستخدام التنظيم المباشر
للملفات، فستحدد قيمة الحقل المفتاحي الموقع النسبي للسجل. فمثلا، السجل ذو القيمة
المفتاحية
3، سوف يقع في الموقع النسبي رقم
3، وكذلك فإن السجل ذو القيمة المفتاحية
6، سوف يقع في الموقع النسبي رقم
6، وهكذا. وهذه المواقع النسبية تسمى
أحيانا دلاء (جمع دلو
bucket). والدلو يمكن تقسيمه إلى مواقع تستوعب أكثر من سجل
واحد.
وفي العادة، لا يكون تخزين السجلات في
الملف سهلا. فمثلا، إذا افترضنا أن ملف الموظفين يمكنه اختزان
100
سجل، وأن مفتاح كل سجل في الملف هو كود الموظف الذي يتألف من أربعة أرقام.
ففي هذه الحالة، لا يمكن استخدام المفتاح لتحديد موقع السجل في الملف. فالسجل رقم
0003، يمكن اختزانه في الموقع النسبي
3 من المواقع المائة المتاحة في هذا الملف، ولكن أين
سيحفظ السجل
1009
أو
3428.
ولتحديد الموقع النسبي أو الفعلي للسجل، تستخدم صيغة حسابية. وعملية استخدام الصيغة
الحسابية لحساب مواقع السجلات تسمى
hashing.
وأحد الأساليب المستخدمة يسمى أسلوب
القسمة والباقي. وفي هذا الأسلوب، يقوم الكمبيوتر بقسمة المفتاح على عدد أولي
prime number
يكون مقاربا لعدد السجلات ولا يكون هذا الرقم أعلى من العدد الكلي المزمع
حفظه في سجلات الملف. والعدد الأولي هو العدد الذي لا يقبل القسمة إلا على
1 أو نفسه
(مثل الأرقام
19, 23, 29, etc.
). فإذا افترضنا وجود
100 سجل بالملف، فسيكون الرقم
97
هو أقرب عدد أولي للعدد الكلي للسجلات بالملف. فمثلا، عند قسمة المفتاح
3428
على المفتاح
97، فستكون النتيجة
35، أما الباقي فسيكون
33، وهو ما سيكون الموقع النسبي لمكان تخزين السجل.
وهناك بعض المشاكل عند استخدام هذه
الطريقة. فمثلا، المفتاح رقم
3331 سوف يخلق نفس العدد الباقي
33، تماما مثل العدد
3428. وعند حدوث ذلك، فإن المفاتيح تسمى مفاتيح مرادفة
synonym. أما حدوث حالة المرادفة فتعرف باسم الاصطدام أو
الارتطام
collision. وطريقة حل التصادمات هي وضع السجل في الخلية التالية
في الدلو. فإذا امتلأ الدلو، فيوضع السجل في الخلية المتاحة في الدلو التالي.
فإذا اختزن السجل في الموقع النسبي الخاص
به في الملف المباشر، فيمكن استرجاعه إما مباشرة
directly أو تتابعيا
sequentially. والطريقة المتبعة عادة في الملف المباشر
هي الاسترجاع المباشر باتباع الخطوات الثلاثة التالية:
يحصل البرنامج على مفتاح السجل المراد
استرجاعه. وقيمة المفتاح، مثلا رقم الموظف، يدخله الباحث أو يقرأه البرنامج من ملف
آخر.
يقرر البرنامج موقع السجل المراد استرجاعه
بإجراء عملية
hashing تماما
كما حدث أثناء حفظ السجل أساسا. ففي حالة السجل رقم
3428، فسوف يقوم البرنامج بقسمة هذه القيمة
على العدد الأولي
97، والباقي
33 هو الذي يحدد موقع الدلو الذي يخزن السجل.
يوجه البرنامج الكمبيوتر إلى موقع التخزين
33
لاسترجاع السجل.
ويتيح الملف المباشر أيضا بالاسترجاع
التتابعي، حيث يتم تحديد الموقع النسبي الأول، يليه السجل في الموقع النسبي الثالي،
وهكذا. وجميع السجلات في الملف تسترجع عن طريق مواقعها النسبية.