অ্যালটারনেট কী (Alternate Key) বা সেকেন্ডারি কী (Secondary Key) হলো সেই ক্যান্ডিডেট কী যা প্রাইমারি কী হিসেবে নির্বাচিত নहीं হয়েছে। প্রতিটি টেবিলে একাধিক ক্যান্ডিডেট কী থাকতে পারে, কিন্তু প্রাইমারি কী শুধু একটি। বাকি ক্যান্ডিডেট কীগুলোই অ্যালটারনেট কী।
বৈশিষ্ট্য
- ক্যান্ডিডেট কী (Candidate Key) = প্রাইমারি কীর প্রার্থী।
- প্রাইমারি কী বাছাই করার পর বাকি ক্যান্ডিডেট কী = অ্যালটারনেট কী।
- ইউনিক এবং নন-নাল (সাধারণত) হওয়া উচিত।
- ফরেন কী রেফারেন্স করতে পারে (Unique Constraint রেফারেন্সযোগ্য)।
উদাহরণ ১: Student টেবিল
| Student_ID |
Student_Enroll |
Student_Name |
Student_Email |
| 096 | 2717 | Manish | aaa@gmail.com |
| 055 | 2655 | Manan | abc@gmail.com |
| 067 | 2699 | Shreyas | pqr@gmail.com |
বিশ্লেষণ
- Candidate Keys: Student_ID, Student_Enroll, Student_Email (সব ইউনিক)۔
- যদি Student_ID = Primary Key,
- তবে Student_Enroll এবং Student_Email = Alternate Keys।
উদাহরণ ২: Employee টেবিল
| Employee_ID |
Employee_SSN |
Employee_Name |
Employee_Phone |
| E897 | SSN08 | Harry | 999999 |
| E856 | SSN06 | Jacob | 999899 |
| E871 | SSN09 | Amy | 999898 |
Candidate Keys:
- Employee_ID
- Employee_SSN (Social Security Number)
- Employee_Phone
যদি Employee_SSN = Primary Key হয়,
- তবে Employee_ID এবং Employee_Phone = Alternate Keys।
অ্যালটারনেট কীর ব্যবহার
- Unique Index তৈরি করে কোয়েরি পারফরম্যান্স বেড়াতে।
- অ্যালটারনেটিভ লুকআপ পাথ (যেমন: ইমেইল দিয়ে ইউজার খুঁজা)।
- প্রাইমারি কী চেঞ্জ হলে ফলব্যাক আইডেন্টিফায়ার।
- বিজনেস রুল এনফোর্সমেন্ট (ইমেইল/ফোন ইউনিক থাকতে হবে)।
SQL ইমপ্লিমেন্টেশন
CREATE TABLE Employee (
Employee_ID INT PRIMARY KEY,
Employee_SSN VARCHAR(20) UNIQUE, -- Alternate Key 1
Employee_Name VARCHAR(100),
Employee_Phone VARCHAR(15) UNIQUE, -- Alternate Key 2
UNIQUE (Employee_SSN, Employee_Phone) -- Composite Alternate Key
);
সারসংক্ষেপ: কী হায়ারার্কি (Key Hierarchy)
Super Key (All unique combinations)
↓ Minimal Subset
Candidate Keys (Minimal Super Keys)
↓ Choose One
Primary Key (Main Identifier)
↓ Remaining
Alternate / Secondary Keys (Other Candidate Keys)