آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش محدودیت FOREIGN KEY در SQL

دوره های پیشنهادی

یک FOREIGN KEY در یک جدول اشاره به PRIMARY KEY در جدول دیگر دارد.

اجازه دهید تا FOREIGN KEY را با یک مثال توضیح دهیم، به دو جدول زیر نگاه کنید:

جدول Persons:

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

جدول 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” در جدولPRIMARY KEY “Person” می باشد

ستون “P_Id” در جدولFOREIGN KEY “Orders” می باشد.

محدودیت FOREIGN KEY برای جلوگیری از اقداماتی که ارتباط بین دو جدول را خراب می کند استفاده می شود.

همچنین محدودیت FOREIGN KEY از ورود داده های نا معتبر به ستون FOREIGN KEY جلوگیری می کند، زیرا داده ها باید یکی از مقادیر جدولی باشند که FOREIGN KEY به آن ارجاع داده شده است.

محدودیت FOREIGN KEY در دستور CREATE TABLE

دستور SQL زیر در ستون “P_Id” هنگامی که جدول “Orders” ایجاد می شود FOREIGN KEY را تعیین می کند:

در MySQL

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 Server / Oracle / MS Access

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 زیر استفاده کنید:

در MySQL / SQL Server / Oracle / MS Access:

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)  
‎)‎‏ ‏

محدودیت FOREIGN KEY در دستور ALTER TABLE

برای ایجاد محدودیت FOREIGN KEY روی ستون “P_Id” هنگامی که جدول “Orders” قبلا ایجاد شده از دستور زیر استفاده کنید:

در MySQL / SQL Server / Oracle / MS Access:

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

برای استفاده از محدودیت FOREIGN KEY و تعرین آن روی چندین ستون از دستور زیر استفاده کنید:

در MySQL / SQL Server / Oracle / MS Access:

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

حذف محدودیت FOREIGN KEY

برای حذف محدودیت FOREIGN KEY از دستور SQL زیر استفاده کنید:

در MySQL:

ALTER TABLE Orders  
DROP FOREIGN KEY fk_PerOrders ‎
 
در  SQL Server / Oracle / MS Access: 
ALTER TABLE Orders  
DROP CONSTRAINT fk_PerOrders‏ ‏
 
  • 10622
  •    926
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .