شارك المقالة

الفرق بين ال unique وال primary key في constraint الداتا بيز

الفرق بين ال 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:

  1. ضمان عدم وجود صفين لهما نفس القيمة في عمود primary key.
  2. تسريع عمليات البحث في الجدول.
  3. تسهيل ربط الجداول المختلفة.


مثال حول 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)
)
شاهد أيضًا
مقالات ذات صلة
اضافة Side Navigation Bar لمواقع الويب باستخدام فلاتر

اضافة Side Navigation Bar لمواقع الويب باستخدام فلاتر في هذا المقال نشرح لكم كيف تقوم…

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

  إدارة الحالة (State Management) من أهم التحديات في تطوير تطبيقات Flutter، خصوصًا عند الحاجة…

معرفة المده الزمنيه التي يستغرقها المستخدم داخل تطبيقك في flutter

معرفة المده الزمنيه التي يستغرقها المستخدم داخل تطبيقك في flutter قياس مدة بقاء المستخدم في…

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع