SQL FOREIGN KEY সীমানা
- Previous Page SQL Primary Key
- Next Page SQL Check
SQL FOREIGN KEY সীমানা
একটি টেবিলের FOREIGN KEY আরেকটি টেবিলের PRIMARY KEY-কে প্রদির্শন করে。
আমরা একটি উদাহরণ দিয়ে FOREIGN KEY-কে ব্যাখ্যা করতে চাই। দেখুন নিচের দুটি টেবিল:
"Persons" টেবিল:
Id_P | LastName | FirstName | ঠিকানা | সিটি |
---|---|---|---|---|
1 | অ্যাডামস | জন | অক্সফোর্ড স্ট্রিট | লন্ডন |
2 | বাশ | জর্জ | ফিফথ এভেনিউ | নিউ ইয়র্ক |
3 | কার্টার | থমাস | চাংগান স্ট্রিট | বেইজিং |
"Orders" টেবিল:
Id_O | OrderNo | Id_P |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
লক্ষ্য করুন, "Orders"-এর "Id_P" কলাম "Persons" টেবিলের "Id_P" কলামের প্রদির্শন করে。
"Persons" টেবিলের "Id_P" কলাম "Persons" টেবিলের PRIMARY KEY হচ্ছে。
"Orders" টেবিলের "Id_P" কলাম "Orders" টেবিলের FOREIGN KEY হচ্ছে。
FOREIGN KEY Constraint টেবলের মধ্যে সংযোগ ভঙ্গ করা হওয়ার প্রতিরোধ করতে ব্যবহৃত হয়。
FOREIGN KEY Constraint মুক্তিপ্রাপ্ত ডাটা প্রবেশ প্রতিরোধ করতেও পারে, কারণ তা প্রদির্শিত টেবিলের একটি মান হতে হবে。
CREATE TABLE-তে FOREIGN KEY Constraint
নিচের SQL "Orders" টেবিল তৈরি করার সময় "Id_P" কলামে FOREIGN KEY তৈরি করে:
MySQL:
CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), ফরেইন কী (Id_P) REFERENCES Persons(Id_P) )
SQL Server / Oracle / MS Access:
CREATE TABLE Orders ( Id_O int NOT NULL PRIMARY KEY, OrderNo int NOT NULL, Id_P int FOREIGN KEY REFERENCES Persons(Id_P) )
If you need to name the FOREIGN KEY constraint and define FOREIGN KEY constraints for multiple columns, please use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) )
SQL FOREIGN KEY Constraint on ALTER TABLE
If you create a FOREIGN KEY constraint for the 'Id_P' column when the 'Orders' table already exists, please use the following SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
If you need to name the FOREIGN KEY constraint and define FOREIGN KEY constraints for multiple columns, please use the following SQL syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
Revoke FOREIGN KEY Constraint
To revoke the FOREIGN KEY constraint, please use the following SQL:
MySQL:
ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders
- Previous Page SQL Primary Key
- Next Page SQL Check