✏️ Explanatory Question

এট্রিবিউটের প্রকারভেদ (ডাটাবেজে কত ধরনের অ্যাট্রিবিউট (Attribute) দেখতে পাওয়া যায়? যেকোনো চারটি অ্যাট্রিবিউটের নাম বলো।)

👁 14 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

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

  •   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

Types of attributesTypes of attributes
Figure: Types of attributes

যদি প্রশ্নে “Name any four attributes” বলা হয়, তাহলে যেকোনো ৪টি লেখা যায়, যেমন Simple Attribute, Composite Attribute, Multi-valued Attribute এবং Derived Attribute


  ১. Simple Attribute

যে Attribute-কে আর ছোট ছোট অংশে ভাগ করা যায় না, তাকে Simple Attribute বলা হয়। এটি একটি একক বা atomic value প্রকাশ করে। অর্থাৎ Simple Attribute নিজে সম্পূর্ণ এবং একে আরও অর্থপূর্ণ ছোট অংশে ভাঙার প্রয়োজন হয় না।

Simple Attribute সাধারণত এমন তথ্য প্রকাশ করে যা সরাসরি ব্যবহার করা যায়।

  উদাহরণ:

  •   Roll Number
  •   Age
  •   Gender
  •   Class

এখানে Roll Number বা Age-কে আরও ছোট অর্থপূর্ণ অংশে ভাগ করার দরকার হয় না। তাই এগুলো Simple Attribute।


  ২. Composite Attribute

যে Attribute-কে একাধিক ছোট ছোট অংশে ভাগ করা যায়, তাকে Composite Attribute বলা হয়। Composite Attribute নিজে একটি বড় attribute হলেও তার ভেতরে একাধিক sub-attribute থাকতে পারে।

এই ধরনের Attribute ব্যবহার করলে কোনো তথ্যকে আরও বিস্তারিতভাবে সংরক্ষণ করা যায়।

  উদাহরণ:

Address একটি Composite Attribute, কারণ Address-কে নিচের অংশে ভাগ করা যায়—

  •   House Number
  •   Street
  •   City
  •   PIN Code

তাই Address একটি Composite Attribute।

  আরও একটি উদাহরণ:

Name-কেও Composite Attribute হিসেবে ধরা যেতে পারে, কারণ Name-কে First Name, Middle Name এবং Last Name-এ ভাগ করা যায়।


  ৩. Single-valued Attribute

যে Attribute কোনো একটি Entity-এর জন্য শুধুমাত্র একটি value ধারণ করে, তাকে Single-valued Attribute বলা হয়। অর্থাৎ একটি নির্দিষ্ট Entity instance-এর জন্য ওই Attribute-এর একটিই মান থাকবে।

Single-valued Attribute সাধারণত এমন তথ্য প্রকাশ করে যা একজন ব্যক্তি বা একটি বস্তুর জন্য একবারই থাকে।

  উদাহরণ:

  •   Date of Birth
  •   Age
  •   Roll Number
  •   Aadhaar Number

একজন ছাত্রের সাধারণত একটি Date of Birth এবং একটি Roll Number থাকে। তাই এগুলো Single-valued Attribute।


  ৪. Multi-valued Attribute

যে Attribute কোনো একটি Entity-এর জন্য একাধিক value ধারণ করতে পারে, তাকে Multi-valued Attribute বলা হয়। অর্থাৎ, একটি Entity-এর একই Attribute-এর একাধিক মান থাকতে পারে।

ER Diagram-এ Multi-valued Attribute সাধারণত double oval বা দ্বিগুণ উপবৃত্তের মাধ্যমে দেখানো হয়।

  উদাহরণ: একজন ছাত্রের একাধিক phone number থাকতে পারে—

  •   Mobile Number
  •   Home Phone Number
  •   Guardian Phone Number

তাই Phone Number একটি Multi-valued Attribute হতে পারে।

  আরও উদাহরণ: একজন ব্যক্তির একাধিক Email ID থাকতে পারে। তাই Email ID-ও Multi-valued Attribute হতে পারে।


  ৫. Stored Attribute

যে Attribute-এর value সরাসরি database-এ সংরক্ষণ করা হয় এবং সেটি অন্য কোনো Attribute থেকে calculate করার দরকার হয় না, তাকে Stored Attribute বলা হয়।

Stored Attribute database-এর মধ্যে সরাসরি রাখা হয়, তাই প্রয়োজনে সেটি সরাসরি retrieve করা যায়।

  উদাহরণ:

একজন ছাত্রের Date of Birth সরাসরি database-এ store করা থাকতে পারে। তাই Date of Birth একটি Stored Attribute।

  আরও উদাহরণ:

  •   Date of Birth
  •   Roll Number
  •   Student Name
  •   Admission Date

  ৬. Derived 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 হতে পারে।


Types of attributes
Figure: Types of attributes

  ৭. Complex 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 ইত্যাদিতে ভাগ করা যায়।

  •   Permanent Address
  •   Present Address
  •   Street
  •   City
  •   PIN Code

তাই Address এখানে Complex Attribute হিসেবে কাজ করতে পারে।


  ৮. Key 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 করা যায়।

  আরও উদাহরণ:

  •   Student Roll Number
  •   Employee ID
  •   Product ID
  •   Account Number

  ৯. Null Attribute

যে Attribute-এর value কোনো নির্দিষ্ট Entity-এর জন্য unknown, not applicable বা available নাও হতে পারে, তাকে Null Attribute বলা হয়।

Null মানে সবসময় zero নয়। Null মানে হলো value নেই, জানা নেই, বা প্রযোজ্য নয়।

  উদাহরণ:

কোনো student-এর Middle Name নাও থাকতে পারে। সেক্ষেত্রে Middle Name attribute-এর value Null হতে পারে।

  আরও উদাহরণ:

  •   Middle Name may be Null
  •   Alternate Phone Number may be Null
  •   Passport Number may be Null

  ১০. Descriptive Attribute

যে 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-এর সব প্রকার এক নজরে

ক্রমিক নং 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

  School Database-এর মাধ্যমে উদাহরণ

ধরা যাক, একটি 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 সম্পর্কে তথ্য দেয়

Example of attribute with help of student database
Figure: Example of attribute with help of student database


  ER Diagram-এ Attribute-এর ধারণা

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

  •   Simple Attribute সাধারণ oval দ্বারা দেখানো হয়।
  •   Composite Attribute-এর অধীনে ছোট ছোট sub-attribute যুক্ত থাকে।
  •   Single-valued Attribute একটি entity-এর জন্য একটি value প্রকাশ করে।
  •   Multi-valued Attribute সাধারণত double oval দ্বারা দেখানো হয়।
  •   Stored Attribute সরাসরি database-এ সংরক্ষিত থাকে।
  •   Derived Attribute সাধারণত dotted oval দ্বারা দেখানো হয়।
  •   Complex Attribute composite এবং multi-valued structure-এর combination হতে পারে।
  •   Key Attribute সাধারণত underline করে দেখানো হয়।
  •   Null Attribute-এর value না-ও থাকতে পারে।
  •   Descriptive Attribute relationship-এর অতিরিক্ত তথ্য প্রকাশ করে।
Example of attribute with help of ER model
Figure: Example of attribute with help of ER model

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

  •   S = Simple Attribute
  •   C = Composite Attribute
  •   S = Single-valued Attribute
  •   M = Multi-valued Attribute
  •   S = Stored Attribute
  •   D = Derived Attribute
  •   C = Complex Attribute
  •   K = Key Attribute
  •   N = Null Attribute
  •   D = Descriptive Attribute

  চূড়ান্ত পরীক্ষামূলক উত্তর

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-এর প্রকারভেদ জানা অত্যন্ত গুরুত্বপূর্ণ।