مفتاح المرشح
المفتاح المرشح ، أو ببساطة المفتاح ، لقاعدة البيانات العلائقية هو أي مجموعة من الأعمدة التي تحتوي على مجموعة فريدة من القيم في كل صف، مع القيد الإضافي المتمثل في أن إزالة أي عمود يمكن أن ينتج عنه مجموعات مكررة من القيم.
المفتاح المرشح هو مفتاح فائق مصغر ، [ 1 ] أي مفتاح فائق لا يحتوي على مفتاح أصغر منه. لذلك، يمكن أن تحتوي العلاقة على عدة مفاتيح مرشحة، لكل منها عدد مختلف من السمات. [ 2 ]
تُسمى مفاتيح المرشح المحددة أحيانًا بالمفاتيح الأساسية أو المفاتيح الثانوية أو المفاتيح البديلة . تُسمى الأعمدة في مفتاح المرشح بالسمات الأساسية ، [ 3 ] ويُسمى العمود الذي لا يظهر في أي مفتاح مرشح بالسمات غير الأساسية .
كل علاقة بدون قيم فارغة سيكون لها مفتاح مرشح واحد على الأقل: بما أنه لا يمكن أن تكون هناك صفوف مكررة، فإن مجموعة جميع الأعمدة هي مفتاح فائق، وإذا لم يكن ذلك الحد الأدنى، فستكون هناك مجموعة فرعية من ذلك الحد الأدنى.
توجد تبعية وظيفية من المفتاح المرشح إلى جميع السمات في العلاقة.
المفاتيح الفائقة للعلاقة هي جميع الطرق الممكنة لتحديد صف معين. أما المفاتيح المرشحة فهي أصغر مجموعة فرعية من كل مفتاح فائق، ولذلك فهي مفهوم مهم لتصميم مخطط قاعدة البيانات .
مثال
يمكن توضيح تعريف المفاتيح المرشحة بالمثال (المجرد) التالي. لنفترض متغير علاقة ( relvar ) R ذو سمات ( A ، B ، C ، D ) والذي لا يحتوي إلا على القيمتين القانونيتين التاليتين r1 و r2 :
| أ | ب | ج | د |
|---|---|---|---|
| أ1 | ب1 | ج1 | د1 |
| أ1 | ب2 | ج2 | د1 |
| أ2 | ب1 | ج2 | د1 |
| أ | ب | ج | د |
|---|---|---|---|
| أ1 | ب1 | ج1 | د1 |
| أ1 | ب2 | ج2 | د1 |
| أ1 | ب1 | ج2 | د2 |
هنا يختلف r2 عن r1 فقط في قيم A و D للصف الأخير.
بالنسبة لـ r1، تتمتع المجموعات التالية بخاصية التفرد، أي أنه لا يوجد صفان مختلفان في المثال لهما نفس قيم السمات في المجموعة:
- {أ، ب}، {أ، ج}، {ب، ج}، {أ، ب، ج}، {أ، ب، د}، {أ، ج، د}، {ب، ج، د}، {أ، ب، ج، د}
بالنسبة لـ r2، تنطبق خاصية التفرد على المجموعات التالية؛
- {ب، ج}، {ب، د}، {ج، د}، {أ، ب، ج}، {أ، ب، د}، {أ، ج، د}، {ب، ج، د}، {أ، ب، ج، د}
بما أن المفاتيح الفائقة لمتغير علائقي هي مجموعات السمات التي تتمتع بخاصية التفرد لجميع القيم القانونية لهذا المتغير، ولأننا نفترض أن r1 و r2 هما جميع القيم القانونية التي يمكن أن يأخذها R ، فيمكننا تحديد مجموعة المفاتيح الفائقة لـ R عن طريق أخذ تقاطع القائمتين:
- {ب، ج}، {أ، ب، ج}، {أ، ب، د}، {أ، ج، د}، {ب، ج، د}، {أ، ب، ج، د}
وأخيرًا، نحتاج إلى تحديد تلك المجموعات التي لا يوجد لها مجموعة فرعية مناسبة في القائمة، وهي في هذه الحالة:
- {ب، ج}، {أ، ب، د}، {أ، ج، د}
هذه هي بالفعل المفاتيح المرشحة لـ relvar R.
علينا مراعاة جميع العلاقات التي يمكن إسنادها إلى متغير العلاقة لتحديد ما إذا كانت مجموعة معينة من السمات مفتاحًا مرشحًا. على سبيل المثال، لو اقتصرنا على العلاقة r1 فقط ، لاستنتجنا أن {A,B} مفتاح مرشح، وهذا غير صحيح. مع ذلك، قد نستنتج من هذه العلاقة أن مجموعة معينة ليست مفتاحًا مرشحًا، لأنها لا تتمتع بخاصية التفرد (مثال: {A,D} للعلاقة r1 ). تجدر الإشارة إلى أن وجود مجموعة جزئية فعلية من مجموعة تتمتع بخاصية التفرد لا يُعدّ دليلًا قاطعًا على أن المجموعة الكلية ليست مفتاحًا مرشحًا. على وجه الخصوص، في حالة العلاقة الفارغة، تتمتع كل مجموعة جزئية من العنوان بخاصية التفرد، بما في ذلك المجموعة الفارغة نفسها.
تحديد المفاتيح المرشحة
يمكن حساب مجموعة جميع المفاتيح المرشحة، على سبيل المثال، من مجموعة التبعيات الوظيفية . ولتحقيق هذه الغاية، نحتاج إلى تعريف إغلاق السمة.لمجموعة سماتالمجموعةيحتوي على جميع السمات التي تتضمنها وظيفيًا.
من السهل جدًا إيجاد مفتاح مرشح واحد. نبدأ بمجموعةمن السمات، حاول إزالة كل سمة على حدة. إذا بقي إغلاق السمة كما هو بعد إزالتها، فهذا يعني أن هذه السمة غير ضرورية ويمكننا إزالتها نهائيًا. نسمي النتيجة. لوإذا كانت مجموعة جميع السماتهو مفتاح مرشح.
في الواقع، يمكننا اكتشاف كل مفتاح مرشح باستخدام هذه العملية ببساطة عن طريق تجربة كل ترتيب ممكن لإزالة السمات. ومع ذلك، هناك العديد من التباديل الأخرى للسمات () من المجموعات الفرعية (). أي أن العديد من ترتيبات السمات ستؤدي إلى نفس المفتاح المرشح.
توجد صعوبة جوهرية أمام الخوارزميات الفعالة لحساب المفاتيح المرشحة: فبعض مجموعات التبعيات الوظيفية تؤدي إلى عدد هائل من المفاتيح المرشحة. لنأخذ على سبيل المثال...التبعيات الوظيفية مما ينتج عنهمفاتيح المرشحين: أي أن أفضل ما يمكننا توقعه هو خوارزمية تتسم بالكفاءة فيما يتعلق بعدد المفاتيح المرشحة.
تعمل الخوارزمية التالية في وقت متعدد الحدود بالنسبة لعدد المفاتيح المرشحة والتبعيات الوظيفية: [ 4 ]
دالة البحث عن المفاتيح المرشحة (A، F) /* A هي مجموعة جميع السمات و F هي مجموعة التبعيات الوظيفية */ K[0] := minimize(A); n := 1; /* عدد المفاتيح المعروفة حتى الآن */ i := 0; /* المفتاح الذي تتم معالجته حاليًا */ بينما i < n ، لكل α → β ∈ F، نفّذ /* إنشاء مفتاح محتمل جديد من المفتاح المعروف السابق والملف الحالي */ S := α ∪ (K[i] − β); /* ابحث عما إذا كان المفتاح المحتمل الجديد جزءًا من المفاتيح المعروفة بالفعل */ تم العثور على := خطأ؛ for j := 0 to n-1 do if K[j] ⊆ S then found := true; /* إذا لم يكن موجودًا، فأضفه */ إذا لم يتم العثور عليه K[n] := minimize(S); n := n + 1; i := i + 1 إرجاع K
الفكرة وراء الخوارزمية هي أنه عند إعطاء مفتاح مرشح والاعتماد الوظيفي، ويؤدي تطبيق التبعية الوظيفية بشكل عكسي إلى المجموعة وهو مفتاح أيضًا. مع ذلك، قد يكون مُغطى بمفاتيح مرشحة أخرى معروفة مسبقًا. (تتحقق الخوارزمية من هذه الحالة باستخدام المتغير "found"). إذا لم يكن كذلك، فإن تقليل المفتاح الجديد يُنتج مفتاحًا مرشحًا جديدًا. الفكرة الأساسية هي أنه يمكن إنشاء جميع المفاتيح المرشحة بهذه الطريقة.
انظر أيضاً
- المفتاح البديل ، هو مفتاح لم يتم اختياره كمفتاح أساسي من بين المفاتيح المرشحة لعلاقة ما
- مفتاح مركب
- تطبيع قاعدة البيانات
- المفتاح الأساسي
- قاعدة بيانات علائقية
- مفتاح فائق
- المُتضمن الأولي هو المفهوم المقابل للمفتاح المرشح في المنطق البولياني
مراجع
- ↑ ديت، كريستوفر (2015). "أوراق كود العلائقية الأولى: تحليل نقدي" (ملف PDF) . warwick.ac.uk . تاريخ الاسترجاع: 4 يناير 2020.
تجدر الإشارة إلى أن المقتطف يسمح للعلاقة بامتلاك أي عدد من المفاتيح الأساسية، بل ويسمح بأن تكون هذه المفاتيح "زائدة" (أو بالأحرى: قابلة للاختزال ). بعبارة أخرى، ما يُطلق عليه في الورقة البحثية مفتاحًا أساسيًا هو ما أصبح يُعرف لاحقًا (وبشكل أدق) بالمفتاح الفائق ، وما يُطلق عليه في الورقة البحثية مفتاحًا أساسيًا غير زائد (أو بالأحرى: غير قابل للاختزال ) هو ما أصبح يُعرف لاحقًا بالمفتاح المرشح أو (بشكل أدق) ببساطة مفتاح .
- ↑ "قاعدة البيانات - هل يمكن أن تحتوي العلاقة على مفاتيح مرشحة بأطوال مختلفة؟" . ستاك أوفرفلو . تم الاسترجاع في 23-03-2023 .
- ↑ سعيديان، ح. (1996-02-01). "خوارزمية فعّالة لحساب المفاتيح المرشحة لمخطط قاعدة بيانات علائقية" . مجلة الحاسوب . 39 (2): 124-132 . doi : 10.1093/comjnl/39.2.124 . ISSN 0010-4620 .
- ↑ ل. لوتشيسي، كلاوديو؛ أوزبورن، سيلفيا ل. (أكتوبر 1978). "المفاتيح المرشحة للعلاقات". مجلة علوم الحاسوب والنظم . 17 (2): 270-279 . doi : 10.1016/0022-0000(78)90009-0 .
- ديت، كريستوفر (2003). "5: النزاهة". مقدمة في أنظمة قواعد البيانات . أديسون-ويسلي. ص 268-276 . ISBN 978-0-321-18956-1.
روابط خارجية
- أنظمة إدارة قواعد البيانات العلائقية - تصميم قواعد البيانات - المصطلحات المرجعية - المفاتيح : نظرة عامة على الأنواع المختلفة من المفاتيح في نظام إدارة قواعد البيانات العلائقية (RDBMS).
- نمذجة البيانات
- النموذج العلائقي
- أنظمة إدارة قواعد البيانات
