How many types of attributes are found in a database? Name any four attributes.
উত্তর: DBMS বা Database Management System-এর ER Model-এ Attribute বলতে কোনো Entity-এর বৈশিষ্ট্য, গুণ বা property-কে বোঝায়। একটি Entity সম্পর্কে বিস্তারিত তথ্য জানার জন্য যে তথ্যগুলো সংরক্ষণ করা হয়, সেগুলোকে Attribute বলা হয়।
উদাহরণস্বরূপ, যদি Student একটি Entity হয়, তাহলে Student-এর Roll Number, Name, Age, Address, Phone Number, Date of Birth ইত্যাদি হলো Attribute।
সাধারণ পরীক্ষায় অনেক সময় “Name any four attributes” বলা হয়। সেক্ষেত্রে যেকোনো ৪টি Attribute-এর নাম লেখা যায়। তবে DBMS-এর ER Model ভালোভাবে বোঝার জন্য Attribute-এর সব গুরুত্বপূর্ণ ধরন জানা দরকার।
গুরুত্বপূর্ণ: ER Model-এ সাধারণত Attribute-এর গুরুত্বপূর্ণ প্রকারগুলো হলো— Simple Attribute, Composite Attribute, Single-valued Attribute, Multi-valued Attribute, Stored Attribute, Derived Attribute, Complex Attribute, Key Attribute, Null Attribute এবং Descriptive Attribute।
Attribute হলো কোনো Entity-এর বৈশিষ্ট্য বা গুণ। ER Model-এ Attribute-এর বিভিন্ন প্রকার রয়েছে, যেমন Simple Attribute, Composite Attribute, Single-valued Attribute, Multi-valued Attribute, Stored Attribute, Derived Attribute, Complex Attribute, Key Attribute, Null Attribute এবং Descriptive Attribute।

যদি প্রশ্নে “Name any four attributes” বলা হয়, তাহলে যেকোনো ৪টি লেখা যায়, যেমন Simple Attribute, Composite Attribute, Multi-valued Attribute এবং Derived Attribute।
যে Attribute-কে আর ছোট ছোট অংশে ভাগ করা যায় না, তাকে Simple Attribute বলা হয়। এটি একটি একক বা atomic value প্রকাশ করে। অর্থাৎ Simple Attribute নিজে সম্পূর্ণ এবং একে আরও অর্থপূর্ণ ছোট অংশে ভাঙার প্রয়োজন হয় না।
Simple Attribute সাধারণত এমন তথ্য প্রকাশ করে যা সরাসরি ব্যবহার করা যায়।
উদাহরণ:
এখানে Roll Number বা Age-কে আরও ছোট অর্থপূর্ণ অংশে ভাগ করার দরকার হয় না। তাই এগুলো Simple Attribute।
যে Attribute-কে একাধিক ছোট ছোট অংশে ভাগ করা যায়, তাকে Composite Attribute বলা হয়। Composite Attribute নিজে একটি বড় attribute হলেও তার ভেতরে একাধিক sub-attribute থাকতে পারে।
এই ধরনের Attribute ব্যবহার করলে কোনো তথ্যকে আরও বিস্তারিতভাবে সংরক্ষণ করা যায়।
উদাহরণ:
Address একটি Composite Attribute, কারণ Address-কে নিচের অংশে ভাগ করা যায়—
তাই Address একটি Composite Attribute।
আরও একটি উদাহরণ:
Name-কেও Composite Attribute হিসেবে ধরা যেতে পারে, কারণ Name-কে First Name, Middle Name এবং Last Name-এ ভাগ করা যায়।
যে Attribute কোনো একটি Entity-এর জন্য শুধুমাত্র একটি value ধারণ করে, তাকে Single-valued Attribute বলা হয়। অর্থাৎ একটি নির্দিষ্ট Entity instance-এর জন্য ওই Attribute-এর একটিই মান থাকবে।
Single-valued Attribute সাধারণত এমন তথ্য প্রকাশ করে যা একজন ব্যক্তি বা একটি বস্তুর জন্য একবারই থাকে।
উদাহরণ:
একজন ছাত্রের সাধারণত একটি Date of Birth এবং একটি Roll Number থাকে। তাই এগুলো Single-valued Attribute।
যে Attribute কোনো একটি Entity-এর জন্য একাধিক value ধারণ করতে পারে, তাকে Multi-valued Attribute বলা হয়। অর্থাৎ, একটি Entity-এর একই Attribute-এর একাধিক মান থাকতে পারে।
ER Diagram-এ Multi-valued Attribute সাধারণত double oval বা দ্বিগুণ উপবৃত্তের মাধ্যমে দেখানো হয়।
উদাহরণ: একজন ছাত্রের একাধিক phone number থাকতে পারে—
তাই Phone Number একটি Multi-valued Attribute হতে পারে।
আরও উদাহরণ: একজন ব্যক্তির একাধিক Email ID থাকতে পারে। তাই Email ID-ও Multi-valued Attribute হতে পারে।
যে Attribute-এর value সরাসরি database-এ সংরক্ষণ করা হয় এবং সেটি অন্য কোনো Attribute থেকে calculate করার দরকার হয় না, তাকে Stored Attribute বলা হয়।
Stored Attribute database-এর মধ্যে সরাসরি রাখা হয়, তাই প্রয়োজনে সেটি সরাসরি retrieve করা যায়।
উদাহরণ:
একজন ছাত্রের Date of Birth সরাসরি database-এ store করা থাকতে পারে। তাই Date of Birth একটি Stored Attribute।
আরও উদাহরণ:
যে Attribute অন্য কোনো Attribute থেকে নির্ণয় বা calculate করা যায়, তাকে Derived Attribute বলা হয়। Derived Attribute সাধারণত সরাসরি সংরক্ষণ না করেও অন্য Attribute-এর সাহায্যে বের করা যায়।
ER Diagram-এ Derived Attribute সাধারণত dotted oval বা dashed oval দ্বারা দেখানো হয়।
উদাহরণ: একজন ছাত্রের Date of Birth থেকে তার Age বের করা যায়।
অতএব, Age হলো Derived Attribute, কারণ এটি Date of Birth থেকে calculate করা যায়।
আরও উদাহরণ: কোনো ছাত্রের বিভিন্ন subject-এর marks থেকে Total Marks বা Average Marks বের করা যায়। তাই Total Marks বা Average Marks Derived Attribute হতে পারে।

যে Attribute Composite Attribute এবং Multi-valued Attribute-এর combination বা মিশ্র রূপ হতে পারে, তাকে Complex Attribute বলা হয়।
অর্থাৎ, কোনো Attribute যদি একদিকে ছোট ছোট অংশে ভাগ করা যায় এবং অন্যদিকে একই Entity-এর জন্য একাধিক value ধারণ করতে পারে, তাহলে সেটি Complex Attribute হতে পারে।
উদাহরণ:
একজন ব্যক্তির একাধিক Address থাকতে পারে, যেমন Permanent Address এবং Present Address। আবার প্রতিটি Address-কে House Number, Street, City, State, PIN Code ইত্যাদিতে ভাগ করা যায়।
তাই Address এখানে Complex Attribute হিসেবে কাজ করতে পারে।
যে Attribute কোনো Entity set-এর প্রতিটি Entity-কে uniquely identify করতে পারে, তাকে Key Attribute বলা হয়।
Key Attribute-এর value সাধারণত unique হয়। অর্থাৎ একই Entity set-এর দুইটি আলাদা entity-এর জন্য key value একই হওয়া উচিত নয়।
উদাহরণ:
Student entity-এর ক্ষেত্রে Roll Number একটি Key Attribute হতে পারে, কারণ Roll Number ব্যবহার করে প্রতিটি student-কে আলাদাভাবে identify করা যায়।
আরও উদাহরণ:
যে Attribute-এর value কোনো নির্দিষ্ট Entity-এর জন্য unknown, not applicable বা available নাও হতে পারে, তাকে Null Attribute বলা হয়।
Null মানে সবসময় zero নয়। Null মানে হলো value নেই, জানা নেই, বা প্রযোজ্য নয়।
উদাহরণ:
কোনো student-এর Middle Name নাও থাকতে পারে। সেক্ষেত্রে Middle Name attribute-এর value Null হতে পারে।
আরও উদাহরণ:
যে Attribute কোনো Entity নয়, বরং দুইটি Entity-এর মধ্যকার Relationship সম্পর্কে অতিরিক্ত তথ্য দেয়, তাকে Descriptive Attribute বলা হয়।
Descriptive Attribute সাধারণত relationship-এর property বা detail বোঝায়।
উদাহরণ:
ধরা যাক, Student এবং Course entity-এর মধ্যে Enrolls নামে একটি relationship আছে। এখানে Enrollment Date relationship সম্পর্কে অতিরিক্ত তথ্য দিচ্ছে।
তাই Enrollment Date একটি Descriptive Attribute হতে পারে।
সহজভাবে:
Student ─── Enrolls ─── Course
|
Enrollment Date
এখানে Enrollment Date Student বা Course-এর সরাসরি attribute নয়; এটি Enrolls relationship-কে describe করছে।
| ক্রমিক নং | Attribute-এর ধরন | অর্থ | উদাহরণ |
|---|---|---|---|
| ১ | Simple Attribute | যাকে আর ছোট অংশে ভাগ করা যায় না | Roll Number, Age |
| ২ | Composite Attribute | যাকে ছোট অংশে ভাগ করা যায় | Address, Name |
| ৩ | Single-valued Attribute | যার একটি মাত্র value থাকে | Date of Birth, Roll Number |
| ৪ | Multi-valued Attribute | যার একাধিক value থাকতে পারে | Phone Number, Email ID |
| ৫ | Stored Attribute | যার value সরাসরি database-এ stored থাকে | Date of Birth, Student Name |
| ৬ | Derived Attribute | যা অন্য attribute থেকে নির্ণয় করা যায় | Age, Total Marks |
| ৭ | Complex Attribute | Composite ও Multi-valued attribute-এর combination | Multiple Address with House No, Street, City |
| ৮ | Key Attribute | যা entity-কে uniquely identify করে | Roll Number, Employee ID |
| ৯ | Null Attribute | যার value unknown বা not applicable হতে পারে | Middle Name, Alternate Phone |
| ১০ | Descriptive Attribute | যা relationship সম্পর্কে অতিরিক্ত তথ্য দেয় | Enrollment Date |
ধরা যাক, একটি Student entity আছে। Student entity-এর attribute গুলো নিচের মতো হতে পারে:
| Attribute | Attribute-এর ধরন | ব্যাখ্যা |
|---|---|---|
| Roll Number | Key Attribute / Simple Attribute | এটি student-কে uniquely identify করে এবং আর ভাগ করা যায় না |
| Name | Composite Attribute | First Name, Middle Name, Last Name-এ ভাগ করা যায় |
| Date of Birth | Stored Attribute / Single-valued Attribute | এটি database-এ সরাসরি সংরক্ষণ করা যায় এবং একজন student-এর একটিই DOB থাকে |
| Phone Number | Multi-valued Attribute | একজন ছাত্রের একাধিক phone number থাকতে পারে |
| Age | Derived Attribute | Date of Birth থেকে Age বের করা যায় |
| Address | Composite Attribute / Complex Attribute | Address-কে ছোট অংশে ভাগ করা যায় এবং একাধিক address থাকতে পারে |
| Middle Name | Null Attribute | সব ছাত্রের Middle Name নাও থাকতে পারে |
| Enrollment Date | Descriptive Attribute | Student এবং Course-এর enrollment relationship সম্পর্কে তথ্য দেয় |

ER Model-এ Attribute সাধারণত oval বা উপবৃত্তের মাধ্যমে দেখানো হয়। বিভিন্ন ধরনের Attribute বিভিন্নভাবে চিহ্নিত করা যেতে পারে।

Student
├── Roll Number → Key Attribute / Simple Attribute
├── Name → Composite Attribute
│ ├── First Name
│ ├── Middle Name
│ └── Last Name
├── Date of Birth → Stored Attribute / Single-valued Attribute
├── Phone Number → Multi-valued Attribute
├── Age → Derived Attribute
├── Address → Composite / Complex Attribute
└── Middle Name → Null Attribute
Student ─── Enrolls ─── Course
|
Enrollment Date → Descriptive Attribute
শিক্ষক ছাত্রদের এভাবে বোঝাতে পারেন:
ধরা যাক, আমরা একজন ছাত্রের তথ্য লিখছি। ছাত্রের Roll Number, Name, Date of Birth, Phone Number, Age, Address এবং Course Enrollment Date লিখতে হবে।
এখানে Roll Number student-কে uniquely identify করে, তাই এটি Key Attribute। Name First Name ও Last Name-এ ভাগ করা যায়, তাই এটি Composite Attribute। Date of Birth সরাসরি stored থাকে, তাই এটি Stored Attribute। Phone Number একাধিক হতে পারে, তাই এটি Multi-valued Attribute। Age Date of Birth থেকে বের করা যায়, তাই এটি Derived Attribute। Middle Name না থাকলে সেটি Null Attribute হতে পারে। আর Enrollment Date Student ও Course-এর relationship describe করলে সেটি Descriptive Attribute।
প্রথমে Attribute-এর সংজ্ঞা লিখবে।
তারপর প্রশ্ন অনুযায়ী Attribute-এর প্রকার লিখবে।
যদি “Name any four” বলা হয়, তাহলে যেকোনো ৪টি লিখলেই হবে।
প্রতিটি প্রকারের ২-৩ লাইনের ব্যাখ্যা দেবে।
প্রতিটির সাথে একটি করে সহজ উদাহরণ দেবে।
শেষে একটি table দিলে উত্তরটি আরও সুন্দর ও পরীক্ষার উপযোগী হবে।
Attribute-এর ১০টি ধরন মনে রাখার সহজ সূত্র:
S C S M S D C K N D
DBMS-এর ER Model-এ Attribute হলো কোনো Entity-এর বৈশিষ্ট্য বা গুণ। Attribute-এর মাধ্যমে Entity সম্পর্কে বিস্তারিত তথ্য জানা যায়। Attribute-এর বিভিন্ন প্রকার রয়েছে, যেমন Simple Attribute, Composite Attribute, Single-valued Attribute, Multi-valued Attribute, Stored Attribute, Derived Attribute, Complex Attribute, Key Attribute, Null Attribute এবং Descriptive Attribute।
যে Attribute-কে আর ভাগ করা যায় না তাকে Simple Attribute বলে, যেমন Roll Number। যে Attribute-কে ছোট অংশে ভাগ করা যায় তাকে Composite Attribute বলে, যেমন Address বা Name। যে Attribute একটি মাত্র value ধারণ করে তাকে Single-valued Attribute বলে, যেমন Date of Birth। যে Attribute একাধিক value ধারণ করতে পারে তাকে Multi-valued Attribute বলে, যেমন Phone Number। যে Attribute সরাসরি database-এ store থাকে তাকে Stored Attribute বলে, যেমন Date of Birth। যে Attribute অন্য attribute থেকে নির্ণয় করা যায় তাকে Derived Attribute বলে, যেমন Age। Composite এবং Multi-valued attribute-এর combination হলে তাকে Complex Attribute বলে। যে Attribute entity-কে uniquely identify করে তাকে Key Attribute বলে, যেমন Roll Number। যে Attribute-এর value unknown বা not applicable হতে পারে তাকে Null Attribute বলে, যেমন Middle Name। আর যে Attribute relationship সম্পর্কে অতিরিক্ত তথ্য দেয় তাকে Descriptive Attribute বলে, যেমন Enrollment Date। তাই database design-এ Attribute-এর প্রকারভেদ জানা অত্যন্ত গুরুত্বপূর্ণ।