IBM DB2 একটি শক্তিশালী ডেটাবেস ম্যানেজমেন্ট সিস্টেম (DBMS) যা বিভিন্ন ধরনের ডেটা সংরক্ষণের জন্য বিস্তৃত Data Types সমর্থন করে। ডেটাবেসে ডেটা সঠিকভাবে স্টোর এবং ম্যানেজ করতে বিভিন্ন ধরনের ডেটা টাইপ ব্যবহৃত হয়, যেমন স্ট্রিং, ইনটিজার, ডেট, টাইম, বুলিয়ান ইত্যাদি। DB2 এ সমর্থিত ডেটা টাইপগুলি ডেটাবেস ডিজাইন এবং কুয়েরি অপ্টিমাইজেশন প্রক্রিয়ায় গুরুত্বপূর্ণ ভূমিকা পালন করে।
DB2 এ প্রধান Data Types
1. Character Data Types
এই ধরনের ডেটা টাইপ স্ট্রিং ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
- CHAR(n): নির্দিষ্ট দৈর্ঘ্যের ফিক্সড-লেংথ স্ট্রিং। যদি স্ট্রিং এর দৈর্ঘ্য কম হয় তবে এটি পূর্ণ করার জন্য প্যাডিং করা হয়।
- উদাহরণ:
CHAR(10)
- ১০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং।
- VARCHAR(n): পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং। এটি ডেটাবেসে স্টোর করা স্ট্রিংয়ের প্রকৃত দৈর্ঘ্য অনুযায়ী স্থান ব্যবহার করে।
- উদাহরণ:
VARCHAR(50)
- ৫০ ক্যারেক্টারের মধ্যে যেকোনো দৈর্ঘ্যের স্ট্রিং।
- CLOB: বড় স্ট্রিং ডেটার জন্য ব্যবহৃত হয়, বিশেষ করে টেক্সট ডেটা যেখানে কয়েক হাজার বা তার অধিক ক্যারেক্টার থাকতে পারে।
- উদাহরণ: ব্যবহারকারীর মন্তব্য বা প্রবন্ধের মতো বড় ডেটা।
2. Numeric Data Types
এই ধরনের ডেটা টাইপ সংখ্যাগুলি স্টোর করতে ব্যবহৃত হয়।
- INTEGER: একটি পূর্ণসংখ্যা ডেটা টাইপ যা -2,147,483,648 থেকে 2,147,483,647 পর্যন্ত মান ধারণ করতে পারে।
- উদাহরণ:
INTEGER
- বয়স, সংখ্যা বা কাউন্ট মান।
- SMALLINT: ছোট পূর্ণসংখ্যা ডেটা টাইপ, যা -32,768 থেকে 32,767 পর্যন্ত মান ধারণ করতে পারে।
- উদাহরণ:
SMALLINT
- স্টেট কোড বা অন্যান্য ছোট পরিসরের সংখ্যা।
- BIGINT: বড় পূর্ণসংখ্যা ডেটা টাইপ, যা বিশাল সংখ্যা ধারণ করতে সক্ষম, যেমন ব্যাংক ব্যালেন্স বা বড় পরিসরের গণনা।
- উদাহরণ:
BIGINT
- জাতীয় সঞ্চয় বা মোট পণ্য উৎপাদন সংখ্যা।
- DECIMAL(p,s): সঠিক দশমিক সংখ্যা ধারণ করতে ব্যবহৃত হয়, যেখানে
p
হল প্রিসিশন এবং s
হল স্কেল। এটি অর্থনৈতিক হিসাবের জন্য ব্যবহৃত হয়।- উদাহরণ:
DECIMAL(10,2)
- ১০ অংকের সংখ্যা, যার মধ্যে ২ অংক দশমিকের পর থাকবে (যেমন 12345.67)।
- NUMERIC(p,s): DECIMAL এর মতো, তবে এটি আরও নির্ভুলতার জন্য ব্যবহৃত হতে পারে। একইভাবে প্রিসিশন (p) এবং স্কেল (s) সংজ্ঞায়িত করা হয়।
3. Date and Time Data Types
ডেটা এবং সময় সম্পর্কিত মান ধারণ করতে ব্যবহৃত ডেটা টাইপ।
- DATE: শুধুমাত্র তারিখ (YYYY-MM-DD) ধারণ করে।
- উদাহরণ:
DATE
- 2024-11-27
- TIME: শুধুমাত্র সময় (HH:MM:SS) ধারণ করে।
- TIMESTAMP: তারিখ এবং সময় একসাথে ধারণ করে (YYYY-MM-DD HH:MM:SS)।
- উদাহরণ:
TIMESTAMP
- 2024-11-27 15:30:00
- TIME WITH TIMEZONE: সময় এবং টাইমজোন ধারণ করে, যা নির্দিষ্ট একটি টাইমজোনে সময় প্রদান করে।
- উদাহরণ:
TIME WITH TIMEZONE
- 15:30:00 +05:00
- TIMESTAMP WITH TIMEZONE: টাইমস্ট্যাম্প এবং টাইমজোনের সাথে সংশ্লিষ্ট সময় ধারণ করে।
- উদাহরণ:
TIMESTAMP WITH TIMEZONE
- 2024-11-27 15:30:00 +05:00
4. Binary Data Types
বাইনারি ডেটা স্টোর করার জন্য ব্যবহৃত ডেটা টাইপ।
- BINARY(n): নির্দিষ্ট দৈর্ঘ্যের বাইনারি ডেটা।
- উদাহরণ:
BINARY(10)
- ১০ বাইটের বাইনারি ডেটা।
- VARBINARY(n): পরিবর্তনশীল দৈর্ঘ্যের বাইনারি ডেটা।
- উদাহরণ:
VARBINARY(50)
- ৫০ বাইটের মধ্যে যেকোনো দৈর্ঘ্যের বাইনারি ডেটা।
- BLOB: বড় বাইনারি ডেটার জন্য ব্যবহৃত, যেমন ছবি বা অডিও ফাইল।
- উদাহরণ: ব্যবহারকারীর ছবির জন্য বা মিউজিক ফাইল।
5. Boolean Data Type
- BOOLEAN: সত্য বা মিথ্যা (TRUE/FALSE) মান ধারণ করে।
- উদাহরণ:
BOOLEAN
- একক সত্য বা মিথ্যা মানের জন্য।
6. XML Data Type
- XML: XML ডেটা ফরম্যাটের তথ্য ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত ওয়েব সার্ভিস এবং অন্যান্য XML-বেসড অ্যাপ্লিকেশনে ব্যবহৃত হয়।
- উদাহরণ:
XML
- ওয়েব সার্ভিস থেকে প্রাপ্ত XML ডেটা।
DB2 এ সমর্থিত অন্যান্য Data Types
1. ROWID: এটি ডেটাবেসের প্রতিটি রেকর্ডের জন্য একটি অনন্য আইডি ধারণ করে, যা নির্দিষ্ট টেবিলের রেকর্ড শনাক্ত করতে ব্যবহৃত হয়।
2. ARRAY: একাধিক মান ধারণ করতে সক্ষম এমন ডেটা টাইপ। এটি বিশেষ করে যেখানে একাধিক মানের দরকার হয়, যেমন স্টুডেন্টদের রোল নম্বর।
3. User-Defined Data Types (UDT): DB2 আপনাকে কাস্টম ডেটা টাইপ তৈরি করতে দেয়, যা আপনার ডেটাবেসের জন্য বিশেষভাবে উপযুক্ত হতে পারে।
সারসংক্ষেপ
DB2 এর সমর্থিত ডেটা টাইপগুলি ডেটাবেস ডিজাইন এবং কুয়েরি অপ্টিমাইজেশন প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ। DB2 বিভিন্ন ধরনের ডেটা টাইপ যেমন Character, Numeric, Date and Time, Binary, Boolean, XML, এবং অন্যান্য বিশেষ ডেটা টাইপ সমর্থন করে, যা ডেটাবেসে বিভিন্ন ধরনের তথ্য সংরক্ষণ ও পরিচালনা করতে সহায়তা করে। সঠিক ডেটা টাইপ নির্বাচন ডেটাবেসের কার্যকারিতা, নিরাপত্তা, এবং ডেটা এক্সেসের গতি উন্নত করে।