প্রথম দিকে যখন কোন প্রোগ্রামিং ল্যাংগুয়েজ শিখা হয় তখন এসব ডাটা টাইপ সহ আরো কিছু বিষয় ইম্পর্টেন্ট মনে হয় না কিন্তু আসলেই বিষয় গুলো অনেক ইমপর্টেন্ট। Importance of Data Types

প্রথম দিকে যখন কোন প্রোগ্রামিং ল্যাংগুয়েজ শিখা হয় তখন এসব ডাটা টাইপ সহ আরো কিছু বিষয় ইম্পর্টেন্ট মনে হয় না কিন্তু আসলেই বিষয় গুলো অনেক ইমপর্টেন্ট। আপনি যখন একটি ডাটাবেজের টেবিল তৈরি করবেন তখন অবশ্যই আপনাকে ডাটা টাইপ নির্ধারন করে দিতে হবে। ধরুন আপনি একটি টেবিল তৈরি করবেন আর টেবিলের একটি ফিল্ড থাকবে ইমেইল এড্রেস ষ্টোর করার জন্য। আপনি টেবিল তৈরি করার সময় প্রথম ফিল্ডটি ইন্টেজার বলে দিলেন। ফলে আপনি যখন ঐ ফিল্ডে ইমেল এড্রেস ষ্টোর করবেন কিন্তু কোন ইমেইল এড্রেস ষ্টোর হবেনা কারন ইন্টেজার টাইপ ডাটা শুধু মাত্র নাম্বার সাপোর্ট করে কিন্তু রিয়েল অথবা টেক্সট টাইপ ডাটা ষ্টোর করতে পারেনা। তাই ফলাফল “0” দেখাবে। আশা করি ডাটা টাইপ এর প্রয়োজনিয়তা নবীনদের কাছে স্পষ্ট হয়েছে। পরবর্তী পর্বে আমরা যখন টেবিল নিয়ে কাজ করা হবে তখন একই সাথে ডাটা টাইপ এর উদাহরন দেওয়া হবে। ডাটা টাইপের পূর্বের টিউটোরিয়াল পর্বে ইন্টেজার নিয়ে আলোচনা করা হয়েছে। এই পর্বে আরো কিছু ডাটা টাইপ নিয়ে আলোচনা করা হবে।

String Type : টেক্স টাইপ ডাটা ষ্টোর করার জন্য এই ডাটা টাইপ ব্যবহার করা হয়। String টাইপ ডাটা ৪ প্রকার। যথা-

1. Fixed String – সব সময় একটি নিদিষ্ট পরিমানের ডাটা ষ্টোর করার কাজে ব্যবহৃতহয়। যেমনঃ বিভিন্ন কোড ষ্টোর করার কাজে।
2. Variable String – বিভিন্ন মানের বিভিন্ন সাইজের ডাটা ষ্টোর করার জন্য। যেমনঃ নাম, ঠিকানা, পদাবী ইত্যাদি ধরনের ডাটা
3. Char String – টেক্সট ধরনের ডাটা ষ্টোর করার কাজে ব্যবহার করা হয়। Char String টাইপ মূলত ২ ধরনের হয়ে থাকে। –
a. VarChar String – টেক্স টাইপ ডাটা ষ্টোর করে সাথে Variable String এর মত করে কাজ করে।
b. Char String – শুধুমাত্র টেক্সধরনের ডাটা ষ্টোর করে তবে সাথে Fixed String এর গুনাবলীও থাকে
4. Binary String – নন টেক্সট ডাটা ষ্টোর করার কাজে ব্যবহৃত হয়। Binary String টাইপ ডাটাও ২ ধরনের হয়ে থাকে। –
a. Binary – নিদিষ্ট পরিমানের জন্য
b. VarBinary – VarBinary Variable পরমানের জন্য
Large Storage Type : বড় ধরনের ফাইল অথবা ডকুমেন্ট ষ্টোর করার কাজে Large Storage Type ব্যবহার করা হয়। Large Storage Type ২ প্রকার। –

BLOB Type – বড় ধরনের বাইনানি ডাটা ষ্টোর করার কাজে ব্যবহার করে হয় এবং এটি নন টেক্সট। BLOB সাধারনত ৪ প্রকারের হয়ে থাকে। –
TinyBlob – Tainy Blob সর্বচ্চ ২৫৬ বাইট ডাটা জমা রাখতে পারবে।
Blob – Blob সর্বচ্চ ৬৪ কিলো বাইট ডাটা জমা করতে পারবে।
MediumBlob – সর্বচ্চ ১৬ মেগা বাইট পর্যন্ত ডাটা ষ্টোর/জমা করে রাখতে পারবে MediumBlob
LongBlob – LongBlob এর ধারন ক্ষমতা সবচেয়ে বেশি। ইহা ৪ গিগা বাইট পর্যন্ত ডাটা ষ্টোর করতে পারে।
Text Type – বড় ধরনের ডকুমেন্ট, আর্টিকেল ইত্যাদি ষ্টোর করার কাজে ব্যবহার করা হয়।
TinyText – সর্বচ্চ ২৫৬ বাইট ডাটা জমা রাখতে পারবে।
Text – সর্বচ্চ ৬৪ কিলো বাইট ডাটা জমা করতে পারবে।
MediumText – সর্বচ্চ ১৬ মেগা বাইট পর্যন্ত ডাটা ষ্টোর/জমা করে রাখতে পারবে MediumText
LongText – LongText এর ধারন ক্ষমতা সবচেয়ে বেশি। ইহা ৪ গিগা বাইট পর্যন্ত ডাটা ষ্টোর করতে পারে।
Date and time Type: Date and time ধরনের ডাটা ষ্টোর করার কাজে ব্যবহার করা হয়। ইহা চার প্রকার।–

Date – শুধু মাত্র তারিখ ষ্টোর করার ক্ষেত্রে Date ব্যবহার করা হয়। এর রেঞ্জ হচ্ছে ১০০০ – ৯৯৯৯ পর্যন্ত।
Time – সময় শুধু মাত্র Time ষ্টোর করতে পারে। এর রেঞ্জ + ৮৩৯:৫৯:৫৯ থেকে -৮৩৯:৫৯:৫৯ পর্যন্ত।
DateTime – সময় এবং তারিখ কম্বিনেশন করে রাখার কাজে ব্যবহৃত হয় DateTime.
TimeStamp – ইভেন্ট লগিন এর ক্ষেত্রে ব্যবহার করা হয় TimeStamp. যখন কোন RowEffect হয় তখন TimeStamp আটোমেটিক সময় আপডেট করে।
Bit Values Type : বাইনারি বিট (0 , 1) টাইপ ডাটা ষ্টোর করার জন্য Bit Values ব্যবহার করা হয়।

BOOLEAN Types : sql এ মূলত বুলিয়েন টাইপ নেই। তবে Boolean Type হিসেবে TinyInteger ব্যবহার করা হয়। সাধারনত True এর জন্য Integer ‘1’ এবং False এর জন্য Integer ‘0’ ব্যবহার করা হয়ে। সবচেয়ে ভাল হয় যদি Bit values Type ব্যবহার করা হয়।

database search Sql টিউটোরিয়াল, পর্ব – ৫ (ডাটা টাইপ)Enumeration Type : বিষেশ কিছু ক্ষত্রে এই Enumeration ব্যবহার করা হয়। যেমনঃ কিছু নির্বাচিত ডাটা সেট করা থকবে ঐ নির্বাচিত ডাটা ছাড়া অন্য কোন ডাটা ষ্টোর করবেনা। উদাহরন হিসেবে বলা যায়। লিঙ্গ (পুরুষ / মহিলা) নির্বাচন করা। একটি বিষয় অবশ্যই আপনাকে সতর্ক থাকতে হবে আপনি যদি Enumeration ব্যবহার করে থাকনে এবং পূর্বে থেকে সেট করা ডাটা ছাড়া অন্য কোন ডাটা ষ্টোর করার জন্য রিকোয়েষ্ট করেন তাহলে আপনি কোন Error পাবেনা কিন্তু ওয়ার্নিং পাবেন। এতে করে আপনি এই লজিকাল Error ধরতে পারবেনা না। ধরুন আপনি Sex এর টেক্সট বক্স Enumeration করে দিলেন এবং উক্ত sex কলামে নিদিষ্ট ডাটা হিসেবে ‘Male’ এবং ‘Female’ সেট করে দিলেন। এখন কেউ যদি Male / Femail ছড়া অন্য কোন ডাটা ষ্টোর করতে যায় তাহলে কোন ডাটা ষ্টোর হবেনা। Enumeration ২ ভাবে সেট করা যায় – ENUM অথবা SET কী ওয়ার্ড ব্যবহার করে।ধরুন আপনি একটি টেবিল তৈরি করবেন আর টেবিলের একটি ফিল্ড থাকবে ইমেইল এড্রেস ষ্টোর করার জন্য। আপনি টেবিল তৈরি করার সময় প্রথম ফিল্ডটি ইন্টেজার বলে দিলেন। ফলে আপনি যখন ঐ ফিল্ডে ইমেল এড্রেস ষ্টোর করবেন কিন্তু কোন ইমেইল এড্রেস ষ্টোর হবেনা কারন ইন্টেজার টাইপ ডাটা শুধু মাত্র নাম্বার সাপোর্ট করে কিন্তু রিয়েল অথবা টেক্সট টাইপ ডাটা ষ্টোর করতে পারেনা। তাই ফলাফল “0” দেখাবে। আশা করি ডাটা টাইপ এর প্রয়োজনিয়তা নবীনদের কাছে স্পষ্ট হয়েছে। পরবর্তী পর্বে আমরা যখন টেবিল নিয়ে কাজ করা হবে তখন একই সাথে ডাটা টাইপ এর উদাহরন দেওয়া হবে। ডাটা টাইপের পূর্বের টিউটোরিয়াল পর্বে ইন্টেজার নিয়ে আলোচনা করা হয়েছে। এই পর্বে আরো কিছু ডাটা টাইপ নিয়ে আলোচনা করা হবে।

String Type : টেক্স টাইপ ডাটা ষ্টোর করার জন্য এই ডাটা টাইপ ব্যবহার করা হয়। String টাইপ ডাটা ৪ প্রকার। যথা-

1. Fixed String – সব সময় একটি নিদিষ্ট পরিমানের ডাটা ষ্টোর করার কাজে ব্যবহৃতহয়। যেমনঃ বিভিন্ন কোড ষ্টোর করার কাজে।
2. Variable String – বিভিন্ন মানের বিভিন্ন সাইজের ডাটা ষ্টোর করার জন্য। যেমনঃ নাম, ঠিকানা, পদাবী ইত্যাদি ধরনের ডাটা
3. Char String – টেক্সট ধরনের ডাটা ষ্টোর করার কাজে ব্যবহার করা হয়। Char String টাইপ মূলত ২ ধরনের হয়ে থাকে। –
a. VarChar String – টেক্স টাইপ ডাটা ষ্টোর করে সাথে Variable String এর মত করে কাজ করে।
b. Char String – শুধুমাত্র টেক্সধরনের ডাটা ষ্টোর করে তবে সাথে Fixed String এর গুনাবলীও থাকে
4. Binary String – নন টেক্সট ডাটা ষ্টোর করার কাজে ব্যবহৃত হয়। Binary String টাইপ ডাটাও ২ ধরনের হয়ে থাকে। –
a. Binary – নিদিষ্ট পরিমানের জন্য
b. VarBinary – VarBinary Variable পরমানের জন্য
Large Storage Type : বড় ধরনের ফাইল অথবা ডকুমেন্ট ষ্টোর করার কাজে Large Storage Type ব্যবহার করা হয়। Large Storage Type ২ প্রকার। –

BLOB Type – বড় ধরনের বাইনানি ডাটা ষ্টোর করার কাজে ব্যবহার করে হয় এবং এটি নন টেক্সট। BLOB সাধারনত ৪ প্রকারের হয়ে থাকে। –
TinyBlob – Tainy Blob সর্বচ্চ ২৫৬ বাইট ডাটা জমা রাখতে পারবে।
Blob – Blob সর্বচ্চ ৬৪ কিলো বাইট ডাটা জমা করতে পারবে।
MediumBlob – সর্বচ্চ ১৬ মেগা বাইট পর্যন্ত ডাটা ষ্টোর/জমা করে রাখতে পারবে MediumBlob
LongBlob – LongBlob এর ধারন ক্ষমতা সবচেয়ে বেশি। ইহা ৪ গিগা বাইট পর্যন্ত ডাটা ষ্টোর করতে পারে।
Text Type – বড় ধরনের ডকুমেন্ট, আর্টিকেল ইত্যাদি ষ্টোর করার কাজে ব্যবহার করা হয়।
TinyText – সর্বচ্চ ২৫৬ বাইট ডাটা জমা রাখতে পারবে।
Text – সর্বচ্চ ৬৪ কিলো বাইট ডাটা জমা করতে পারবে।
MediumText – সর্বচ্চ ১৬ মেগা বাইট পর্যন্ত ডাটা ষ্টোর/জমা করে রাখতে পারবে MediumText
LongText – LongText এর ধারন ক্ষমতা সবচেয়ে বেশি। ইহা ৪ গিগা বাইট পর্যন্ত ডাটা ষ্টোর করতে পারে।
Date and time Type: Date and time ধরনের ডাটা ষ্টোর করার কাজে ব্যবহার করা হয়। ইহা চার প্রকার।–

Date – শুধু মাত্র তারিখ ষ্টোর করার ক্ষেত্রে Date ব্যবহার করা হয়। এর রেঞ্জ হচ্ছে ১০০০ – ৯৯৯৯ পর্যন্ত।
Time – সময় শুধু মাত্র Time ষ্টোর করতে পারে। এর রেঞ্জ + ৮৩৯:৫৯:৫৯ থেকে -৮৩৯:৫৯:৫৯ পর্যন্ত।
DateTime – সময় এবং তারিখ কম্বিনেশন করে রাখার কাজে ব্যবহৃত হয় DateTime.
TimeStamp – ইভেন্ট লগিন এর ক্ষেত্রে ব্যবহার করা হয় TimeStamp. যখন কোন RowEffect হয় তখন TimeStamp আটোমেটিক সময় আপডেট করে।
Bit Values Type : বাইনারি বিট (0 , 1) টাইপ ডাটা ষ্টোর করার জন্য Bit Values ব্যবহার করা হয়।

BOOLEAN Types : sql এ মূলত বুলিয়েন টাইপ নেই। তবে Boolean Type হিসেবে TinyInteger ব্যবহার করা হয়। সাধারনত True এর জন্য Integer ‘1’ এবং False এর জন্য Integer ‘0’ ব্যবহার করা হয়ে। সবচেয়ে ভাল হয় যদি Bit values Type ব্যবহার করা হয়।

database search Sql টিউটোরিয়াল, পর্ব – ৫ (ডাটা টাইপ)Enumeration Type : বিষেশ কিছু ক্ষত্রে এই Enumeration ব্যবহার করা হয়। যেমনঃ কিছু নির্বাচিত ডাটা সেট করা থকবে ঐ নির্বাচিত ডাটা ছাড়া অন্য কোন ডাটা ষ্টোর করবেনা। উদাহরন হিসেবে বলা যায়। লিঙ্গ (পুরুষ / মহিলা) নির্বাচন করা। একটি বিষয় অবশ্যই আপনাকে সতর্ক থাকতে হবে আপনি যদি Enumeration ব্যবহার করে থাকনে এবং পূর্বে থেকে সেট করা ডাটা ছাড়া অন্য কোন ডাটা ষ্টোর করার জন্য রিকোয়েষ্ট করেন তাহলে আপনি কোন Error পাবেনা কিন্তু ওয়ার্নিং পাবেন। এতে করে আপনি এই লজিকাল Error ধরতে পারবেনা না। ধরুন আপনি Sex এর টেক্সট বক্স Enumeration করে দিলেন এবং উক্ত sex কলামে নিদিষ্ট ডাটা হিসেবে ‘Male’ এবং ‘Female’ সেট করে দিলেন। এখন কেউ যদি Male / Femail ছড়া অন্য কোন ডাটা ষ্টোর করতে যায় তাহলে কোন ডাটা ষ্টোর হবেনা। Enumeration ২ ভাবে সেট করা যায় – ENUM অথবা SET কী ওয়ার্ড ব্যবহার করে।
resource:MySQL

http://salearningschool.com/searchResult.php?queryStr=mysql&submit=Search+Database

contact: shahriarxfactor@gmail.com