کلید خارجی FOREIGN KEY
کلید خارجی یک ویژگی برای ارتباط و لینک بین دو جدول استفاده می شود.
FOREIGN KEY در واقع فیلد یا مجموعه ای از فیلدهاست، که به PRIMARY KEY سایر جداول پایگاه داده، اشاره می کند.
جدول دارای کلید اصلی جدول والد/master و جدول دارای کلید خارجی جدول فرزند/slave می نامند.
"Persons" جدول
PersonID | LastName | FirstName | Age |
---|---|---|---|
1 | Hansen | Ola | 30 |
2 | Svendson | Tove | 23 |
3 | Pettersen | Kari | 20 |
"Orders" جدول:
OrderID | OrderNumber | PersonID |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
ستون personId در جدول Orders به فیلد personId در جدول Persons اشاره می کند. در واقع فیلد PersonId در جدول Persons کلید اصلی و در جدول Orders کلید خارجی می باشد. کلید خارجی صحت وجود داده در جدول اصلی را تضمین می کند.
ایجاد کلید خارجی هنگام ایجاد جدول:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);