# المفتاح المرشح

في النموذج العلائقي لقواعد البيانات، يكون المفتاح المُرشح (بالإنجليزية: Candidate key) للعلاقة هو الحد الأدنى للمُفتاح الأعظم أو ما يُسمى المفتاح الفائق (Superkey) ويحتوي على مجموعة فريدة من القيم في كل صف (مما يجعلها مفتاحًا فائقًا)، مع وجود قيود إضافية تتمثل في أن إزالة أي عمود قد ينتج عنه صفوف متكررة (مما يجعله مفتاحًا فائقًا صغيرًا).
قد يحتوي كل جدول على مرشح واحد أو أكثر، ويتم تحديد أحد المفاتيح المرشحة هذه كمفتاح أساسي للجدول، ويحتوي الجدول على مفتاح أساسي واحد فقط، ولكن يمكن أن يحتوي على عدة مفاتيح مرشحة. إذا كان مفتاح المرشح يتكون من عمودين أو أكثر، فإنه يطلق عليه مفتاح مُركب. يعتبر مفتاح المرشح مهم، لأنه يساعد في التعرف على أهم مفتاح في أي علاقة وهو المفتاح الأساسي (Primary Key).
يُشار إلى المفاتيح المرشحة أيضًا على أنها مفاتيح أساسية أو مفاتيح ثانوية أو مفاتيح بديلة.
تسمى الأعمدة في المفتاح المرشح سمات أولية، والعمود الذي لا يظهر في أي مفتاح مرشح يسمى سمة غير أساسية.
نظرًا لأن العلاقة لا تحتوي على صفات مكررة، فإن مجموعة الكل سماتها هي مفتاح رئيسي إذا لم يتم استخدام قيم فارغة NULL ؛ ويترتب على ذلك أن لكل علاقة مفتاح مرشح واحد على الأقل. كما هناك اعتمادية وظيفية $^{[الإنجليزية]}$ من مفتاح المرشح لجميع السمات في العلاقة.
المفاتيح المرشحة للعلاقة هي جميع الطرق الممكنة لتحديد الصف. على هذا النحو، فهي مفهوم مهم لتصميم مخطط قاعدة البيانات.

## مفتاح الأعظم والمفتاح المرشح

الاختلافات الرئيسية بين مفتاح الأعظم والمفتاح المرشح:
* تسمى السمة المفردة أو مجموعة من السمات التي يمكنها تحديد جميع سمات علاقة معينة بشكل فريد اسم المفتاح الاعظم (super). على الجانب الآخر، يدعى المفتاح الاعظم الذي هو مجموعة فرعية مناسبة من مفتاح الاعظم آخر مفتاح الترشيح.
* جميع مفاتيح المرشح هي مفاتيح فائقة ولكن العكس ليس صحيحًا.
* يتم التحقق من مجموعة المفاتيح الفائقة للعثور على مفاتيح الترشيح بينما يتم التحقق من مجموعة المفاتيح المرشحة لتحديد مفتاح أساسي واحد.
* المفاتيح الفائقة أكثر عددًا نسبيًا من المفاتيح المرشحة.

## مثال

يمكن توضيح تعريف المفاتيح المرشحة بالمثال التالي، ضع في اعتبارك العلاقة R لديها علاقتين r1 و r2 ولكل منهما السمات (A ، B ، C ، D):
r1 :
| A | B | C | D |
| a1 | b1 | c1 | d1 |
| a1 | b2 | c2 | d1 |
| a2 | b1 | c2 | d1 |
r2 :
| A | B | C | D |
| a1 | b1 | c1 | d1 |
| a1 | b2 | c2 | d1 |
| a1 | b1 | c2 | d2 |
هنا يختلف r2 عن r1 فقط في قيم A و D للصف الأخير.
بالنسبة لـ r1 ، تتمتع المجموعات التالية بخاصية التفرد، أي لا يوجد صفان لهما نفس القيم في السمات داخل المجموعة:
    {A,B}, {A,C}, {B,C}, {A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}, {A,B,C,D}
بالنسبة لـ r2 ، تتمتع المجموعات التالية أيضاً بخاصية التفرد:
    {B,C}, {B,D}, {C,D}, {A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}, {A,B,C,D}
يمكننا تحديد مجموعة المفاتيح الفائقة لـ R بأخذ تقاطع القائمتين r1 و r2:
    {B,C}, {A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}, {A,B,C,D}
أخيرًا، نحتاج إلى تحديد تلك المجموعات التي لا توجد مجموعة جزئية مناسبة لها في القائمة، وهي في هذه الحالة:
    ({B,C}, {A,B,D}, {A,C,D})
هذه هي بالفعل المفاتيح المرشحة لـ R.

## طالع أيضا

* تسوية قاعدة البيانات
* المفتاح الأساسي
* قاعدة بيانات علائقية

## مراجع

* ↑ Date، Christopher (2015). "Codd's First Relational Papers: A Critical Analysis" (PDF). warwick.ac.uk. مؤرشف من الأصل (PDF) في 2022-06-20. اطلع عليه بتاريخ 2020-01-04. Note that the extract allows a "relation" to have any number of primary keys, and moreover that such keys are allowed to be "redundant" (better: reducible). In other words, what the paper calls a primary key is what later (and better) became known as a superkey, and what the paper calls a nonredundant (better: irreducible) primary key is what later became known as a candidate key or (better) just a key.
* ↑ Saiedian, H. (1 Feb 1996). "An Efficient Algorithm to Compute the Candidate Keys of a Relational Database Schema". The Computer Journal (بالإنجليزية). 39 (2): 124–132. DOI:10.1093/comjnl/39.2.124. ISSN:0010-4620. Archived from the original on 2022-01-20.
* ↑ "الفرق بين مفتاح السوبر ومفتاح المرشح". ar.gadget-info.com. مؤرشف من الأصل في 2020-07-25. اطلع عليه بتاريخ 2020-07-25.