اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

2-5 المفتاح و الفهارس


الردود الموصى بها

هنا سنتحدث عن حقل المفتاح و الفهارس

أولاً المفتاح

تحديد أو الغاء تحديد خاصية المفتاح من ايقونة المفتاح التي تظهر فى الأعلي فى وضع تصميم الجداول L2-32.gif

L2-14.gif

حقل المفتاح :

ما هو ، و لماذا نستخدمه ؟؟

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

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

و المعلومة التي يتم من خلالها تعريف السجل بكل محتوياته هي ال Primary Key

و المهم فى رقم المفتاح هو الا تكرر قيمته فى أي سجل من السجلات ، و ألا يسمح بتركه بدون قيمة أي فارغ ( Null) و يمكن لحقل المفتاح أن يكون رقما أو نصاً و لكن المهم ألا يسمح بتكراره ولا بتركه بدون قيمة

و النوع الافتراضي الذي يحدده الاكسس لحقل المفتاح هو AutoNumber أي حقل تزيد قيمته تلقائيا مع ادخال أي سجل فيه ، و هو أنسب الأنواع لكي يضمن المستخدم عدم تكرار القيمة أو تركها فارغة. و بالطبع يمكن استخدام حقل من نوع آخر بحسب الحاجة.

و بذلك يكون نوع حقل المفتاح واحد من ثلاثة

حقل ترقيم تلقائي Autonumber

حقل غير متكرر و له قيمة Unique & Not Null

متعدد الحقول Multi - Field Primary Key

المفتاح متعدد الحقول ( المفتاح المركب ) :

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

فمثلا فى الشكل التالي نجد أن القيمة 102 تكررت فى الحقل الاول

و لكن ما يناظرها فى الحقل الثاني قيم مختلفة.

فكل سجل فى هذا الجدول يعرف بقيمة فريدة لكل من الحقلين معا و ليس لكل حقل علي حدة

L2-28.gif

ولكي نقوم بعمل مفتاح مركب بين الحقلين نختارهما معا فى نفس الوقت ثم نضغط علي زر المفتاح فى الايقونات العلوية

فيظهر مفتاحين امام الحقلين فى وضع التصميم ، و هذا يعني أنهما يمثلان مفتاح مركب للسجل

L2-29.gif

و الأن لنتأكد من هذا الكلام لنحاول اضافة قيمة مكررة للحقلين معا كما فى الجدول المبين

فسيرفض الاكسس قيمة السجل الاخير ( الذي يظهر امامه القلم علامة علي أنه فى وضع التحرير )

L2-30.gif

و ستظهر رسالة تدل علي رفض قبول السجل الجديد ، و هذا لتعارضه مع المفتاح المركب بين السجل الجاري اضافته و السجل الاول

L2-31.gif

و أخيرا لازالة خاصية المفتاح من حقل معين يتم ذلك بالضغط ثانية علي زر المفتاح

الفهارس

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

حقل المفتاح يكون مفهرس بصورة آلية ، و لا يمكن عمل فهرس علي حقل من نوع

(OLE(Object Linked or Enbeded

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

لذلك علينا الموازنة و استخدام الفهارس للحقول الضرورية فقط لا غير

لانشاء فهرس جديد نختار الحقل المطلوب فهرسته ، و ليكن الحقل n كما فى الشكل المقابل

ثم نتجه الي الجزء السفلي من الشاشة فى خانة indexed

و نختار أحد الخيارات الآتية :

Yes No Duplicates

أو

Duplicates OK

و الأول يعني أنه حقل مفهرس فقط

أما الثاني فيعني أنه مفهرس مع عدم السماح بتكرار القيم المدخلة

و للخيار الثاني فائدة أخري ، و هي عدم السماح بتكرار القيم أثناء إدخال البيانات

L2-62.gif

لاستعراض الفهارس الموجودة في جدول ما نختار L2-33.gif

فتظهر الشاشة التالية :

L2-61.gif

و منها نستعرض و نستطيع أن نغيير خصائص كل من حقول المفتاح و الفهارس

و نلاحظ ان الاتجاه الافتراضي للترتيب هو التصاعدي ، و بمكن تغييره بحسب الحاجة

و الآن كيف نمنع أن ندخل قيم مكررة فى حقلين مختلفين ؟ عن طريق الفهارس

نختار الحقل الاول و نختار أي اسم للفهرس الاول ، و ليكن هو نفس اسم الحقل ( n ) ثم نتجه للعامود الثاني و نختار اسم الحقل

ثم نختار اصف الثاني و ننتقي الحقل من العمود الثاني فيه بدون تحديد اسم

ثم نرجع الي الحقل الاول و نغير خاصية Unique الي Yes

L2-63.gif

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

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

  • Thanks 2
رابط هذا التعليق
شارك

  • 16 years later...

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

رابط هذا التعليق
شارك

  • 1 year later...
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information