🎁 تخفیف ویژه تمامی دوره های آموزشی 🎁

کلید اصلی (Primary Key) در SQL Server

در این بخش یاد خواهید گرفت که کلید اصلی (primary key) چیست و چگونه آن را در یک جدول جدید یا موجود در پایگاه داده SQL Server ایجاد کنید.

کلید اصلی (Primary Key) در SQL Server

کلید اصلی در SQL Server

در این بخش شما یاد خواهید گرفت که کلید اصلی (primary key) چیست و چگونه آن را در یک جدول جدید یا موجود در پایگاه داده SQL Server ایجاد کنید.

کلید اصلی چیست؟

در SQL Server، یک primary key محدودیتی است که به طور منحصر به فرد هر ردیف را در جدول شناسایی می کند. کلید اصلی باعث ایجاد یکپارچگی داده ها در جداول می شود.

نکات زیر را در رابطه با کلید اصلی مورد توجه قرار دهید:

1 - یک جدول می تواند فقط یک کلید اصلی داشته باشد.

2 - یک کلید اصلی را می توان بر روی یک ستون یا ترکیبی از چندین ستون که به عنوان کلید اصلی ترکیبی (composite primary key) شناخته می شود، تعریف کرد.

3 - یک کلید اصلی نباید از 16 ستون و طول کلی 900 بایت تجاوز کند.

4 - کلید اصلی به طور منحصر به فرد هر ردیف را در جدول شناسایی می کند. primary key اغلب در ستون identity تعریف می شود.

5 - ستون کلید اصلی اجازه مقادیر NULL یا تکراری را نمی دهد. اگر سعی کنید این کار را انجام دهید یک خطا ایجاد می شود.

6 - تمام ستون های تعریف شده به صورت کلید اصلی باید به عنوان ستون NOT NULL تعریف شوند.

7 - اگر خوشه ای (clustered) یا غیرخوشه ای (nonclustered) مشخص نشده باشد، سپس اگر ایندکس خوشه ای در جدول وجود نداشته باشد، یک ایندکس خوشه ای منحصر به فرد برای ستون کلید اصلی ایجاد می شود. این امر باعث می شود هر زمان که ستون کلید اصلی در کویری گنجانده شود، داده ها سریعتر بازیابی شوند.

کلید اصلی را می توان به دو روش در SQL Server ایجاد کرد:

1 - با استفاده از T-SQL

2 – با استفاده از SSMS یا SQL Server Management Studio

ایجاد کلید اصلی با استفاده از T-SQL

یک کلید اصلی را می توان در اسکریپت T-SQL ایجاد جدول پیکربندی کرد. دستور CONSTRAINT را در پایان تعریف تمام ستون ها اضافه کنید.

ایجاد کلید اصلی با استفاده از  T-SQL

نام کلید اصلی باید در قالب PK TableName ColumnName باشد تا به راحتی شناسایی شود.

کوئری زیر یک جدول Employee جدید ایجاد می کند و یک کلید اصلی بر روی ستون Employee ID تعریف می کند.

ایجاد کلید اصلی در جداول

اگر می خواهید چندین ستون را به عنوان کلید اصلی تعریف کنید، نام ستون ها را در پرانتز مشخص کنید. در مثال زیر EmployeeID و ManagerID به عنوان کلید اصلی در نظر گرفته شده اند .

کلید اصلی (primary key)

اگر یک کلید اصلی حاوی بیش از یک ستون باشد، مقادیر تکراری در یک ستون مجاز است، اما هر ترکیبی از مقادیر از تمام ستون های کلید اصلی باید منحصر به فرد باشد.

ایجاد کلید اصلی در یک جدول موجود

از دستور ALTER TABLE برای اضافه کردن یک کلید اصلی در جدول موجود استفاده کنید.

کوئری زیر یک کلید اصلی برای ستون EmployeeID جدول Employee در پایگاه داده HR ایجاد می کند.

ایجاد کلید اصلی در یک جدول موجود

توجه : اگر از عبارت ALTER برای افزودن primary key به یک ستون استفاده می کنید، مطمئن شوید که ستون های کلید اصلی به صورت NOT NULL اعلام شده اند.

ایجاد کلید اصلی با استفاده از SSMS

SSMS را باز کنید و پایگاه داده را در Object Explorer باز کنید و روی جدولی که می خواهید کلید اصلی را روی آن اضافه کنید راست کلیک کنید و مانند شکل زیر روی Design کلیک کنید.

ایجاد کلید اصلی با استفاده از SSMS

با این کار table designer در پنجره پرس و جو باز می شود.

اکنون بر روی انتخابگر ردیف، ستونی که می خواهید کلید اصلی را برای آن تعریف کنید کلیک کنید. برای انتخاب چند ردیف به عنوان کلیدهای اصلی ترکیبی ، کلید Ctrl را نگه دارید و ستون های دیگر را انتخاب کنید.

در اینجا، EmployeeID را به عنوان کلید اصلی تنظیم می کنیم، بنابراین بر روی آن کلیک راست کرده و مانند شکل زیر بر روی گزینه Set Primary Key در منو کلیک کنید.

ایجاد کلید اصلی با استفاده از SSMS

در نهایت، جدول را با فشار دادن کلیدهای Ctrl + s ذخیره کنید یا روی save در نوار ابزار بالا کلیک کنید.

پس از تنظیم کلید اصلی، نماد کلید اصلی را قبل از ستون هایی که آنها را به عنوان کلید اصلی تنظیم کرده اید، مانند تصویر زیر مشاهده خواهید کرد.

ایجاد کلید اصلی در جداول SQL Server

ایجاد کلید اصلی با استفاده از Indexes/Keys

روش دیگر برای تعریف کلید اصلی استفاده از کادر محاوره ای Idexes/Keys است. در اینجا، گزینه های بیشتری برای پیکربندی آن خواهید داشت.

مطابق شکل زیر بر روی table designer راست کلیک کرده و Indexes/Keys را انتخاب کنید.

ایجاد کلید اصلی با استفاده از Indexes/Keys

با این کار کادر محاوره ای Indexes/Keys باز می شود که در آن می توانید indexes یا کلیدهای primary/foreign تعریف شده روی جدول را اضافه یا حذف کنید. برای افزودن کلید بر روی دکمه Add کلیک کنید.

Primary key in SQL Server

در اینجا، می توانید ستون کلید اصلی، نام، clustered index و غیره را پیکربندی کنید. جدول را ذخیره کنید و کلیدهای اصلی ایجاد خواهند شد.

کلید اصلی در SQL Server ایجاد کلید اصلی با استفاده از  T-SQL ایجاد کلید اصلی با استفاده از SSMS ایجاد کلید اصلی با استفاده از Indexes/Keys Primary Key آموزش SQL Server