সুপার কী (Super Key) হলো একটি অ্যাট্রিবিউট বা অ্যাট্রিবিউটের সেট যা একটি টাপল (Tuple/Row) কে ইউনিকভাবে আইডেন্টিফাই করতে পারে। এন্টিটি সেটে একটি এন্টিটিকে অনন্যভাবে চিহ্নিত করে।
বৈশিষ্ট্য
- ক্যান্ডিডেট কীর সুপারসেট (Superset of Candidate Key)।
- ক্যান্ডিডেট কীগুলো সুপার কী থেকে নির্বাচিত হয়।
- যেকোনো সুপার কীতে অতিরিক্ত অ্যাট্রিবিউট যোগ করলেও সেটি সুপার কীই থাকে।
উদাহরণ: Student টেবিল
| Student_ID | Student_Enroll | Student_Name | Student_Email |
|---|---|---|---|
| S02 | 4545 | Dave | ddd@gmail.com |
| S34 | 4541 | Jack | jjj@gmail.com |
| S22 | 4555 | Mark | mmm@gmail.com |
সুপার কীগুলো (সম্ভাব্য সমস্ত কম্বিনেশন)
- {Student_ID}
- {Student_Enroll}
- {Student_Email}
- {Student_ID, Student_Enroll}
- {Student_ID, Student_Name}
- {Student_ID, Student_Email}
- {Student_Name, Student_Enroll}
- {Student_ID, Student_Enroll, Student_Name}
- {Student_ID, Student_Enroll, Student_Email}
- {Student_ID, Student_Enroll, Student_Name, Student_Email}
ক্যান্ডিডেট কী (Candidate Keys) - মিনিমাল সুপার কী
যে সুপার কীগুলো থেকে কোনো সাবসেট রিমুভ করলে সেটি আর ইউনিক থাকে না, সেগুলোই ক্যান্ডিডেট কী:
- {Student_ID}
- {Student_Enroll}
- {Student_Email}
সুপার কী vs ক্যান্ডিডেট কী vs প্রাইমারি কী
| কনসেপ্ট | বিবরণ |
|---|---|
| Super Key | যেকোনো ইউনিক আইডেন্টিফায়ার সেট (রিডান্ডেন্ট অ্যাট্রিবিউট থাকতে পারে) |
| Candidate Key | মিনিমাল সুপার কী (রিডান্ডেন্সি নেই, প্রাইমারি কীর প্রার্থী) |
| Primary Key | নির্বাচিত একটি ক্যান্ডিডেট কী (টেবিলে শুধু একটা) |
নোট
- প্রাইমারি কী নির্বাচন করার সময় সবচেয়ে ছোট, স্টেবল এবং নন-নাল ক্যান্ডিডেট কী বেছে নেওয়া হয়।
- সুপার কী কনসেপ্ট নরমালাইজেশন এবং কী ডিজাইনের ভিত্তি।