SQL FOREIGN KEY Constraint
در SQL از FOREIGN KEY Constraint برای ایجاد ارتباط بین دو جدول استفاده میکنیم.
کلید خارجی مشخص میکنه که مقدار یک ستون (در جدول فرزند) باید با مقدار ستون کلید اصلی (در جدول والد) مطابقت داشته باشه.
🔹 مفهوم ساده
-
جدول اصلی (Parent Table) → شامل Primary Key است.
-
جدول فرزند (Child Table) → شامل Foreign Key است که به ستون جدول اصلی اشاره میکند.
🔹 ساختار کلی
🔹 مثال ساده
📌 توضیح:
-
جدول
Departmentsشامل اطلاعات دپارتمانهاست. -
جدول
Employeesشامل کارکنانه و ستونDepartmentIDبه جدولDepartmentsاشاره میکنه. -
یعنی هر کارمند باید به دپارتمانی تعلق داشته باشه که واقعاً در جدول
Departmentsوجود داره.
🔹 درج داده معتبر
✅ معتبره چون DepartmentID = 1 در جدول Departments وجود داره.
🔹 درج داده نامعتبر
❌ خطا: مقدار 5 در جدول Departments وجود نداره، پس نقض کلید خارجی محسوب میشه.
🔹 افزودن FOREIGN KEY بعد از ساخت جدول
🔹 حذف FOREIGN KEY
🔹 گزینههای حذف و بهروزرسانی (ON DELETE / ON UPDATE)
میتونیم مشخص کنیم وقتی رکوردی از جدول والد حذف یا تغییر میکنه، در جدول فرزند چه اتفاقی بیفته:
📌 توضیح:
-
ON DELETE CASCADE→ اگر یک دپارتمان حذف شود، تمام کارکنان آن نیز حذف میشوند. -
ON UPDATE CASCADE→ اگر مقدار کلید اصلی تغییر کند، مقدار در جدول فرزند نیز بهروز میشود.
🔹 نکات مهم
-
کلید خارجی به کلید اصلی یا UNIQUE در جدول دیگر اشاره میکنه.
-
هدفش حفظ یکپارچگی دادهها (Data Integrity) است.
-
میتونه از حذف یا درج دادههای اشتباه جلوگیری کنه.
-
در SQL Server، MySQL و PostgreSQL بهصورت مشابه کار میکنه.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React