মারিয়া ডিবি (MariaDB) একটি রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS), যেখানে ডেটাবেসের টেবিলগুলোর মধ্যে সম্পর্ক স্থাপন করতে Primary Key এবং Foreign Key ব্যবহার করা হয়। এই দুটি কী ডেটাবেস ডিজাইনে খুবই গুরুত্বপূর্ণ ভূমিকা পালন করে এবং ডেটার অখণ্ডতা নিশ্চিত করতে সহায়তা করে।
Primary Key
প্রাইমারি কী (Primary Key) হলো একটি টেবিলের এক বা একাধিক কলাম যা সেই টেবিলের প্রতিটি রেকর্ডকে অনন্যভাবে চিহ্নিত করে। একটি টেবিলের মধ্যে শুধুমাত্র একটিই প্রাইমারি কী থাকতে পারে। এই কী ব্যবহার করে টেবিলের মধ্যে ডুপ্লিকেট রেকর্ড এড়ানো যায় এবং প্রতিটি রেকর্ডের জন্য একটি ইউনিক আইডেন্টিফায়ার তৈরি করা হয়।
বৈশিষ্ট্য:
- অনন্য (Unique): প্রাইমারি কী ফিল্ডের মান কখনই ডুপ্লিকেট হতে পারে না।
- NULL হতে পারে না: প্রাইমারি কী ফিল্ডে
NULLমান থাকতে পারে না। - একটি টেবিলে একটি মাত্র Primary Key: একটি টেবিলে কেবল একটিই প্রাইমারি কী থাকতে পারে।
উদাহরণ:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
name VARCHAR(100),
position VARCHAR(50)
);
এখানে, employee_id কলামটি প্রাইমারি কী হিসেবে ব্যবহৃত হচ্ছে, যার মাধ্যমে প্রতিটি কর্মচারীকে অনন্যভাবে চিহ্নিত করা হচ্ছে।
Foreign Key
ফরেন কী (Foreign Key) হলো একটি কলাম বা সেট কলাম যা অন্য একটি টেবিলের প্রাইমারি কী বা ইউনিক কী এর সাথে সম্পর্কিত। ফরেন কী ব্যবহার করা হয় এক টেবিল থেকে অন্য টেবিলের মধ্যে সম্পর্ক তৈরি করার জন্য। এটি ডেটাবেসের মধ্যে রিলেশনাল এক্সিটেন্স বজায় রাখতে সাহায্য করে।
বৈশিষ্ট্য:
- রিলেশন তৈরি করা: ফরেন কী ব্যবহার করে এক টেবিলের ডেটাকে অন্য টেবিলের ডেটার সাথে সংযুক্ত করা হয়।
- ডেটার অখণ্ডতা: ফরেন কী ডেটাবেসের রেফারেনশিয়াল ইন্টেগ্রিটি (referential integrity) বজায় রাখে। মানে, ফরেন কী এর মাধ্যমে সম্পর্কিত ডেটা অন্য টেবিলে না থাকা অবস্থায় রেকর্ড তৈরি করা সম্ভব হয় না।
- NULL হতে পারে: ফরেন কী এর মান
NULLহতে পারে, তবে সেটি ফরেন কী সম্পর্কের বাইরে থেকে এসেছে এমন কোন রেকর্ডে।
উদাহরণ:
CREATE TABLE departments (
department_id INT PRIMARY KEY,
department_name VARCHAR(100)
);
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
name VARCHAR(100),
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
এখানে, employees টেবিলের department_id কলামটি একটি ফরেন কী হিসেবে ব্যবহৃত হচ্ছে, যা departments টেবিলের department_id কলামের সাথে সম্পর্কিত। এর মাধ্যমে দুটি টেবিলের মধ্যে একটি সম্পর্ক তৈরি করা হচ্ছে।
Primary Key এবং Foreign Key এর পার্থক্য
| বৈশিষ্ট্য | Primary Key | Foreign Key |
|---|---|---|
| সংজ্ঞা | টেবিলের প্রতিটি রেকর্ডের অনন্য পরিচয়। | অন্য টেবিলের প্রাইমারি কী বা ইউনিক কী-এর সাথে সম্পর্ক। |
| ডুপ্লিকেট মান | ডুপ্লিকেট মান হতে পারে না। | ফরেন কী কলামে ডুপ্লিকেট মান থাকতে পারে। |
| NULL মান | NULL হতে পারে না। | NULL হতে পারে। |
| একটি টেবিলে সংখ্যা | একটি টেবিলে একমাত্র একটি প্রাইমারি কী থাকে। | একাধিক ফরেন কী থাকতে পারে। |
Primary Key এবং Foreign Key এর ব্যবহার
ডেটা সম্পর্ক এবং এক্সিটেন্স
- Primary Key ব্যবহার করে একটি টেবিলের প্রতিটি রেকর্ডের অনন্যতা নিশ্চিত করা হয়।
- Foreign Key ব্যবহার করে একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করা হয়, যা ডেটাবেসের রেফারেনশিয়াল ইন্টেগ্রিটি বজায় রাখে।
ডেটা সুরক্ষা
- Primary Key ডুপ্লিকেট রেকর্ড এবং
NULLমান এড়াতে সহায়তা করে। - Foreign Key সঠিক সম্পর্ক স্থাপন করে ডেটার অখণ্ডতা এবং এক্সিটেন্স সুরক্ষিত রাখে, যেমন কোন কর্মচারী যদি কোনো বিভাগে না থাকে, তবে সে বিভাগে তার রেকর্ড যুক্ত করা যাবে না।
মারিয়া ডিবি (MariaDB)-তে Primary Key এবং Foreign Key ব্যবহারের মাধ্যমে ডেটাবেসের সঠিক গঠন এবং সম্পর্ক বজায় রাখা সম্ভব, যা ডেটার অখণ্ডতা এবং সুরক্ষা নিশ্চিত করতে সাহায্য করে।
Read more