Foreign Key قیدی برای تعریف رابطه میان رکوردهای دو جدول است و از ارجاع به شناسه نامعتبر جلوگیری میکند.
از مفهوم تا اجرا
هر order_item میتواند با کلید خارجی به سفارش اصلی متصل باشد.
عملیات حذف باید با قواعد RESTRICT، CASCADE یا SET NULL آگاهانه طراحی شود.
مثال فارن کی در فروشگاه
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
customer_id BIGINT NOT NULL,
CONSTRAINT fk_orders_customer
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
فارن کی از ثبت سفارشی با شناسه مشتری ناموجود جلوگیری میکند، مشروط به اینکه موتور دیتابیس قید را اعمال کند. قبل از ON DELETE CASCADE باید اثر حذف زنجیرهای اطلاعات مالی را دقیق بررسی کرد.