مفتاح فريد

في أنظمة إدارة قواعد البيانات العلائقية ، يُعتبر المفتاح الفريد مفتاحًا مرشحًا . جميع المفاتيح المرشحة في العلاقة تُحدد سجلاتها بشكل فريد، ولكن يُستخدم واحد منها فقط كمفتاح أساسي. تُسمى المفاتيح المرشحة المتبقية بالمفاتيح الفريدة لأنها تُحدد كل سجل في العلاقة بشكل فريد. يمكن أن تتكون المفاتيح الفريدة من عدة أعمدة، وتُسمى أيضًا بالمفاتيح البديلة . تُعد المفاتيح الفريدة بديلًا للمفتاح الأساسي في العلاقة. في لغة SQL، تُفرض UNIQUEقيود على المفاتيح الفريدة لمنع التكرار (لا يُسمح بإدخال بيانات مكررة في عمود فريد). يمكن استخدام المفاتيح البديلة كمفتاح أساسي عند إجراء استعلام على جدول واحد أو عند استخدام شرط WHERE للتصفية ، ولكنها لا تُستخدم عادةً لربط عدة جداول.

ملخص

تُتيح المفاتيح لمستخدمي قواعد البيانات وبرامج التطبيقات تحديد المعلومات في جداول قاعدة البيانات والوصول إليها وتحديثها. قد يحتوي أي جدول على عدة مفاتيح. على سبيل المثال، في جدول الموظفين، يكون كل من رقم الموظف واسم المستخدم فريدًا. يُعدّ تطبيق قيود المفاتيح (أي قيود التفرد) في الجدول ميزةً من ميزات سلامة البيانات في قاعدة البيانات. يمنع نظام إدارة قواعد البيانات التحديثات التي قد تُؤدي إلى تكرار قيم المفاتيح، وبالتالي يضمن امتثال الجداول دائمًا لقواعد التفرد المطلوبة. لذا، يُعدّ اختيار المفاتيح المناسبة عند تصميم قاعدة البيانات جانبًا مهمًا من جوانب سلامة قاعدة البيانات.

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

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

توجد عدة أنواع من المفاتيح المستخدمة في تصميم قواعد البيانات وتنفيذها.

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

في أبسط تعريف، "المفتاح هو مُعرِّف فريد" [ 1 ] ، لذا فإن عبارة "مفتاح فريد " تُعدّ تكرارًا . المفاتيح الموجودة ضمن الكيان الأصلي تكون فريدة ضمن ذلك الكيان. أما المفاتيح التي تنتقل إلى كيان آخر، فقد تكون فريدة أو غير فريدة، وذلك بحسب تصميم الجدول الآخر وكيفية استخدامها فيه. قد تكون المفاتيح الخارجية هي المفتاح الأساسي في جدول آخر؛ على سبيل المثال، قد يصبح مُعرِّف الشخص (PersonID) هو مُعرِّف الموظف (EmployeeID) في جدول الموظفين (Employee). في هذه الحالة، يكون مُعرِّف الموظف (EmployeeID) مفتاحًا خارجيًا ومفتاحًا أساسيًا فريدًا في آنٍ واحد، مما يعني أن الجدولين تربطهما علاقة واحد لواحد. في حالة احتواء كيان الشخص على مُعرِّف الأب البيولوجي، فمن غير المتوقع أن يكون مُعرِّف الأب فريدًا لأن الأب قد يكون لديه أكثر من طفل.

فيما يلي مثال على تحوّل المفتاح الأساسي إلى مفتاح خارجي في جدول مرتبط. ينتقل المعرّف من جدول المؤلفين إلى جدول الكتب.

مخطط جدول المؤلفين :المؤلف ( الهوية ، الاسم ، العنوان ، تاريخ الميلاد )مخطط جدول الكتب :الكتاب ( ISBN ، معرف المؤلف ، العنوان ، الناشر ، السعر )

يُستخدم المعرّف (ID) هنا كمفتاح أساسي في جدول "المؤلف"، كما يُستخدم أيضًا كمفتاح خارجي في جدول "الكتاب". يعمل المفتاح الخارجي كرابط، وبالتالي كحلقة وصل، بين الجدولين المرتبطين في قاعدة البيانات النموذجية هذه.

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

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

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

تعريف المفاتيح في لغة SQL

تعريف المفاتيح في لغة SQL:

ALTER TABLE < معرف الجدول > ADD [ CONSTRAINT < معرف القيد > ] { PRIMARY KEY | UNIQUE } ( < اسم العمود > [ { , < اسم العمود > } ... ] )

وبالمثل، يمكن تعريف المفاتيح كجزء من CREATE TABLEعبارة SQL.

إنشاء جدول table_name ( id_col INT , col2 CHARACTER VARYING ( 20 ), key_col SMALLINT NOT NULL , ... CONSTRAINT key_unique UNIQUE ( key_col ), ... )
إنشاء جدول table_name ( id_col INT PRIMARY KEY , col2 CHARACTER VARYING ( 20 ), ... key_col SMALLINT NOT NULL UNIQUE , ... )

الاختلافات بين قيد المفتاح الأساسي وقيد المفتاح الفريد

قيد المفتاح الأساسي

  1. لا يمكن للمفتاح الأساسي أن يسمح بقيم فارغة (لا يمكن تعريف المفتاح الأساسي على الأعمدة التي تسمح بقيم فارغة).
  2. لا يمكن أن يحتوي كل جدول على أكثر من مفتاح أساسي واحد.
  3. في بعض أنظمة إدارة قواعد البيانات العلائقية، يقوم المفتاح الأساسي بإنشاء فهرس مجمع بشكل افتراضي.

قيد فريد

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

لاحظ أنه على عكس قيد المفتاح الأساسي، فإن قيد UNIQUE لا يعني بالضرورة عدم السماح بقيم فارغة (NOT NULL) للأعمدة المشاركة فيه. يجب تحديد NOT NULL لجعل العمود (أو الأعمدة) مفتاحًا. من الممكن وضع قيود UNIQUE على الأعمدة التي تقبل القيم الفارغة، ولكن معيار SQL ينص على أن هذا القيد لا يضمن تفرد هذه الأعمدة (لا يتم فرض التفرد على الصفوف التي تحتوي أي من أعمدتها على قيمة فارغة).

وفقًا لمعيار SQL [ 2 ] ، لا يفرض قيد التفرد التفرد في وجود القيم الفارغة، وبالتالي يمكن أن يحتوي على عدة صفوف ذات تركيبات متطابقة من القيم الفارغة وغير الفارغة - ومع ذلك، لا تُطبّق جميع أنظمة إدارة قواعد البيانات العلائقية هذه الميزة وفقًا لمعيار SQL. [ 3 ] [ 4 ]

انظر أيضاً

مراجع

  1. عوض، إلياس (1985)، تحليل وتصميم النظم، الطبعة الثانية ، ريتشارد د. إروين، رقم ISBN 0-256-02824-9
  2. ملخص لغة SQL الخاصة بمعايير ANSI/ISO/IEC، مؤرشف بتاريخ 25 أبريل 2012، على موقع Wayback Machine
  3. "القيود - مواد مرجعية لقواعد بيانات SQL - تعلّم لغة SQL، واقرأ دليل SQL، واتبع برنامجًا تعليميًا لـ SQL، أو تعلّم كيفية هيكلة استعلام SQL!" . www.sql.org . تم الاطلاع عليه بتاريخ 16 أغسطس 2018 .
  4. "مقارنة بين تطبيقات SQL المختلفة" . troels.arvin.dk . تم الاطلاع عليه بتاريخ 16 أغسطس 2018 .