http://www.elshami.com

direct file organization
التنظيم المباشر للملفات

تسمى أحيانا التنظيم النسبي أو العشوائي للملفات  (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  لاسترجاع السجل.

ويتيح الملف المباشر أيضا بالاسترجاع التتابعي، حيث يتم تحديد الموقع النسبي الأول، يليه السجل في الموقع النسبي الثالي، وهكذا. وجميع السجلات في الملف تسترجع عن طريق مواقعها النسبية.