logo

الفهرسة في نظام إدارة قواعد البيانات (DBMS).

  • يتم استخدام الفهرسة لتحسين أداء قاعدة البيانات عن طريق تقليل عدد مرات الوصول إلى القرص المطلوبة عند معالجة الاستعلام.
  • الفهرس هو نوع من بنية البيانات. يتم استخدامه لتحديد موقع البيانات في جدول قاعدة البيانات والوصول إليها بسرعة.

هيكل الفهرس:

يمكن إنشاء الفهارس باستخدام بعض أعمدة قاعدة البيانات.

جافا فتح ملف
فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).
  • العمود الأول من قاعدة البيانات هو مفتاح البحث الذي يحتوي على نسخة من المفتاح الأساسي أو المفتاح المرشح للجدول. يتم تخزين قيم المفتاح الأساسي بترتيب مصنف بحيث يمكن الوصول إلى البيانات المقابلة بسهولة.
  • العمود الثاني من قاعدة البيانات هو مرجع البيانات. يحتوي على مجموعة من المؤشرات التي تحمل عنوان كتلة القرص حيث يمكن العثور على قيمة المفتاح المعين.

طرق الفهرسة

فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

المؤشرات المرتبة

عادةً ما يتم فرز المؤشرات لجعل البحث أسرع. تُعرف المؤشرات التي يتم فرزها بالمؤشرات المرتبة.

مثال : لنفترض أن لدينا جدول موظف يحتوي على آلاف السجلات ويبلغ طول كل منها 10 بايت. إذا كانت هوياتهم تبدأ بـ 1، 2، 3....وهكذا فيجب علينا البحث عن الطالب برقم ID-543.

  • في حالة عدم وجود فهرس في قاعدة البيانات، يتعين علينا البحث في كتلة القرص من البداية حتى تصل إلى 543. سيقوم نظام إدارة قواعد البيانات (DBMS) بقراءة السجل بعد قراءة 543*10=5430 بايت.
  • في حالة الفهرس، سوف نقوم بالبحث باستخدام الفهارس وسيقوم نظام إدارة قواعد البيانات (DBMS) بقراءة السجل بعد قراءة 542*2= 1084 بايت وهي أقل جدًا مقارنة بالحالة السابقة.

الفهرس الأساسي

  • إذا تم إنشاء الفهرس على أساس المفتاح الأساسي للجدول، فإنه يُعرف باسم الفهرسة الأولية. هذه المفاتيح الأساسية فريدة لكل سجل وتحتوي على علاقة 1:1 بين السجلات.
  • نظرًا لأنه يتم تخزين المفاتيح الأساسية بترتيب مرتب، فإن أداء عملية البحث يكون فعالًا للغاية.
  • يمكن تصنيف الفهرس الأساسي إلى نوعين: الفهرس الكثيف والفهرس المتناثر.

مؤشر كثيف

  • يحتوي الفهرس الكثيف على سجل فهرس لكل قيمة مفتاح بحث في ملف البيانات. يجعل البحث أسرع.
  • في هذا، يكون عدد السجلات في جدول الفهرس هو نفس عدد السجلات في الجدول الرئيسي.
  • يحتاج إلى مساحة أكبر لتخزين سجل الفهرس نفسه. تحتوي سجلات الفهرس على مفتاح البحث ومؤشر للسجل الفعلي الموجود على القرص.
فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

مؤشر متناثر

  • في ملف البيانات، يظهر سجل الفهرس لعدد قليل من العناصر فقط. يشير كل عنصر إلى كتلة.
  • في هذا، بدلاً من الإشارة إلى كل سجل في الجدول الرئيسي، يشير الفهرس إلى السجلات الموجودة في الجدول الرئيسي في فجوة.
فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

مؤشر التجميع

  • يمكن تعريف الفهرس المجمع على أنه ملف بيانات مرتب. في بعض الأحيان يتم إنشاء الفهرس على أعمدة مفاتيح غير أساسية والتي قد لا تكون فريدة لكل سجل.
  • في هذه الحالة، لتحديد السجل بشكل أسرع، سنقوم بتجميع عمودين أو أكثر للحصول على القيمة الفريدة وإنشاء فهرس منها. تسمى هذه الطريقة بفهرس التجميع.
  • يتم تجميع السجلات التي لها خصائص متشابهة، ويتم إنشاء فهارس لهذه المجموعة.

مثال : لنفترض أن الشركة تحتوي على عدة موظفين في كل قسم. لنفترض أننا نستخدم فهرس تجميع، حيث يتم اعتبار جميع الموظفين الذين ينتمون إلى نفس Dept_ID ضمن مجموعة واحدة، وتشير مؤشرات الفهرس إلى المجموعة ككل. هنا Dept_Id هو مفتاح غير فريد.

فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

المخطط السابق مربك قليلاً لأن كتلة قرص واحدة تتم مشاركتها بواسطة السجلات التي تنتمي إلى مجموعة مختلفة. إذا استخدمنا كتلة قرص منفصلة لمجموعات منفصلة، ​​فإن ذلك يُسمى تقنية أفضل.

فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

الفهرس الثانوي

في الفهرسة المتفرقة، كلما زاد حجم الجدول، زاد حجم التعيين أيضًا. عادةً ما يتم الاحتفاظ بهذه التعيينات في الذاكرة الأساسية بحيث يكون جلب العنوان أسرع. ثم تقوم الذاكرة الثانوية بالبحث في البيانات الفعلية بناءً على العنوان الذي تم الحصول عليه من التعيين. إذا زاد حجم التعيين، يصبح جلب العنوان نفسه أبطأ. في هذه الحالة، لن يكون الفهرس المتفرق فعالا. للتغلب على هذه المشكلة، تم تقديم الفهرسة الثانوية.

في الفهرسة الثانوية، لتقليل حجم التعيين، يتم تقديم مستوى آخر من الفهرسة. في هذه الطريقة يتم تحديد النطاق الكبير للأعمدة مبدئيًا بحيث يصبح حجم التعيين للمستوى الأول صغيرًا. ثم يتم تقسيم كل نطاق إلى نطاقات أصغر. يتم تخزين تعيين المستوى الأول في الذاكرة الأساسية، بحيث يكون جلب العنوان أسرع. يتم تخزين تعيين المستوى الثاني والبيانات الفعلية في الذاكرة الثانوية (القرص الصلب).

فهرسة نظام إدارة قواعد البيانات (DBMS) في نظام إدارة قواعد البيانات (DBMS).

على سبيل المثال:

جافا يلقي شار إلى السلسلة
  • إذا كنت تريد العثور على سجل اللفة 111 في الرسم التخطيطي، فسوف تبحث عن أعلى إدخال أصغر من أو يساوي 111 في فهرس المستوى الأول. وسوف تحصل على 100 على هذا المستوى.
  • ثم في مستوى الفهرس الثاني، يصل مرة أخرى إلى الحد الأقصى (111)<= 111 and gets 110. now using the address 110, it goes to data block starts searching each record till 111. < li>
  • هذه هي الطريقة التي يتم بها البحث بهذه الطريقة. ويتم أيضًا الإدراج أو التحديث أو الحذف بنفس الطريقة.