کلید اصلی در SQL

sql primary key guide
11 آذر 1403

در دنیای پایگاه داده، مدیریت داده‌ها به صورت یکپارچه و منحصر به فرد بسیار اهمیت دارد. یکی از مفاهیم پایه‌ای که به ما کمک می‌کند تا داده‌هایمان نظم داشته باشند و بتوانیم به راحتی به آنها دسترسی پیدا کنیم، کلید اصلی یا همان Primary Key است. کلید اصلی به گونه‌ای طراحی شده است که مطمئن شویم هر سطر در جدول پایگاه داده ما منحصر به فرد است و هیچ تکراری در آنها وجود ندارد.

کلید اصلی ابزاری است که معمولا از یک یا چند ستون ترکیب می‌شود تا هر رکورد را به صورت منحصر به فرد شناسایی کند. برای مثال، اگر شما یک جدول دارید که اطلاعات کارمندان یک شرکت را ذخیره می‌کند، می‌توانید یک شماره کارمند منحصر به فرد به هر کدام اختصاص دهید که به عنوان کلید اصلی عمل کند.

مهم است که بدانید ستون‌هایی که به عنوان کلید اصلی انتخاب می‌شوند، باید دارای مقادیر غیر تکراری و غیرNull باشند. این به معنای آن است که هیچ سطری نباید وجود داشته باشد که ارزش این ستون‌ها خالی (یا Null) باشد و هیچ دو سطری نباید مقادیر یکسانی در این ستون‌ها داشته باشند.

استفاده از کلیدهای اصلی در جداول پایگاه داده به ما کمک می‌کند تا از ورود داده‌های تکراری جلوگیری کنیم و از یکپارچگی داده‌های خود محافظت کنیم. همچنین، این ویژگی به طور قابل توجهی در بهبود سرعت جستجو و دسترسی به داده‌ها موثر است، زیرا سیستم پایگاه داده به طور موثر می‌تواند رکوردها را بر اساس کلید اصلی شناسایی کند.

حال بیایید به یک مثال ساده از نحوه تعریف کلید اصلی در SQL نگاهی بیندازیم:


CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    DateOfBirth DATE
);

خط اول: استفاده از دستور CREATE TABLE برای ایجاد یک جدول جدید با نام Employees.
خط دوم: تعریف ستون EmployeeID با نوع داده‌ای INT و علامت‌گذاری آن به عنوان PRIMARY KEY که از تکرار جلوگیری می‌کند.
خط سوم: اضافه کردن ستون FirstName با نوع داده‌ای VARCHAR و طول ۵۰ کاراکتر برای ذخیره‌سازی نام‌های اول.
خط چهارم: اضافه کردن ستون LastName با نوع داده‌ای VARCHAR و طول ۵۰ کاراکتر برای ذخیره‌سازی نام‌های خانوادگی.
خط پنجم: تعریف ستون DateOfBirth با نوع داده‌ای DATE برای ثبت تاریخ تولد افراد.

سوالات متداول

؟

کلید اصلی در SQL چه کاربردی دارد؟

؟

آیا می‌توان بیش از یک کلید اصلی در یک جدول داشت؟

؟

آیا کلید اصلی می‌تواند مقدار Null داشته باشد؟