پاسخ به:آموزش SQL
دوشنبه 10 آذر 1393 10:01 PM
Wiki
یک FOREIGN KEY (کلید خارجی) در یک جدول اشاره به PRIMARY KEY (کلید اصلی) در جدول دیگر دارد.
اجازه دهید تا FOREIGN KEY را با یک مثال توضیح دهیم، به دو جدول زیر نگاه کنید:
جدول Persons:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
جدول Orders :
O_Id | OrderNo | P_Id |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
توجه کنید که ستون P_Id در جدول order اشاره به ستون P_Id در جدول person دارد.
ستون P_Id در جدول person کلید اصلی می باشد
ستون P_Id در جدول Orders کلید خارجی می باشد.
محدودیت کلید خارجی برای جلوگیری از اقداماتی که ارتباط بین دو جدول را خراب می کند استفاده می شود.
همچنین محدودیت کلید خارجی از ورود داده های نا معتبر به ستون کلید خارجی جلوگیری می کند، زیرا داده ها باید یکی از مقادیر جدولی باشند که کلید خارجی به آن ارجاع داده شده است.
Wiki
دستور زیر در ستون P_Id هنگامی که جدول Persons ایجاد می شود کلید خارجی را تعیین می کند:
در MySQL:
در SQL Server / Oracle / MS Access:
برای تعریف محدودیت FOREIGN KEY روی ستون های ترکیبی (ترکیب دو یا چند ستون) از دستور زیر استفاده کنید.
در MySQL / SQL Server / Oracle / MS Access:
Wiki
برای ایجاد محدودیت FOREIGN KEY روی ستون P_Id هنگامی که جدول قبلا ایجاد شده از دستور زیر استفاده می کنیم.
MySQL / SQL Server / Oracle / MS Access:
برای تعریف محدودیت FOREIGN KEY روی ستون های ترکیبی (ترکیب دو یا چند ستون) از دستور زیر استفاده کنید.
MySQL / SQL Server / Oracle / MS Access:
Wiki
برای حذف محدودیت FOREIGN KEY از دستور زیر استفاده می کنیم.
در MySQL:
در SQL Server / Oracle / MS Access: