Field
ফিল্ড
ফিল্ড (Field)
১. ভূমিকা — ফর্ম পূরণ করতে হয়নি কখনো?
ব্যাংকে অ্যাকাউন্ট খুলতে গেলে একটি ফর্ম দেয়। সেখানে থাকে:
- নাম: _______________
- পিতার নাম: _______________
- জন্ম তারিখ: _______________
- ঠিকানা: _______________
- ফোন নম্বর: _______________
প্রতিটি "_______________" হলো একটি খালি জায়গা যেখানে একটি নির্দিষ্ট ধরনের তথ্য লেখা যায়।
এই প্রতিটি খালি জায়গাই হলো ডেটাবেজে একটি Field (ফিল্ড)!
মজার তথ্য: জনপ্রিয় সোশ্যাল মিডিয়া Facebook এর User Table এ ৫০০ এরও বেশি Field থাকতে পারে! প্রতিটি Field তোমার একটি তথ্য সংরক্ষণ করে — নাম থেকে শুরু করে তোমার পছন্দের ক্রীড়া পর্যন্ত!
২. সমস্যা — কীভাবে বিভিন্ন ধরনের তথ্য আলাদা রাখব?
একজন ছাত্রের তথ্যে থাকে:
- নাম (লেখা/Text)
- রোল নম্বর (পূর্ণ সংখ্যা/Number)
- জন্ম তারিখ (তারিখ/Date)
- GPA (দশমিক সংখ্যা/Decimal)
- উপস্থিতি (সত্য/মিথ্যা — আছে বা নেই)
প্রতিটি তথ্য আলাদা ধরনের! ডেটাবেজে প্রতিটি আলাদা তথ্যের জন্য আলাদা Field থাকে, এবং প্রতিটি Field এর একটি নির্দিষ্ট Data Type থাকে।
৩. চিত্রের মাধ্যমে বোঝো
Students Table এ Field গুলো:
Field 1 Field 2 Field 3 Field 4 Field 5
(নাম) (রোল) (বিভাগ) (নম্বর) (তারিখ)
↓ ↓ ↓ ↓ ↓
┌──────────────┬──────┬──────────┬────────┬────────────┐
│ রাহেলা আক্তর│ 101 │ বিজ্ঞান │ 850 │ 2008-03-15 │
│ মো: করিম │ 102 │ ব্যবসা │ 790 │ 2007-11-22 │
│ সুমাইয়া │ 103 │ বিজ্ঞান │ 880 │ 2008-06-10 │
└──────────────┴──────┴──────────┴────────┴────────────┘
Data Types:
নাম → VARCHAR (পরিবর্তনশীল অক্ষর)
রোল → INTEGER (পূর্ণ সংখ্যা)
বিভাগ → VARCHAR (অক্ষর)
নম্বর → INTEGER (পূর্ণ সংখ্যা)
তারিখ → DATE (তারিখ)
৪. বাস্তব জীবনের সাথে মিল
উপমা: ডেটাবেজের Field হলো ঠিক যেমন একটি ফর্মের বিভিন্ন ঘর। SSC পরীক্ষার Application Form এ প্রতিটি ঘর একটি Field — নাম লেখার ঘর, রোল লেখার ঘর, ছবি লাগানোর ঘর। প্রতিটি ঘরে নির্দিষ্ট ধরনের তথ্য দেওয়া যায়!
Module 1: Field কী? (What is a Field?)
📌 সংজ্ঞা
Field হলো একটি টেবিলের একটি Column বা Attribute যা একটি নির্দিষ্ট ধরনের তথ্য সংরক্ষণ করে। প্রতিটি Field এর একটি নাম (Field Name) এবং একটি Data Type থাকে।
Field এর মূল বৈশিষ্ট্য
| বৈশিষ্ট্য | বর্ণনা | উদাহরণ |
|---|---|---|
| নাম (Field Name) | প্রতিটি Field এর অনন্য নাম | student_name |
| Data Type | কী ধরনের তথ্য রাখবে | VARCHAR, INTEGER |
| Width/Size | তথ্যের সর্বোচ্চ আকার | ৫০ অক্ষর |
| NULL/NOT NULL | খালি থাকতে পারবে কিনা | NOT NULL |
| Default Value | কিছু না দিলে ডিফল্ট মান | 0, 'N/A' |
Module 2: Data Types বিস্তারিত
ডেটাবেজের প্রধান Data Types:
সংখ্যা ধরনের (Numeric):
INTEGER → পূর্ণ সংখ্যা → বয়স: 17, রোল: 101
DECIMAL → দশমিক সংখ্যা → GPA: 4.75, মূল্য: 150.50
FLOAT → ভাসমান দশমিক → বৈজ্ঞানিক গণনা
অক্ষর ধরনের (Character):
CHAR(n) → নির্দিষ্ট দৈর্ঘ্য → লিঙ্গ: 'M'/'F' (১ অক্ষর)
VARCHAR(n)→ পরিবর্তনশীল → নাম: "রাহেলা"
TEXT → দীর্ঘ লেখা → মন্তব্য, বিবরণ
তারিখ/সময়:
DATE → তারিখ → 2026-05-12
TIME → সময় → 14:30:00
DATETIME → তারিখ ও সময় → 2026-05-12 14:30:00
বিশেষ ধরনের:
BOOLEAN → সত্য/মিথ্যা → উপস্থিত: TRUE/FALSE
BLOB → বাইনারি ডেটা → ছবি, ফাইল
Module 3: Field এর Properties (বৈশিষ্ট্য)
১. Field Name (ফিল্ড নাম)
ভালো Field Name এর নিয়ম:
✅ student_name (ছোট হাতে, আন্ডারস্কোর)
✅ roll_number
✅ date_of_birth
❌ Student Name (স্পেস ব্যবহার করা উচিত নয়)
❌ 1stName (সংখ্যা দিয়ে শুরু নয়)
২. NOT NULL Constraint
কিছু Field অবশ্যই পূরণ করতে হবে:
নাম: NOT NULL → নাম ছাড়া Record গ্রহণযোগ্য নয়
রোল: NOT NULL → রোল ছাড়া ছাত্র চেনা যাবে না
ঠিকানা: NULL OK → ঠিকানা না থাকলেও চলবে
৩. Default Value
Default Value উদাহরণ:
উপস্থিতি DEFAULT FALSE → কেউ না এলে Absent
তারিখ DEFAULT TODAY → আজকের তারিখ স্বয়ংক্রিয়
গ্রেড DEFAULT 'N/A' → ফলাফল না এলে N/A
Module 4: Field ও Attribute
Field ও Attribute কি এক?
হ্যাঁ! বিভিন্ন প্রসঙ্গে বিভিন্ন নাম ব্যবহার হয়:
| প্রসঙ্গ | নাম |
|---|---|
| Physical Database | Field |
| Relational Model | Attribute |
| Spreadsheet | Column Header |
| Programming | Property |
উদাহরণ:
Field Name: student_name
Data Type: VARCHAR(100)
NOT NULL: YES
→ এটা "নাম" তথ্য রাখে, সর্বোচ্চ ১০০ অক্ষর, খালি রাখা যাবে না
Module 5: Field এর ধরন
Key Field (কী ফিল্ড)
Key Field:
Primary Key Field → অনন্য শনাক্তকারী
Foreign Key Field → অন্য টেবিলের সাথে সংযোগ
Index Field → দ্রুত অনুসন্ধানের জন্য
Calculated Field (গণনাকৃত ফিল্ড)
Calculated Field:
বয়স = বর্তমান বছর - জন্ম সাল
মোট মূল্য = পরিমাণ × দাম
এই Field এ সরাসরি মান রাখা হয় না,
বরং অন্য Field থেকে গণনা করা হয়।
Module 6: বাস্তব উদাহরণ — একটি ব্যাংকের Field
Bank Account Table এর Fields:
┌─────────────────┬──────────────┬────────────┬──────────┐
│ Field Name │ Data Type │ Size │ Null? │
├─────────────────┼──────────────┼────────────┼──────────┤
│ account_number │ VARCHAR │ 16 char │ NOT NULL │
│ account_name │ VARCHAR │ 100 char │ NOT NULL │
│ balance │ DECIMAL │ 15,2 digit │ NOT NULL │
│ account_type │ CHAR │ 1 char │ NOT NULL │
│ opening_date │ DATE │ — │ NOT NULL │
│ phone_number │ VARCHAR │ 15 char │ NULL OK │
│ address │ TEXT │ — │ NULL OK │
└─────────────────┴──────────────┴────────────┴──────────┘
account_type: 'S' = Savings, 'C' = Current, 'F' = FDR
🧠 মূল শিক্ষা
মনে রাখো: Field হলো একটি টেবিলের Column বা Attribute। প্রতিটি Field এর নাম, Data Type ও Properties থাকে। সঠিক Data Type নির্বাচন করা খুব গুরুত্বপূর্ণ — নম্বরের জায়গায় VARCHAR ব্যবহার করলে গণনা করা যাবে না!
🔁 নিজে পরীক্ষা করো
❓ প্রশ্ন ১: Field ও Attribute কি একই জিনিস? ✅ উত্তর: হ্যাঁ, Field ও Attribute একই — Field বলা হয় সাধারণ ডেটাবেজে, Attribute বলা হয় Relational Model এ।
❓ প্রশ্ন ২: VARCHAR ও CHAR এর পার্থক্য কী? ✅ উত্তর: CHAR নির্দিষ্ট আকারের — সর্বদা নির্ধারিত জায়গা নেয়। VARCHAR পরিবর্তনশীল — যতটুকু দরকার ততটুকু জায়গা নেয়।
❓ প্রশ্ন ৩: NOT NULL মানে কী? ✅ উত্তর: NOT NULL মানে সেই Field অবশ্যই পূরণ করতে হবে — খালি রাখা যাবে না।
❓ প্রশ্ন ৪: Calculated Field কী? ✅ উত্তর: Calculated Field হলো যে Field এর মান অন্য Field থেকে গণনা করা হয়, সরাসরি রাখা হয় না। যেমন — বয়স = বর্তমান বছর - জন্ম সাল।
📝 HSC পরীক্ষার প্রস্তুতি
পরীক্ষায় যা আসতে পারে
🎯 Field/Attribute এর সংজ্ঞা ও Data Type উদাহরণ (৩ নম্বর) 🎯 Field ও Record এর পার্থক্য (৩ নম্বর) 🎯 একটি টেবিলের জন্য উপযুক্ত Field ও Data Type নির্ধারণ করো (৪ নম্বর)
সাধারণ ভুলসমূহ
⚠️ ফোন নম্বরের জন্য INTEGER ব্যবহার — ফোন নম্বরে +880 বা 01 থাকে, তাই VARCHAR ব্যবহার করতে হবে ⚠️ GPA এর জন্য INTEGER — GPA দশমিক, তাই DECIMAL ব্যবহার করতে হবে ⚠️ Field ও Record গুলিয়ে ফেলা — Field = Column, Record = Row
মনে রাখার কৌশল
💡 Field = ফর্মের একটি ঘর (যেমন "নাম:" লেখা ঘর) 💡 Data Type মনে রাখার নিয়ম: সংখ্যায় গণনা হলে INTEGER/DECIMAL, লেখা হলে VARCHAR, তারিখ হলে DATE
✅ সারাংশ
- Field: টেবিলের একটি Column — একটি নির্দিষ্ট বৈশিষ্ট্য ধারণ করে
- Attribute: Relational Model এ Field এর অন্য নাম
- Data Types: INTEGER, VARCHAR, DATE, DECIMAL, BOOLEAN, TEXT, BLOB
- NOT NULL: সেই Field অবশ্যই পূরণ করতে হবে
- Default Value: কিছু না দিলে স্বয়ংক্রিয় মান
- Calculated Field: অন্য Field থেকে গণনাকৃত মান
Data Type তুলনা সারণি
| Data Type | কী রাখা যায় | উদাহরণ | মন্তব্য |
|---|---|---|---|
| INTEGER | পূর্ণ সংখ্যা | রোল: 101 | গণনা করা যায় |
| DECIMAL | দশমিক | GPA: 4.75 | নির্ভুল গণনা |
| VARCHAR(n) | পরিবর্তনশীল টেক্সট | নাম: "রাহেলা" | সাধারণ টেক্সটের জন্য |
| CHAR(n) | নির্দিষ্ট টেক্সট | লিঙ্গ: 'M' | ছোট নির্দিষ্ট মান |
| DATE | তারিখ | 2026-05-12 | গণনা সম্ভব |
| BOOLEAN | সত্য/মিথ্যা | উপস্থিত: TRUE | হ্যাঁ/না প্রশ্ন |
| TEXT | দীর্ঘ লেখা | বিবরণ | সীমাহীন দৈর্ঘ্য |
🎯 অনুশীলন প্রশ্ন
১. একটি পণ্যের (Product) টেবিলের জন্য ৫টি Field নির্ধারণ করো এবং প্রতিটির Data Type বলো।
২. ফোন নম্বরের জন্য INTEGER এর বদলে VARCHAR কেন ব্যবহার করা উচিত?
৩. NOT NULL ও NULL Allowed এর মধ্যে পার্থক্য কী? উদাহরণ দাও।
৪. Calculated Field কী? বেতন স্লিপের একটি Calculated Field এর উদাহরণ দাও।
৫. MCQ: ছাত্রের GPA (যেমন 4.75) সংরক্ষণের জন্য কোন Data Type উপযুক্ত? (ক) INTEGER (খ) VARCHAR (গ) DECIMAL (ঘ) BOOLEAN উত্তর: (গ) DECIMAL