اذهب إلى المحتوى
  • 0

هل الفهرس يكون مفتاح رئيسي في قاعدة البيانات Oracle

Asma'a

السؤال

Recommended Posts

  • 0

سنذهب في جولة في الفهرس! 
ما هو الفهرس؟

لو أردنا مثلا أن نبحث عن اسم شخص في جدول الأشخاص Persons عبر استخدام الجملة التالية:

SELECT * FROM Persons WHERE First_Name = "أحمد";

فإن نظام إدارة قاعدة البيانات سيمرّ على كل السجلات الموجودة في الجدول لترشيح السجلات وإرجاع تلك التي توافق الشرط في جملة where.

ستظهر لنا مشكلة الوقت اللازم لتنفيذ جملة الاستعلام – وتزداد -كلما زاد عدد السجلات في الجدول، فلو كان لدينا مثلا مليون سجل في الجدول Persons، ولنفترض جدلاً أن النظام باستطاعته المرور على 10 آلاف سجل في الثانية، فإننا بحاجة إلى 100 ثانية لتنفيذ جملة الاستعلام السابقة.

لحل المشكلة السابقة، فإن نُظم إدارة قواعد البيانات تقدم خاصية الفَهْرَسة.

الفَهْرَسة هي ببساطة عبارة عن مؤشر يحتوي على نسخة من جزء من البيانات في الجدول، بحيث تقوم هذه النسخة من البيانات بمهمة “الدليل” أو “المُؤَشّر” الذي يسرع الوصول إلى البيانات الأصلية الكاملة الموجودة في الجدول، بحيث لا تحتاج المرور الكامل على كل الجدول (No Full Table Scan) عند البحث عن البيانات.

يكون الفهرس في أغلب أنظمة إدارة قواعد البيانات من نوع “B-Tree” ويأتي هذا الاسم من بنية البيانات Data structure التي تحمل نفس الاسم، وهو المفضل لأن تُطبقه على العمود الذي يحتوي قيمًا متنوعة وكثيرة مثل الرقم القومي للشخص، وليس من المفضل أن تطبق فهرس “B-Tree” على العمود الذي يحتوي عددًا قليلًا من القيم.

 

ruseindxa.gif

Structure-of-an-Index-in-Database.jpg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

نعم يعتبر المفتاح الأساسي  index  وذلك لأن المفتاح الأساسي هو كائن منطقي. وأقصد  بذلك أن هذا ببساطة يحدد مجموعة من الخصائص في عمود واحد أو مجموعة من الأعمدة للمطالبة بأن تكون الأعمدة التي يتكون منها المفتاح الأساسي فريدة (unique) من نوعها وألا يكون أي منها فارغًا ( null). و نظرًا لأنها  المفاتيح الأساسية تكون فريدة  ولا تكون فارغة  ، ويمكن استخدام هذه القيم التي بداخلها لتحديد صف واحد في الجدول في كل مرة. في معظم أنظمة وبهذا سيكون للمفتاح الأساسي فهرس تم إنشاؤه عليه.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...