MariaDB-তে টেবিল তৈরির সময় ডেটা সঠিকভাবে সংরক্ষণের জন্য ডেটা টাইপ নির্বাচন করা গুরুত্বপূর্ণ। ডিফল্ট ডেটা টাইপগুলো MariaDB-তে বিল্ট-ইন হিসাবে উপলব্ধ, এবং Custom ডেটা টাইপ তৈরি করে নির্দিষ্ট চাহিদা অনুযায়ী টেবিল ডিজাইন করা যায়।
ডিফল্ট ডেটা টাইপ (Default Data Types)
MariaDB ডেটা টাইপগুলো প্রধানত তিনটি ক্যাটেগরিতে ভাগ করা হয়েছে:
১. সংখ্যাসংক্রান্ত ডেটা টাইপ (Numeric Data Types)
পূর্ণসংখ্যা (Integer)
| টাইপ | স্টোরেজ (বাইট) | মান (Unsigned সহ) |
|---|---|---|
| TINYINT | 1 | -128 থেকে 127, 0 থেকে 255 |
| SMALLINT | 2 | -32,768 থেকে 32,767 |
| MEDIUMINT | 3 | -8,388,608 থেকে 8,388,607 |
| INT/INTEGER | 4 | -2,147,483,648 থেকে 2,147,483,647 |
| BIGINT | 8 | -9.22e18 থেকে 9.22e18 |
ভাসমান সংখ্যা (Floating Point)
| টাইপ | স্টোরেজ (বাইট) | নির্ভুলতা (Precision) |
|---|---|---|
| FLOAT | 4 | ~7 সংখ্যার নির্ভুলতা |
| DOUBLE | 8 | ~15 সংখ্যার নির্ভুলতা |
| DECIMAL/NUMERIC | পরিবর্তনশীল | নির্ধারিত নির্ভুলতা অনুযায়ী |
২. তারিখ এবং সময় ডেটা টাইপ (Date and Time Data Types)
| টাইপ | বর্ণনা |
|---|---|
| DATE | শুধুমাত্র তারিখ (YYYY-MM-DD) |
| TIME | শুধুমাত্র সময় (HH:MM:SS) |
| DATETIME | তারিখ এবং সময় (YYYY-MM-DD HH:MM:SS) |
| TIMESTAMP | ইউনিক্স টাইমস্ট্যাম্প |
| YEAR | কেবল বছর (YYYY) |
৩. স্ট্রিং ডেটা টাইপ (String Data Types)
| টাইপ | সর্বোচ্চ দৈর্ঘ্য | বর্ণনা |
|---|---|---|
| CHAR | 0 থেকে 255 | নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং |
| VARCHAR | 0 থেকে 65535 | পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং |
| TEXT | 0 থেকে 65,535 | বড় স্ট্রিং |
| BLOB | 0 থেকে 65,535 | বাইনারি বড় অবজেক্ট (Binary Large Object) |
| ENUM | 65535 পর্যন্ত অপশন | প্রি-ডিফাইন্ড ভ্যালুর তালিকা |
| SET | 64 পর্যন্ত মান | একাধিক ভ্যালুর তালিকা থেকে চয়ন করতে পারেন |
Custom ডেটা টাইপ তৈরি
MariaDB-তে সরাসরি নতুন ডেটা টাইপ তৈরি করার জন্য কোনো বিল্ট-ইন ফিচার নেই। তবে, Custom ডেটা টাইপ তৈরির জন্য আমরা নিম্নোক্ত পদ্ধতি অনুসরণ করতে পারি:
১. Stored Procedures এবং Functions ব্যবহার
Custom ফর্ম্যাটের ডেটা হ্যান্ডল করার জন্য Stored Procedures এবং Functions ব্যবহার করা যায়।
২. CHECK Constraint ব্যবহার
CHECK কনস্ট্রেইন্ট দিয়ে একটি নির্দিষ্ট নিয়ম আরোপ করা যায়:
CREATE TABLE custom_data (
id INT,
status ENUM('active', 'inactive') NOT NULL,
age INT CHECK (age >= 18 AND age <= 60)
);
৩. JSON ফরম্যাটে ডেটা সংরক্ষণ
Custom টাইপের ডেটা সংরক্ষণের জন্য JSON ডেটা টাইপ ব্যবহার করা যায়:
CREATE TABLE json_data (
id INT,
details JSON
);
৪. ভিউ (Views) ব্যবহার
Custom ডেটা প্রেজেন্টেশনের জন্য ভিউ তৈরি করা যায়:
CREATE VIEW custom_view AS
SELECT id, CONCAT(first_name, ' ', last_name) AS full_name
FROM users;
MariaDB টেবিল তৈরির উদাহরণ
ডিফল্ট ডেটা টাইপ ব্যবহার
CREATE TABLE employee (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
salary DECIMAL(10,2),
joining_date DATE
);
Custom ডেটা টাইপ যুক্ত করা
CREATE TABLE product (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10,2) CHECK (price > 0),
status ENUM('in_stock', 'out_of_stock', 'discontinued')
);
MariaDB-তে ডিফল্ট এবং Custom ডেটা টাইপ ব্যবহারের মাধ্যমে টেবিলের গঠন আরও কার্যকর এবং সুনির্দিষ্টভাবে ডিজাইন করা যায়। সঠিক ডেটা টাইপ নির্বাচন ডেটাবেস পারফরম্যান্স এবং ডেটা ইন্টিগ্রিটি বজায় রাখতে সহায়ক।
Read more