Primary Key এবং Foreign Key তৈরি করা

Tables এবং Data Types ম্যানেজমেন্ট - এমএস এসকিউএল সার্ভার (MS SQl Server) - Microsoft Technologies

319

Primary Key এবং Foreign Key হল ডেটাবেস ডিজাইনের দুটি গুরুত্বপূর্ণ উপাদান যা ডেটাবেস টেবিলের মধ্যে সম্পর্ক স্থাপন এবং ডেটার অখণ্ডতা (data integrity) নিশ্চিত করতে ব্যবহৃত হয়। Primary Key একটি টেবিলের মধ্যে এক বা একাধিক কলামকে নির্দিষ্ট করে যা প্রতিটি রেকর্ডকে অনন্যভাবে চিহ্নিত করে। অন্যদিকে, Foreign Key দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করে, যেখানে একটি টেবিলের কলাম অন্য একটি টেবিলের প্রাইমারি কি কলামের সাথে সম্পর্কিত থাকে।


1. Primary Key তৈরি করা

Primary Key টেবিলের মধ্যে প্রতিটি রেকর্ডকে অনন্যভাবে চিহ্নিত করে এবং এটি একটি কলাম বা একাধিক কলামের সমন্বয়ে হতে পারে। Primary Key কলামে NULL মান রাখা যায় না এবং এটি অবশ্যই unique হতে হবে।

1.1. SSMS এর মাধ্যমে Primary Key তৈরি করা

  1. SQL Server Management Studio (SSMS) ওপেন করুন এবং আপনার ডেটাবেস নির্বাচন করুন।
  2. Object Explorer তে ডেটাবেসের মধ্যে টেবিলটি সিলেক্ট করুন যেখানে আপনি Primary Key তৈরি করতে চান।
  3. টেবিলটির উপর রাইট ক্লিক করুন এবং Design নির্বাচন করুন।
  4. টেবিলের যে কলামটিকে আপনি Primary Key হিসেবে ব্যবহার করতে চান, সেই কলামে ক্লিক করুন।
  5. উপর থেকে Primary Key বাটনে ক্লিক করুন। এটি ওই কলামটি Primary Key হিসেবে সেট করবে।
  6. Save করুন।

1.2. T-SQL ব্যবহার করে Primary Key তৈরি করা

T-SQL কোডের মাধ্যমে আপনি একটি টেবিলের Primary Key কনফিগার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:

ALTER TABLE Employees
ADD CONSTRAINT PK_EmployeeID PRIMARY KEY (EmployeeID);

এই কোডটি Employees টেবিলের EmployeeID কলামটিকে Primary Key হিসেবে সেট করবে।

1.3. Primary Key তৈরি করার সময় কিছু নিয়ম

  • Unique Constraint: Primary Key থাকা কলামে যেকোনো মান পুনরাবৃত্তি হতে পারবে না।
  • Non-Nullable: Primary Key কলামে NULL মান রাখা যাবে না।

2. Foreign Key তৈরি করা

Foreign Key দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করে। এটি একটি টেবিলের কলামকে অন্য একটি টেবিলের Primary Key বা Unique Key কলামের সাথে যুক্ত করে, যা ডেটাবেসের রেফারেন্স ইন্টেগ্রিটি নিশ্চিত করে।

2.1. SSMS এর মাধ্যমে Foreign Key তৈরি করা

  1. SQL Server Management Studio (SSMS) ওপেন করুন এবং ডেটাবেস নির্বাচন করুন।
  2. Object Explorer তে দুইটি টেবিল নির্বাচন করুন, যেখানে একটি টেবিলের কলাম Foreign Key হিসেবে অন্য টেবিলের কলামকে রেফার করবে।
  3. প্রথম টেবিলের উপর রাইট ক্লিক করুন এবং Design নির্বাচন করুন।
  4. টেবিলের যে কলামটিতে Foreign Key সেট করতে চান, সেই কলামটি সিলেক্ট করুন।
  5. উপরের মেনু থেকে Relationships নির্বাচন করুন।
  6. Add বাটনে ক্লিক করুন এবং Primary Key Table নির্বাচন করুন যেটির কলামের সাথে Foreign Key সম্পর্কিত হবে।
  7. OK ক্লিক করুন এবং Save করুন।

2.2. T-SQL ব্যবহার করে Foreign Key তৈরি করা

T-SQL কোডের মাধ্যমে আপনি Foreign Key কনফিগার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:

ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerID FOREIGN KEY (CustomerID)
REFERENCES Customers(CustomerID);

এই কোডটি Orders টেবিলের CustomerID কলামটিকে Customers টেবিলের CustomerID কলামের সাথে সম্পর্কিত করবে।

2.3. Foreign Key তৈরি করার সময় কিছু নিয়ম

  • Referential Integrity: Foreign Key এর মাধ্যমে দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করা হয়। এই সম্পর্কের মাধ্যমে যদি মূল টেবিলে (যে টেবিলের Primary Key রয়েছে) কোনো রেকর্ড মুছে ফেলা হয়, তবে সেটি Foreign Key টেবিলেও প্রভাব ফেলবে (আপনার ডিফাইন করা বিধির উপর নির্ভর করে)।
  • Cascade Delete/Update: Foreign Key সম্পর্ক স্থাপন করার সময়, আপনি Cascade Delete বা Cascade Update কনফিগার করতে পারেন। এর মানে হল, যদি মূল টেবিলে কোনো রেকর্ড মুছে ফেলা হয়, তবে সেটি Foreign Key টেবিলেও মুছে যাবে (বা আপডেট হবে)।
  • Action on Delete/Update: যদি কোনো রেকর্ড পরিবর্তন বা মুছে ফেলা হয়, তবে আপনি নির্ধারণ করতে পারবেন যে কী হবে, যেমন:
    • ON DELETE CASCADE: মূল টেবিল থেকে ডেটা মুছে ফেললে Foreign Key টেবিল থেকেও ডেটা মুছে যাবে।
    • ON UPDATE CASCADE: মূল টেবিল থেকে ডেটা আপডেট হলে Foreign Key টেবিল থেকেও ডেটা আপডেট হবে।

উদাহরণ:

ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerID FOREIGN KEY (CustomerID)
REFERENCES Customers(CustomerID)
ON DELETE CASCADE
ON UPDATE CASCADE;

এই কোডটি Orders টেবিলের CustomerID কলামটিকে Customers টেবিলের CustomerID কলামের সাথে যুক্ত করবে, এবং যদি Customers টেবিলে কোনো CustomerID আপডেট বা মুছে ফেলা হয়, তবে তা Orders টেবিলেও প্রতিফলিত হবে।


3. Primary Key এবং Foreign Key এর মধ্যে পার্থক্য

  • Primary Key: একটি টেবিলের এক বা একাধিক কলামকে একটি নির্দিষ্ট মান দিয়ে প্রতিটি রেকর্ডকে অনন্যভাবে চিহ্নিত করে। এতে NULL মান রাখা যায় না।
  • Foreign Key: এটি দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করে। Foreign Key কলাম একটি টেবিলের Primary Key বা Unique Key কলামের সাথে সম্পর্কিত থাকে।

Primary Key এবং Foreign Key ডেটাবেস ডিজাইন এবং রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেমের (RDBMS) অঙ্গীকারের অংশ। এগুলোর মাধ্যমে ডেটাবেসের মধ্যে সম্পর্ক স্থাপন, অখণ্ডতা রক্ষা এবং ডেটার সঠিকতা নিশ্চিত করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...