مفتاح SQL الأساسي: إنشاء وإضافة إلى جدول موجود
⚡ ملخص ذكي
المفتاح الأساسي في SQL Server هو عمود أو مجموعة أعمدة تحدد قيمها كل صف في الجدول بشكل فريد. يحتوي كل جدول على مفتاح أساسي واحد، ويجب ألا تكون أعمدته فارغة (NULL).

ما هو المفتاح الأساسي في SQL؟
المفتاح الأساسي في ملقم SQL هو حقل، أو مجموعة حقول، تُعرّف السجل بشكل فريد. وهو عمود أو مجموعة أعمدة تكون كل قيمة فيها فريدة. بمعنى آخر، لا يمكن لصفين أن يشتركا في نفس قيمة المفتاح الأساسي.
قواعد المفتاح الأساسي
- لا يمكن أن يحتوي كل جدول إلا على مفتاح أساسي واحد.
- جميع القيم فريدة، ويمكن لقيمة المفتاح الأساسي أن تحدد كل صف بشكل فريد.
- لن يسمح النظام بإدراج صف توجد قيمة مفتاحه الأساسي بالفعل في الجدول.
- لا يمكن أن يكون المفتاح الأساسي فارغًا (NULL).
يلخص الرسم البياني أدناه جميع النقاط المذكورة أعلاه حول المفتاح الأساسي في لغة SQL.
كيفية إنشاء مفتاح أساسي في SQL Server
يمكنك إنشاء مفتاح أساسي بطريقتين:
- مزود خدمة إدارة ستوديو
- لغة T-SQL: إنشاء المفتاح الأساسي أثناء إنشاء جدول جديد
دعونا ندرس كل طريقة بالتفصيل.
مزود خدمة إدارة ستوديو
الخطوة 1) انقر بزر الماوس الأيمن على اسم الجدول ثم انقر تصميم.
الخطوة الثانية) انقر بزر الماوس الأيمن على اسم العمود ثم انقر تعيين المفتاح الأساسي.
النتيجة: أصبح Course_Id الآن مفتاحًا أساسيًا، ويظهر ذلك من خلال رمز المفتاح الموجود بجانب العمود.
لغة T-SQL: إنشاء مفتاح أساسي أثناء إنشاء جدول جديد
فيما يلي صيغة إنشاء جدول باستخدام مفتاح أساسي من لغة T-SQL.
بناء الجملة:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
هنا، يُحدد CONSTRAINT المفتاح، ويُحدد PRIMARY KEY العمود الذي يجب أن يظل فريدًا، ويحتاج كل عمود أيضًا إلى نوع البيانات.
لنقم بإنشاء جدول يحتوي على عمود واحد كمفتاح أساسي في لغة SQL.
الاستعلام:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
الخطوة 1) قم بتشغيل الاستعلام بالنقر تنفيذ.
النتيجة: أصبح Course_Id الآن مفتاحًا أساسيًا في جدول COURSE_TSQL_PK.
مثال: دعونا نرى ما إذا كان يسمح بإدخال سجلات متعددة بنفس معرف الدورة التدريبية.
الخطوة 1) أدخل أربعة صفوف بقيم مختلفة لـ Course_ID.
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
الخطوة 2) تحقق من إدخال جميع البيانات بنجاح عن طريق تشغيل استعلام SELECT.
ملاحظة: يمكنك إدخال قيم مكررة في عمود ليس مفتاحًا أساسيًا.
الخطوة 3) الآن دعونا نحاول إدراج سجل جديد باستخدام معرف الدورة التدريبية الحالي، وهو المفتاح الأساسي.
Insert into COURSE_TSQL_PK values (4,'JAVA');
النتيجة: لا يسمح النظام بإدخال القيمة الجديدة، لأن الرقم 4 موجود بالفعل في عمود Course_ID، وهو مفتاح أساسي.
كيفية إضافة المفتاح الأساسي إلى الجدول الموجود في SQL؟
سنرى الآن كيفية إضافة مفتاح أساسي إلى جدول موجود في لغة SQL.
يمكنك استخدام عبارة ALTER لإنشاء مفتاح أساسي. مع ذلك، لا يُمكن إنشاء مفتاح أساسي إلا على الأعمدة المُعرّفة بأنها NOT NULL. لا يُمكنك إنشاء مفتاح أساسي على عمود يسمح بقيم NULL؛ إذا كان العمود يسمح حاليًا بقيم NULL، فيجب عليك أولًا تغييره إلى NOT NULL، أو حذف الجدول وإعادة إنشائه.
هنا بناء الجملة:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
فمثلا:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
لقد أضفنا قيد المفتاح الأساسي إلى جدول موجود بالفعل. تمت إضافة القيد في عمود القبول وتم تعيين الاسم للطلاب_pk.
حقائق مثيرة للاهتمام!
- يمكن أن يكون المفتاح الأساسي مزيجًا من عدة أعمدة. يُعرف هذا المزيج بالمفتاح الأساسي المركب.
- يمكن أن يحتوي المفتاح الأساسي على 16 عمودًا كحد أقصى.









