SQL PRIMARY KEY Constraint

در SQL از PRIMARY KEY Constraint برای شناسایی منحصربه‌فرد هر رکورد در جدول استفاده می‌کنیم.
هر جدول فقط یک کلید اصلی (Primary Key) می‌تونه داشته باشه که مقدارش همیشه یکتا (UNIQUE) و غیرخالی (NOT NULL) است.

🔹 ساختار کلی

CREATE TABLE table_name ( column_name datatype PRIMARY KEY, ... );

🔹 مثال ساده

CREATE TABLE Students ( StudentID INT PRIMARY KEY, FullName VARCHAR(100), Age INT );

📌 توضیح:
ستون StudentID کلید اصلی جدوله، یعنی:

  • مقدارش نباید تکراری باشه.

  • نباید خالی (NULL) باشه.

🔹 مثال با نام‌گذاری Constraint

CREATE TABLE Students ( StudentID INT, FullName VARCHAR(100), CONSTRAINT pk_StudentID PRIMARY KEY (StudentID) );

📌 در اینجا نام محدودیت pk_StudentID تعیین شده تا بعداً قابل شناسایی یا حذف باشه.

🔹 کلید اصلی ترکیبی (Composite Primary Key)

می‌تونیم بیش از یک ستون رو با هم به‌عنوان کلید اصلی مشخص کنیم.

CREATE TABLE Enrollments ( StudentID INT, CourseID INT, CONSTRAINT pk_enrollment PRIMARY KEY (StudentID, CourseID) );

📌 توضیح:
هر دانشجو می‌تونه در چند درس ثبت‌نام کنه،
اما ترکیب StudentID + CourseID باید یکتا باشه.

🔹 افزودن PRIMARY KEY به جدول موجود

ALTER TABLE Students ADD CONSTRAINT pk_StudentID PRIMARY KEY (StudentID);

🔹 حذف PRIMARY KEY

ALTER TABLE Students DROP CONSTRAINT pk_StudentID;

🔹 نکات مهم

  • هر جدول فقط یک PRIMARY KEY می‌تونه داشته باشه.

  • کلید اصلی به‌طور خودکار NOT NULL و UNIQUE است.

  • در MySQL، ستون‌های AUTO_INCREMENT معمولاً به‌عنوان کلید اصلی تعریف می‌شن.

  • انتخاب کلید اصلی درست باعث افزایش سرعت جستجو و ارتباط بین جداول میشه.