عنوان : محدودیت Foreign Key در sql(متخصصین ایران)درس35
متخصصین ایران طراحی سایت

محدودیت Foreign Key , SQL FOREIGN KEY Constraint یا کلید خارجی در اس کیوال

یک FOREIGN KEY یا کلید خارجی در اسکیوال ، در یک جدول به یک PRIMARY KEY در جدولی دیگر اشاره می کند.

  • برای ارتباط بین جداول از محدودیت Foreign Key استفاده می‌شود و در اصل Relational Integrity را فراهم می‌کند.
  • به عبارت ساده تر ، کلید خارجی همان مقدار کلید اصلی از جدول دیگر است.
  • مقدار یک کلید خارجی میتواند تکراری باشد.

فیلد‌های کلید خارجی ، سه نوع محدودیت را ایجاد می‌کنند :

  1. اجازه حذف رکوردی از جدول پدر نداریم که فرزندی داشته باشد.
  2. اجازه insert رکورد در جدول فرزند با کد پدری که در جدول پدر موجود نیست را نداریم.
  3. مقدار کلید پدری را که دارای فرزند هست را نمی‌توانیم تغییر دهیم.

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

 برای تعریف یک محدودیت FOREIGN KEY در دستور create table ، روی یک ستون از دستور SQL زیر استفاده می کنیم:

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

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 پس از ساخته شدن جدول

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

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

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

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

از بین بردن FOREIGN KEY

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

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders




نظر شما درباره این مطلب:




مطالب مشابه

42

SQL چیست ؟ (اس کیو ال چیست)(متخصصین ایران)


متخصصین ایران طراحی سایت

در مدل رابطه‌ای داده‌ها، زبان ساختارمند پرسش‌ها یا اس کیو ال یا سی کوال...


SQL چیست ؟ (اس کیو ال چیست)(متخصصین ایران)                  (اطلاعات بیشتر)

76

دستورات DML و DDL در اس کیو ال(متحصصین ایران)


متخصصین ایران طراحی سایت

SQL به دو قسمت تقسیم میشود ...


دستورات DML و DDL در اس کیو ال(متحصصین ایران)                  (اطلاعات بیشتر)

78

انواع داده و متغیر در SQL(متخصصین ایران)درس1


متخصصین ایران طراحی سایت

در این قسمت از آموزش sql ، انواع ...


 انواع داده و متغیر در SQL(متخصصین ایران)درس1                  (اطلاعات بیشتر)

84

دستور SELECT DISTINCT در sql(متخصصین ایران)درس3


متخصصین ایران طراحی سایت

چنانچه در ستون های مورد جستجو ، موارد تکراری وجود داشته باشد ...


 دستور SELECT DISTINCT در sql(متخصصین ایران)درس3                  (اطلاعات بیشتر)

92

دستور مرتب سازی Order By در sql(متخصصین ایران)درس6


متخصصین ایران طراحی سایت

اطلاعاتی که در دستور select در اسکیوال به عنوان خروجی


دستور مرتب سازی Order By در sql(متخصصین ایران)درس6                  (اطلاعات بیشتر)

94

دستور Group By در sql(متخصصین ایران)درس7


متخصصین ایران طراحی سایت

از دستور Group By در اسکیوال برای دسته بندی ...


 دستور Group By در sql(متخصصین ایران)درس7                  (اطلاعات بیشتر)