Latest web development tutorials

SQL الخارجية العائق الرئيسي

SQL الخارجية العائق الرئيسي

مفتاح خارجي في إحدى نقاط الجدول إلى جدول مفتاح أساسي آخر.

دعونا نستخدم هذا المثال لتوضيح المفتاح الخارجي. النظر في الجدولين التاليين:

"الأشخاص" الجدول:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

"أوامر" الجدول:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

يرجى ملاحظة، الطاولة "P_Id" نقطة عمود "الأشخاص" جدول عمود "أوامر" "P_Id".

"الأشخاص" جدول عمود "P_Id" هو "الأشخاص" الجدول PRIMARY KEY.

"أوامر" جدول عمود "P_Id" هو "الأوامر" جدول المفتاح الخارجي.

يستخدم قيد FOREIGN KEY لمنع الأضرار التي لحقت العلاقة بين سلوك الجدول.

كما يمنع قيد FOREIGN KEY البيانات غير قانوني في عمود المفتاح الخارجي، فإنه يجب أن يكون واحدا لأنه يشير الى طاولة المفاوضات.


SQL الأجنبي قيد مفتاح إنشاء الجدول عندما

وSQL التالية عندما يتم إنشاء "أوامر" جدول لإنشاء قيد FOREIGN KEY على عمود "P_Id":

الخلية:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)

SQL الخادم / أوراكل / MS الوصول:

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

على سبيل المثال قيد FOREIGN KEY، وتحديد عدد وافر من عمود المفتاح الخارجي القيد، استخدم جملة SQL التالية:

ماي / SQL الخادم / أوراكل / MS الوصول:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)


SQL الخارجية قيد مفتاح ALTER TABLE عندما

عندما تم إنشاء "أوامر" الجدول للأعمدة إنشاء قيد FOREIGN KEY "P_Id"، يرجى استخدام SQL التالية:

ماي / SQL الخادم / أوراكل / MS الوصول:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

على سبيل المثال قيد FOREIGN KEY، وتحديد عدد وافر من عمود المفتاح الخارجي القيد، استخدم جملة SQL التالية:

ماي / SQL الخادم / أوراكل / MS الوصول:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)


التراجع قيد FOREIGN KEY

إسقاط قيد FOREIGN KEY، استخدم SQL التالية:

الخلية:

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL الخادم / أوراكل / MS الوصول:

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders