الفهرسة في نظام إدارة قواعد البيانات: ما هي أنواع الفهارس مع الأمثلة

⚡ ملخص ذكي

الفهرسة في قواعد البيانات هي تقنية لهيكلة البيانات تسترجع السجلات بسرعة عن طريق الخريطةping مفتاح بحث لعنوان القرص الخاص بسجله. تعمل الفهارس الأساسية والثانوية والتجميعية ومتعددة المستويات وفهارس شجرة B على كل مساحة تداول وسرعة وصيانة بشكل مختلف.

  • 🗂️ الفكرة الأساسية: الفهرس عبارة عن جدول صغير مكون من عمودين يربط مفتاحًا بمؤشر إلى كتلة القرص الخاصة بالسجل.
  • 📇 الفهرس الأساسي: ملف مُرتب على المفتاح، مقسم إلى متغيرات كثيفة ومتفرقة.
  • 🔎 كثيف مقابل متفرق: يخزن الفهرس الكثيف مدخلاً واحداً لكل مفتاح؛ بينما يخزن الفهرس المتفرق عدداً أقل من المدخلات لتوفير المساحة.
  • 🏷️ الفهرس الثانوي: يعتمد هذا النظام على حقل غير قابل للترتيب، ويستخدم مجموعات للوصول إلى كل سجل مطابق.
  • 📚 Clusterفهرس ing: يجمع الصفوف التي تشترك في مفتاح غير فريد في مجموعة واحدة.
  • 🌳 فهرس شجرة B: شجرة متعددة المستويات متوازنة تدعم عقدها الورقية المرتبطة الوصول العشوائي والمتسلسل.
  • 🇧🇷 التنازل عن ميزة ممن أجل الحصول على أخرى: تُسرّع الفهارس عمليات القراءة ولكنها تُبطئ عمليات الإدخال والتحديث والحذف وتستهلك مساحة إضافية.

الفهرسة في قاعدة البيانات

ما هي الفهرسة؟

الفهرسة الفهرس هو أسلوب هيكلي للبيانات يسمح لك باسترجاع السجلات بسرعة من ملف قاعدة البيانات. وهو عبارة عن جدول صغير يتكون من عمودين فقط. يحتوي العمود الأول على نسخة من المفتاح الأساسي أو المفتاح المرشح للجدول. أما العمود الثاني فيحتوي على مجموعة من مؤشرات يحتوي على عنوان كتلة القرص حيث يتم تخزين قيمة المفتاح المحددة.

فهرس:

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

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

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

نوع الفهارس في قاعدة البيانات
نوع الفهارس في قاعدة البيانات

يُعرَّف الفهرسة في قاعدة البيانات بناءً على خصائص الفهرسة الخاصة بها. النوعان الرئيسيان لطرق الفهرسة هما:

  • الفهرسة الأولية
  • الفهرسة الثانوية

الفهرس الأساسي في نظم إدارة قواعد البيانات

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

وينقسم المؤشر الأساسي أيضاً إلى نوعين:

  • مؤشر كثيف
  • مؤشر متفرق

مؤشر كثيف

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

الفهرس الكثيف في أنظمة إدارة قواعد البيانات

مؤشر متفرق

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

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

فيما يلي مثال على فهرس قاعدة بيانات لفهرس متفرق.

الفهرس المتفرق في أنظمة إدارة قواعد البيانات

مؤشر الكثافة مقابل مؤشر التباعد

يقدم نوعا المؤشر الرئيسيان مقايضات متناقضة، ملخصة أدناه.

البعد مؤشر كثيف مؤشر متفرق
مقالات واحد لكل مفتاح بحث واحد لكل مربع سكني
الفضاء المزيد Less
سرعة البحث أسرع أبطأ
الدورية أكثر أقل

الفهرس الثانوي في نظم إدارة قواعد البيانات

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

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

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

دعونا نفهم الفهرسة الثانوية من خلال مثال على فهرس قاعدة البيانات. في قاعدة بيانات الحسابات المصرفية، تُخزَّن البيانات بشكل تسلسلي حسب رقم الحساب (acc_no)، ولكن قد ترغب في العثور على جميع الحسابات في فرع معين من بنك ABC.

هنا، يمكنك إنشاء فهرس ثانوي لكل مفتاح بحث. يشير سجل الفهرس إلى حاوية تحتوي على مؤشرات لجميع السجلات التي تحمل قيمة مفتاح البحث المحدد.

الفهرس الثانوي في نظام إدارة قواعد البيانات

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

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

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

تُعتبر هذه العناصر مجموعة واحدة، ويشير الفهرس إلى المجموعة ككل. هنا، يُعدّ Department_no مفتاحًا غير فريد.

ما هو الفهرس متعدد المستويات؟

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

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

مؤشر B-Tree

يُعد فهرس شجرة B أكثر هياكل البيانات استخدامًا في فهرسة الأشجار في أنظمة إدارة قواعد البيانات. وهو تنسيق متعدد المستويات لفهرسة الأشجار يستخدم خوارزمية متوازنة. أشجار البحث الثنائيةتحتوي جميع العقد الورقية في شجرة B على مؤشرات البيانات الفعلية.

علاوة على ذلك، ترتبط جميع العقد الورقية بقائمة مرتبطة، مما يسمح لشجرة B بدعم الوصول العشوائي والتسلسلي.

فهرس شجرة B في نظام إدارة قواعد البيانات

  • يجب أن تحتوي العقد الطرفية على ما بين 2 و 4 قيم.
  • كل مسار من الجذر إلى الورقة يكون في الغالب متساوي الطول.
  • تحتوي العقد غير الورقية، باستثناء العقدة الجذرية، على ما بين 3 و 5 عقد فرعية.
  • كل عقدة ليست جذراً أو ورقة لها ما بين n/2 و n من الأبناء.

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

مزايا الفهرسة

تتمثل المزايا المهمة للفهرسة فيما يلي:

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

عيوب الفهرسة

تتمثل العيوب الرئيسية للفهرسة فيما يلي:

  • لإجراء عملية الفهرسة، تحتاج إلى مفتاح أساسي في الجدول بقيمة فريدة.
  • لا يمكنك إنشاء فهرس آخر على البيانات التي تم تنظيمها بالفعل بنفس الطريقة.
  • غير مسموح لك بتقسيم جدول منظم بالفهرس.
  • يؤدي الفهرسة إلى انخفاض الأداء في استعلامات INSERT و DELETE و UPDATE.

الأسئلة الشائعة

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

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

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

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

يخزن الفهرس المجمع الصفوف نفسها بترتيب الفهرس، لذا لا يمكن أن يحتوي الجدول إلا على فهرس مجمع واحد. أما الفهرس غير المجمع فيحتوي على مؤشرات إلى الصفوف، لذا يمكن أن يحتوي الجدول على عدة فهارس مجمعة.

تلخيص هذه التدوينة بـ: