السلام عليكم ورحمة الله
تعلمت مفهوم ال Primary Key و Foreign key لكن وجدت هذا الكود ولم افهم لماذا تم وضع قيمة. Constraint وما بعدها:
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
يتم إنشاء مفتاح أساسي (primary key) يتكون من عمودين، وهما "ID" و "LastName"، ويُستخدم المفتاح الأساسي لتعيين تعريف فريد لكل صف في الجدول.
ويُستخدم تعبير "CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)" لإنشاء مفتاح أساسي باسم "PK_Person"، ويتكون المفتاح الأساسي من عمودين، وهما "ID" و "LastName" حيث يجب أن تكون قيم الأعمدة في المفتاح الأساسي فريدة لكل صف في الجدول.
وسيكون لكل صف في الجدول قيمة فريدة في عمود "ID" وقيمة فريدة في عمود "LastName" مما سيسمح للمفتاح الأساسي بتحديد تعريف فريد لكل صف في الجدول.
وسبب وضع قيمة "Constraint" بعد تعبير "PRIMARY KEY"، هو أن "Constraint" مصطلح عام يُستخدم لوصف أي قيد يتم تطبيقه على جدول، أي يتم تطبيق قيد المفتاح الأساسي على الجدول.
أولاً أعتقد أن تعلمت أن القيد الأساسي هو قيد يضمن أن كل صف في جدول البيانات يحتوي على قيمة فريدة في عمود معين أو مجموعة من الأعمدة.
بالنسبة للكود في السؤال الذي قدمته، القيد الأساسي يضمن أن كل صف في جدول البيانات يحتوي على قيمة فريدة في عمودين، وهما ID و LastName.
عبارة "قيمة. Constraint" هي عبارة اختيارية يمكن استخدامها لتحديد اسم للقيد الأساسي. في الكود الذي قدمته، الاسم المحدد هو PK_Person. يمكن استخدام اسم القيد الأساسي لسهولة التعرف عليه.
توضيحاً:
نفترض أن لدينا جدول بيانات يسمى Persons يحتوي على :
عندما يكون لدينا صفين في جدول Persons لهما نفس القيمة في عمود ID وعمود LastName:
ID | LastName | FirstName ---|---|---| 1 | محمد | أحمد 1 | محمد | خالد
إذا كان لدينا قيد أساسي على عمود ID وعمود LastName كما في الكود الذي قدمته، فسيتم حذف الصف الثاني.
التعليقات