الفرق بين ال unique وال primary key في constraint الداتا بيز:
الفرق الاساسي بينهم هو يمكن أن يكون هناك مفتاح أساسي (primary key) واحد فقط في الجدول ولكن يمكن أن يكون هناك العديد من المفاتيح الفريدة في الجدول (unique key) وايضا يتم إنشاء فهرس افتراضي تلقائيًا للمفتاح الأساسي و يتم إنشاء فهرس افتراضي تلقائيًا للمفتاح الفريد وكلاهم يستعملان بشكل رئيسي في قواعد البينات التي تدخل في برمجة وتصميم المواقع وايضا إنشاء تطبيقات الجوال
1️⃣ Unique Constraint:
- تميز كل صف (row) بشكل فريد: لا يمكن أن يكون هناك صفان لهما نفس القيمة في عمود (column) محدد.
- يمكن أن يكون هناك أكثر من عمود فريد في الجدول (table).
- قيمة unique يدخلها المستخدم.
- يمكن أن تكون قيمة العمود الفريد null في برمجة تصميم المواقع
2️⃣ Primary Key:
- هي أيضًا تُميز كل صف بشكل فريد.
- تُؤخذ خاصية unique constraint تلقائيًا عند تحديد عمود كـ primary key.
- لا يدخل المستخدم قيمة primary key.
- لا يمكن أن تكون قيمة primary key null.
- لا يمكن أن يكون هناك أكثر من primary key في الجدول
الخلاصة:
ال unique constraint يُستخدم لجعل عمود واحد أو أكثر فريدًا.
ال primary key هو عمود فريد يُستخدم لربط الصفوف في الجداول المختلفة.
ملاحظة:
يمكن استخدام unique constraint و primary key معًا.
يُفضل استخدام primary key لربط الجداول.
أمثلة حول primary و unique
رقم القومي: يمكن استخدامه كـ primary key لجدول المستخدمين.
رقم الهاتف: يمكن استخدامه كـ unique constraint لجدول المستخدمين.
فوائد استخدام primary key:
- ضمان عدم وجود صفين لهما نفس القيمة في عمود primary key.
- تسريع عمليات البحث في الجدول.
- تسهيل ربط الجداول المختلفة.
مثال حول primary و unique في الكود
CREATE TABLE Employee
(
ID int PRIMARY KEY,
Name varchar(255),
City varchar(150)
)
CREATE TABLE Employee
(
ID int UNIQUE.
Name varchar(255) NOT NULL. City varchar(150)
)