FOREIGN KEY একটি কলাম বা কলাম সমষ্টি যা দুটি টেবিলের ডেটার মধ্যে লিংক স্থাপন করে। এটি দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করে এবং প্রাইমারি কি-ফরেন কি লিংক দিয়ে ডেটা ইন্টিগ্রিটি বাড়ায়।
সিনট্যাক্স
FOREIGN KEY [column_name] REFERENCES [parent_table] ([primary_key_column]);
উদাহরণ
mysql> CREATE TABLE Customer(
Cust_ID INT PRIMARY KEY,
First_Name VARCHAR(20),
Last_Name VARCHAR(20),
City VARCHAR(10)
);
Query OK, 0 rows affected (0.13 sec)
mysql> CREATE TABLE Orders(
Order_Id INT PRIMARY KEY,
Product_Name VARCHAR(25),
Orderdate DATE,
Cust_ID INT,
FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id)
);
Query OK, 0 rows affected (0.13 sec)
mysql> DESCRIBE Orders;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id | int(11) | NO | PRI | NULL | |
| Product_Name | varchar(25) | YES | | NULL | |
| Orderdate | date | YES | | NULL | |
| Cust_ID | int(11) | YES | MUL | NULL | |
+--------------+-------------+------+-----+---------+-------+
- Customer = প্যারেন্ট টেবিল (রেফারেন্সড টেবিল)
- Orders = চাইল্ড টেবিল (রেফারেন্সিং টেবিল)
- চাইল্ড টেবিলের প্রতিটি সারির
Cust_IDপ্যারেন্ট টেবিলে থাকতে হবে।