টেরাডেটা (Teradata) একটি রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS), যা ডেটাবেস টেবিলের মধ্যে ডেটার সংহতি এবং সঠিকতা রক্ষা করার জন্য বিভিন্ন ধরনের কনস্ট্রেইন্ট (Constraints) ব্যবহার করে। এর মধ্যে Primary Key, Foreign Key, এবং Unique Constraints অন্যতম গুরুত্বপূর্ণ কনস্ট্রেইন্ট। এই কনস্ট্রেইন্টগুলি টেবিলের ডেটার গুণগত মান নিশ্চিত করতে সহায়তা করে।
এই কনস্ট্রেইন্টগুলোর কাজ এবং ব্যবহার সম্পর্কে বিস্তারিতভাবে আলোচনা করা হলো:
Primary Key
Primary Key একটি টেবিলের মধ্যে এমন একটি কনস্ট্রেইন্ট যা প্রতিটি রেকর্ডকে অনন্য (Unique) করে তোলে এবং কোনো দুটি রেকর্ডে একই Primary Key থাকতে পারে না। Primary Key কলামটি সাধারণত টেবিলের মূল বা প্রাথমিক শনাক্তকরণ হিসেবে ব্যবহৃত হয়।
বৈশিষ্ট্য:
- অনন্য মান: Primary Key কলামে থাকা প্রতিটি মান অনন্য হতে হবে, অর্থাৎ, এটি কোনও ডুপ্লিকেট মান গ্রহণ করতে পারে না।
- নাল (NULL) মান নিষিদ্ধ: Primary Key কলামে কোনও নাল (NULL) মান থাকতে পারে না।
- একটি টেবিলের একটিমাত্র Primary Key: একটি টেবিলে শুধু একটিমাত্র Primary Key থাকতে পারে, তবে এটি একাধিক কলামের সমন্বয়ে (Composite Primary Key) হতে পারে।
ব্যবহার:
- উদাহরণ হিসেবে, যদি একটি
CustomerটেবিলেরCustomer_IDকলামকে Primary Key হিসেবে নির্ধারণ করা হয়, তাহলে প্রতিটি গ্রাহকের জন্য একটি অনন্যCustomer_IDথাকতে হবে এবং কোনো দুই গ্রাহকেরCustomer_IDএকই হবে না।
Foreign Key
Foreign Key একটি টেবিলের কলাম বা কলামগুলোর একটি সেট যা অন্য টেবিলের Primary Key বা Unique Key এর সাথে সম্পর্কিত। এটি দুইটি টেবিলের মধ্যে সম্পর্ক স্থাপন করতে ব্যবহৃত হয় এবং রিলেশনাল ডেটাবেসের অবিচ্ছেদ্য অংশ। Foreign Key মূলত ডেটা ইন্টেগ্রিটি (Data Integrity) বজায় রাখার জন্য ব্যবহৃত হয়।
বৈশিষ্ট্য:
- সম্পর্ক স্থাপন: Foreign Key কলামটি অন্য টেবিলের Primary Key অথবা Unique Key এর মানের সাথে সম্পর্কিত থাকে।
- নাল (NULL) মান অনুমোদিত: Foreign Key কলামে নাল মান থাকতে পারে, তবে এটি ওই টেবিলের Primary Key কলামের মানের সাথে সম্পর্কিত হবে না।
- ডেটা ইন্টিগ্রিটি: Foreign Key ব্যবহারের মাধ্যমে একটি টেবিলের রেকর্ড অন্য টেবিলের রেকর্ডের সাথে যুক্ত থাকে এবং ডেটা ইন্টেগ্রিটি নিশ্চিত হয়।
ব্যবহার:
- উদাহরণস্বরূপ, একটি
OrdersটেবিলেরCustomer_IDকলাম যদিCustomerটেবিলের Primary KeyCustomer_IDএর সাথে Foreign Key হিসেবে সংযুক্ত থাকে, তাহলে এটি নিশ্চিত করে যেOrdersটেবিলের প্রতিটিCustomer_IDঅবশ্যইCustomerটেবিলের একটি বৈধCustomer_IDহবে।
Unique Constraint
Unique Constraint একটি টেবিলের এমন একটি কনস্ট্রেইন্ট, যা একটি কলামে অথবা একাধিক কলামের সম্মিলিত মানকে অনন্য (Unique) করে তোলে। যদিও Primary Key এবং Unique Constraint দুটি অনন্য মান নিশ্চিত করে, তাদের মধ্যে কিছু পার্থক্য আছে।
বৈশিষ্ট্য:
- অনন্য মান: Unique Constraint কলামে থাকা প্রতিটি মান অনন্য হতে হবে, অর্থাৎ, ডুপ্লিকেট মান থাকতে পারবে না।
- নাল (NULL) মান অনুমোদিত: একটি Unique Constraint কলামে নাল মান থাকতে পারে (ভিন্নভাবে, Primary Key তে নাল মান থাকতে পারে না)।
- একাধিক Unique Constraint: একটি টেবিলে একাধিক Unique Constraint থাকতে পারে, কিন্তু শুধুমাত্র একটি Primary Key থাকতে পারে।
ব্যবহার:
- উদাহরণস্বরূপ, একটি
EmployeesটেবিলেরEmail_Addressকলামে Unique Constraint দেওয়া হলে, এটি নিশ্চিত করবে যে একই ইমেল ঠিকানা দুটি রেকর্ডে থাকবে না।
Primary Key, Foreign Key এবং Unique Constraints এর মধ্যে পার্থক্য
| কনস্ট্রেইন্ট | অর্থ | নাল (NULL) অনুমোদিত | ডুপ্লিকেট মান অনুমোদিত | একাধিক কনস্ট্রেইন্ট থাকতে পারে কি না |
|---|---|---|---|---|
| Primary Key | টেবিলের প্রতিটি রেকর্ডের জন্য একটি অনন্য শনাক্তকারী | না (NULL মান নিষিদ্ধ) | না (ডুপ্লিকেট মান নিষিদ্ধ) | একটি টেবিলে একটিমাত্র Primary Key |
| Foreign Key | অন্য টেবিলের Primary Key বা Unique Key এর সাথে সম্পর্ক স্থাপন করে | হ্যাঁ (NULL মান থাকতে পারে) | হ্যাঁ (ডুপ্লিকেট মান থাকতে পারে) | একাধিক Foreign Key থাকতে পারে |
| Unique Key | একটি কলামে অনন্য মান নিশ্চিত করে | হ্যাঁ (NULL মান থাকতে পারে) | না (ডুপ্লিকেট মান নিষিদ্ধ) | একাধিক Unique Key থাকতে পারে |
সারাংশ
Teradata ডেটাবেসে Primary Key, Foreign Key, এবং Unique Constraint তিনটি গুরুত্বপূর্ণ কনস্ট্রেইন্ট যা ডেটার সঠিকতা এবং এক্সেস নিশ্চিত করতে ব্যবহৃত হয়। Primary Key টেবিলের প্রতিটি রেকর্ডের জন্য একটি অনন্য শনাক্তকারী হিসেবে কাজ করে, Foreign Key দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করে এবং Unique Constraint একটি কলামের মধ্যে অনন্য মান নিশ্চিত করে। এই কনস্ট্রেইন্টগুলি ডেটাবেসের ডেটা ইন্টিগ্রিটি এবং রিলেশনাল কাঠামো বজায় রাখে।
Read more