المفاتيح في MySQL هي العمود أو مجموعة الأعمدة المستخدمة لبناء علاقة بين جدول واحد أو أكثر. كما أنها تستخدم للوصول إلى السجلات من الجدول. يوفر كلا المفتاحين تفردًا مضمونًا لعمود أو مجموعة من الأعمدة في جدول أو علاقة. والفرق الرئيسي بينهما هو أن المفتاح الأساسي يحدد كل سجل في الجدول، والمفتاح الفريد يمنع الإدخالات المكررة في عمود باستثناء القيمة NULL . في هذه المقالة، سنقوم بمقارنة الاختلافات الأساسية بين المفاتيح الأساسية والفريدة بناءً على معلمات مختلفة. قبل إجراء المقارنة، سنناقش باختصار هذه المفاتيح.
الخريطة في الآلة الكاتبة
ما هو المفتاح الأساسي؟
المفتاح الأساسي هو أ فريدة أو غير فارغة المفتاح الذي يحدد بشكل فريد كل سجل في هذا الجدول أو العلاقة. لا يمكن لعمود المفتاح الأساسي تخزين قيم مكررة مما يعني أن قيم عمود المفتاح الأساسي فريدة دائمًا. ويسمى أيضا أ الحد الأدنى من المفتاح الفائق ; ولذلك، لا يمكننا تحديد أكثر من مفتاح أساسي في أي علاقة. يمكن الرجوع إلى عمود المفتاح الأساسي لجدول واحد بواسطة عمود المفتاح الخارجي لجدول آخر.
على سبيل المثال ، لدينا جدول اسمه طلاب بسمات مثل Stud_ID وRoll_No والاسم والجوال والبريد الإلكتروني.
هنا فقط لفة_رقم لا يمكن أن يحتوي العمود أبدًا على قيمة متطابقة وقيمة فارغة. نحن نعلم أن كل طالب لديه رقم سجل فريد. لذلك لا يمكن لطالبين أن يكون لهما نفس رقم السجل. تساعد هذه الميزة على تحديد كل سجل في قاعدة البيانات بشكل فريد. ومن ثم، يمكننا أن نجعل خاصية Roll_No مفتاحًا أساسيًا.
ميزات المفتاح الأساسي
فيما يلي الميزات الرئيسية الأساسية الأساسية:
- لا يمكن أن يحتوي عمود المفتاح الأساسي على قيم مكررة.
- ينفذ المفتاح الأساسي تكامل كيان الجدول.
- لا يمكن أن يحتوي الجدول على أكثر من عمود مفتاح أساسي واحد.
- يمكننا إنشاء المفتاح الأساسي من حقل واحد أو أكثر من حقول الجدول.
- يجب أن يحتوي عمود المفتاح الأساسي على قيود غير فارغة.
ما هو المفتاح الفريد؟
ال مفتاح فريد هو عمود واحد أو مجموعة من الأعمدة في جدول لتعريف سجلات قاعدة البيانات بشكل فريد. مفتاح فريد يمنع من التخزين القيم المكررة في العمود. يمكن أن يحتوي الجدول على عدة أعمدة مفاتيح فريدة، على عكس عمود المفتاح الأساسي. يشبه هذا المفتاح المفتاح الأساسي، فيما عدا أنه يمكن تخزين قيمة NULL واحدة في عمود المفتاح الفريد. ويسمى المفتاح الفريد أيضًا قيود فريدة من نوعها ويمكن الرجوع إليها بواسطة المفتاح الخارجي لجدول آخر.
على سبيل المثال ، فلنفكر في نفس الجدول المسمى طلاب بسمات مثل Stud_ID وRoll_No والاسم والجوال والبريد الإلكتروني.
هنا Stud_ID يمكن تعيينها كقيد فريد لأنه يجب أن يكون لكل طالب رقم تعريف فريد. إذا قام الطالب بتغيير الكلية، فلن يكون لديه أي هوية طالب. في هذه الحالة، قد يحتوي الإدخال على أ باطل القيمة لأن قيد المفتاح الفريد يسمح بتخزين NULL، لكن يجب أن يكون واحدًا فقط.
الكود الرمادي
ميزات المفتاح الفريد
فيما يلي الميزات الرئيسية الفريدة الأساسية:
- يمكننا إنشاء المفتاح الفريد من حقل واحد أو أكثر من حقول الجدول.
- يمكن للجدول تحديد عدة أعمدة مفاتيح فريدة.
- بشكل افتراضي، يوجد مفتاح فريد في فهارس فريدة غير مجمعة.
- يمكن لعمود القيد الفريد تخزين قيمة NULL، ولكن يُسمح بـ NULL واحد فقط لكل عمود.
- يمكن أن يشير المفتاح الخارجي إلى القيد الفريد في الحفاظ على تفرد الجدول.
الاختلافات الرئيسية بين المفتاح الأساسي والفريد
توضح النقاط التالية الاختلافات الرئيسية بين المفاتيح الأساسية والمفاتيح المرشحة:
جافا الأساسية جافا
- يمكن أن يشكل المفتاح الأساسي حقلاً واحدًا أو أكثر من الجدول لتحديد السجلات في الجدول بشكل فريد. من ناحية أخرى، يمنع المفتاح الفريد صفين من وجود إدخالات مكررة في عمود.
- لا يمكن أن يحتوي الجدول على أكثر من مفتاح أساسي واحد في قاعدة البيانات العلائقية، بينما يمكن أن يكون هناك عدة مفاتيح فريدة لكل جدول.
- لا يمكن أن يحتوي عمود المفتاح الأساسي على قيم NULL، بينما يمكن أن يحتوي المفتاح الفريد على قيم NULL، ولكن يُسمح بـ NULL واحد فقط في الجدول.
- يجب أن يكون المفتاح الأساسي فريدًا، ولكن لا يمكن أن يكون المفتاح الفريد بالضرورة هو المفتاح الأساسي.
- المفتاح الأساسي بشكل افتراضي هو فهرس متفاوت المسافات حيث يتم تنظيم البيانات فعليًا في فهرس تسلسلي. وفي المقابل، المفتاح الفريد هو فهرس فريد غير متفاوت المسافات.
- ينفذ المفتاح الأساسي تكامل الكيان، بينما يفرض المفتاح الفريد بيانات فريدة.
المفتاح الأساسي مقابل مخطط مقارنة المفتاح الفريد
يشرح مخطط المقارنة التالي الاختلافات الرئيسية بينهما بطريقة سريعة:
أساس المقارنة | المفتاح الأساسي | مفتاح فريد |
---|---|---|
أساسي | يتم استخدام المفتاح الأساسي كمعرف فريد لكل سجل في الجدول. | يعد المفتاح الفريد أيضًا معرفًا فريدًا للسجلات عندما لا يكون المفتاح الأساسي موجودًا في الجدول. |
باطل | لا يمكننا تخزين قيم فارغة في عمود المفتاح الأساسي. | يمكننا تخزين قيمة NULL في عمود المفتاح الفريد، ولكن يُسمح بـ NULL واحد فقط. |
غاية | إنه يفرض سلامة الكيان. | يفرض بيانات فريدة. |
فِهرِس | يقوم المفتاح الأساسي، بشكل افتراضي، بإنشاء فهرس متفاوت المسافات. | يقوم المفتاح الفريد، بشكل افتراضي، بإنشاء فهرس غير متفاوت المسافات. |
عدد المفتاح | يدعم كل جدول مفتاحًا أساسيًا واحدًا فقط. | يمكن أن يحتوي الجدول على أكثر من مفتاح فريد. |
تعديل القيمة | لا يمكننا تغيير أو حذف قيم المفتاح الأساسي. | يمكننا تعديل قيم عمود المفتاح الفريد. |
الاستخدامات | يتم استخدامه لتحديد كل سجل في الجدول. | يمنع تخزين الإدخالات المكررة في عمود باستثناء قيمة NULL. |
بناء الجملة | يمكننا إنشاء عمود مفتاح أساسي في الجدول باستخدام الصيغة التالية:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | يمكننا إنشاء عمود رئيسي فريد في الجدول باستخدام الصيغة التالية:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
خاتمة
في هذه المقالة، قمنا بإجراء مقارنة بين المفتاح الأساسي وقيود المفتاح الفريد. لقد توصلنا هنا إلى أن المفتاح الفريد يكون مفيدًا عندما نريد ألا تحتوي الأعمدة على قيم مكررة. والمفتاح الأساسي مفيد عندما لا نريد الاحتفاظ بالقيمة NULL في الجدول. يمكن أن يكون مثاليًا أيضًا عندما يكون لدينا مفتاح خارجي في جدول آخر لإنشاء علاقة بين الجداول.