SQL الكلمات الرئيسية الأجنبية الرئيسية
مفتاح غريب
القيد FOREIGN KEY
هو مفتاح يستخدم لربط جدولين معا.
المفتاح الخارجي هو حقل (أو مجموعة من الحقول) في جدول واحد يشير إلى المفتاح الأساسي في جدول آخر.
SQL FOREIGN KEY في إنشاء الجدول
يقوم SQL التالي بإنشاء مفتاح FOREIGN KEY في عمود "PersonID" عند إنشاء جدول "الطلبات":
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
خادم SQL / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
للسماح بتسمية قيد FOREIGN KEY ، ولتحديد قيد FOREIGN KEY على أعمدة متعددة ، استخدم بناء جملة SQL التالي:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
SQL FOREIGN KEY في ALTER TABLE
لإنشاء قيد FOREIGN KEY في عمود "PersonID" عندما يكون جدول "الطلبات" قد تم إنشاؤه بالفعل ، استخدم SQL التالي:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
للسماح بتسمية قيد FOREIGN KEY ، ولتحديد قيد FOREIGN KEY على أعمدة متعددة ، استخدم بناء جملة SQL التالي:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
قم بإسقاط قيد مفتاح أجنبي
لإسقاط قيد FOREIGN KEY ، استخدم SQL التالي:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
خادم SQL / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;