MariaDB-তে ডেটাবেজ ব্যবস্থাপনার জন্য বিভিন্ন অপারেশন (Operations) ব্যবহার করা হয়। এগুলোর মধ্যে ডেটাবেজ তৈরি, মুছে ফেলা, ব্যবহৃত ডেটাবেজ নির্বাচন করা এবং ডেটাবেজের কাঠামো পর্যালোচনা করার মতো অপারেশন অন্তর্ভুক্ত। নিচে MariaDB-তে ডেটাবেজ অপারেশন সম্পর্কিত গুরুত্বপূর্ণ কমান্ড ও উদাহরণ দেওয়া হলো:
ডেটাবেজ তৈরি (Creating a Database)
MariaDB-তে নতুন ডেটাবেজ তৈরি করতে CREATE DATABASE কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন
CREATE DATABASE database_name;
উদাহরণ
নতুন ডেটাবেজ school_db তৈরি করা:
CREATE DATABASE school_db;
ডেটাবেজ ব্যবহার (Selecting a Database)
কোনো নির্দিষ্ট ডেটাবেজ ব্যবহার করতে USE কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন
USE database_name;
উদাহরণ
school_db ডেটাবেজ ব্যবহার করা:
USE school_db;
এটি চালানোর পর থেকে সমস্ত অপারেশন school_db ডেটাবেজের উপর কার্যকর হবে।
ডেটাবেজের তালিকা দেখা (Listing Databases)
MariaDB-তে উপলব্ধ সব ডেটাবেজের তালিকা দেখতে SHOW DATABASES কমান্ড ব্যবহার করা হয়।
কমান্ড
SHOW DATABASES;
ফলাফল (উদাহরণস্বরূপ):
| Database |
|---|
| information_schema |
| mysql |
| performance_schema |
| school_db |
ডেটাবেজ মুছে ফেলা (Deleting a Database)
ডেটাবেজ মুছে ফেলতে DROP DATABASE কমান্ড ব্যবহার করা হয়। সতর্কতা: এই কমান্ড ব্যবহারে ডেটাবেজের সব তথ্য মুছে যাবে।
সাধারণ গঠন
DROP DATABASE database_name;
উদাহরণ
school_db ডেটাবেজ মুছে ফেলা:
DROP DATABASE school_db;
ডেটাবেজের কাঠামো পর্যালোচনা করা (Inspecting Database Structure)
ডেটাবেজে টেবিলের তালিকা দেখতে SHOW TABLES কমান্ড ব্যবহার করা হয়। এটি শুধু তখন কাজ করবে যখন একটি নির্দিষ্ট ডেটাবেজ নির্বাচিত থাকে।
কমান্ড
SHOW TABLES;
উদাহরণ
school_db ডেটাবেজে সব টেবিল দেখতে:
USE school_db;
SHOW TABLES;
নির্দিষ্ট টেবিলের কাঠামো দেখা (Describing Table Structure)
টেবিলের কাঠামো বা স্কিমা দেখতে DESCRIBE বা EXPLAIN কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন
DESCRIBE table_name;
উদাহরণ
students টেবিলের কাঠামো দেখা:
DESCRIBE students;
ফলাফল (উদাহরণস্বরূপ):
| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| id | INT | NO | PRI | NULL | AUTO_INCREMENT |
| name | VARCHAR(100) | YES | NULL | ||
| age | INT | YES | NULL |
ডেটাবেজের তথ্য ব্যাকআপ এবং রিস্টোর করা
ডেটাবেজ ব্যাকআপ (Backup)
mysqldump টুল ব্যবহার করে MariaDB ডেটাবেজের ব্যাকআপ নেওয়া যায়।
mysqldump -u root -p school_db > school_db_backup.sql
ডেটাবেজ রিস্টোর (Restore)
ডেটাবেজ রিস্টোর করতে নিচের কমান্ড ব্যবহার করুন:
mysql -u root -p school_db < school_db_backup.sql
MariaDB-তে ডেটাবেজ অপারেশনস ডেটাবেজ পরিচালনা সহজ এবং কার্যকর করে। এই অপারেশনগুলো ব্যবহার করে ডেটাবেজ তৈরি, মুছে ফেলা, ব্যবহার এবং এর কাঠামো পর্যবেক্ষণ করা যায়। এগুলো একটি শক্তিশালী ডেটাবেজ সিস্টেম পরিচালনার মূল ভিত্তি।
MariaDB-তে নতুন ডেটাবেস তৈরি এবং তার ব্যবস্থাপনা (Management) খুবই সহজ এবং কার্যকর। MariaDB ডেটাবেস ব্যবস্থাপনার জন্য SQL (Structured Query Language) ব্যবহার করে। নিচে নতুন ডেটাবেস তৈরির পদ্ধতি এবং এর ম্যানেজমেন্টের গুরুত্বপূর্ণ বিষয়গুলো আলোচনা করা হলো।
নতুন ডেটাবেস তৈরি
ডেটাবেস তৈরি করার কমান্ড
MariaDB-তে একটি নতুন ডেটাবেস তৈরি করতে CREATE DATABASE কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন:
CREATE DATABASE database_name;
উদাহরণ
CREATE DATABASE my_database;
উপরের কমান্ডটি my_database নামে একটি নতুন ডেটাবেস তৈরি করবে।
ডেটাবেস তৈরির সময় ক্যারেক্টার সেট নির্ধারণ (Character Set)
ডেটাবেসের ডিফল্ট ক্যারেক্টার সেট এবং কোলেশন নির্ধারণ করার জন্য কমান্ডটি নিম্নরূপ হতে পারে:
CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ডেটাবেস ব্যবস্থাপনা (Management)
ডেটাবেস নির্বাচন
ডেটাবেসে কাজ শুরু করার আগে সেটি নির্বাচন করতে হবে।
কমান্ড:
USE database_name;
উদাহরণ:
USE my_database;
ডেটাবেস তালিকা দেখা
MariaDB-তে বিদ্যমান ডেটাবেসগুলোর তালিকা দেখতে SHOW DATABASES কমান্ড ব্যবহার করুন:
SHOW DATABASES;
ডেটাবেস মুছে ফেলা
অনাবশ্যক বা পুরানো ডেটাবেস মুছে ফেলতে DROP DATABASE কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন:
DROP DATABASE database_name;
উদাহরণ:
DROP DATABASE my_database;
সতর্কতা: এই কমান্ডটি ব্যবহার করার সময় সাবধানতা অবলম্বন করুন, কারণ এটি ডেটাবেসের সমস্ত তথ্য স্থায়ীভাবে মুছে ফেলে।
ডেটাবেসে পারমিশন ব্যবস্থাপনা
নতুন ইউজার তৈরি এবং অনুমতি (Permission) দেওয়া
নতুন ডেটাবেস ব্যবহারের জন্য ইউজার তৈরি এবং অনুমতি দেওয়ার পদ্ধতি নিচে দেওয়া হলো:
ইউজার তৈরি করুন:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
ডেটাবেসে ইউজারের পূর্ণ অনুমতি দিন:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
পরিবর্তন সংরক্ষণ করুন:
FLUSH PRIVILEGES;
উদাহরণ
CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'db_user'@'localhost';
FLUSH PRIVILEGES;
ডেটাবেসের তথ্য ব্যাকআপ এবং পুনরুদ্ধার
ব্যাকআপ নেওয়া
MariaDB ডেটাবেসের ব্যাকআপ নেওয়ার জন্য mysqldump টুল ব্যবহার করা হয়:
কমান্ড:
mysqldump -u root -p my_database > my_database_backup.sql
ব্যাকআপ পুনরুদ্ধার
ব্যাকআপ ফাইল থেকে ডেটাবেস পুনরুদ্ধার করতে mysql কমান্ড ব্যবহার করুন:
কমান্ড:
mysql -u root -p my_database < my_database_backup.sql
MariaDB ডেটাবেস ব্যবস্থাপনার গুরুত্বপূর্ণ টিপস
- ডেটাবেস তৈরির সময় ক্যারেক্টার সেট এবং কোলেশন নির্ধারণ করলে ভবিষ্যতে ডেটা সংরক্ষণে সমস্যা এড়ানো যায়।
- প্রয়োজন অনুযায়ী ডেটাবেসে ইউজার পারমিশন সেট করুন। সকল ইউজারকে পূর্ণ অনুমতি না দিয়ে সুনির্দিষ্ট অনুমতি দিন।
- নিয়মিত ডেটাবেস ব্যাকআপ নিয়ে রাখুন, বিশেষ করে বড় প্রজেক্টের ক্ষেত্রে।
সারাংশ
MariaDB-তে নতুন ডেটাবেস তৈরি এবং ম্যানেজমেন্ট সহজ এবং ব্যবহারকারীর নিয়ন্ত্রণে। CREATE DATABASE, DROP DATABASE, এবং GRANT কমান্ড ব্যবহার করে ডেটাবেসের জীবনচক্র পরিচালনা করা যায়। নিয়মিত ব্যাকআপ এবং সঠিক পারমিশন ম্যানেজমেন্টের মাধ্যমে ডেটাবেস সুরক্ষিত ও কার্যকর রাখা সম্ভব।
MariaDB ডেটাবেস ম্যানেজমেন্ট সিস্টেমে ডেটা সংরক্ষণের জন্য টেবিল তৈরি করা একটি গুরুত্বপূর্ণ ধাপ। টেবিল কাস্টমাইজ করার মাধ্যমে আপনি ডেটা কাঠামো আরও সুনির্দিষ্টভাবে নির্ধারণ করতে পারবেন।
MariaDB-তে টেবিল তৈরি
MariaDB-তে টেবিল তৈরি করতে CREATE TABLE কমান্ড ব্যবহার করা হয়। এর মৌলিক সিনট্যাক্স:
CREATE TABLE table_name (
column1_name data_type constraints,
column2_name data_type constraints,
...
);
উদাহরণ:
একটি সাধারণ টেবিল তৈরি করা যেখানে students নামের একটি টেবিল থাকবে:
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
grade VARCHAR(10)
);
ব্যাখ্যা:
id: এটি একটি প্রাইমারি কি (Primary Key) এবং স্বয়ংক্রিয়ভাবে (AUTO_INCREMENT) বৃদ্ধি পাবে।name: এটি ৫০ ক্যারেক্টারের একটি টেক্সট স্টোর করতে পারবে এবং এটি খালি রাখা যাবে না (NOT NULL)।age: এটি একটি পূর্ণসংখ্যা (Integer) এবং এটি খালি রাখা যাবে না।grade: এটি ১০ ক্যারেক্টারের একটি টেক্সট স্টোর করতে পারবে।
টেবিল কাস্টমাইজেশন
MariaDB-তে তৈরি করা টেবিল কাস্টমাইজ করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করা হয়। এগুলো হলো টেবিলের গঠন পরিবর্তন, নতুন কলাম যোগ করা, কলাম মুছে ফেলা ইত্যাদি।
নতুন কলাম যোগ করা
ALTER TABLE কমান্ড ব্যবহার করে একটি নতুন কলাম যোগ করা যায়।
ALTER TABLE students ADD COLUMN email VARCHAR(100);
একটি কলামের নাম পরিবর্তন
ALTER TABLE students CHANGE COLUMN email email_address VARCHAR(100);
একটি কলামের ডেটা টাইপ পরিবর্তন
ALTER TABLE students MODIFY COLUMN age SMALLINT;
একটি কলাম মুছে ফেলা
ALTER TABLE students DROP COLUMN grade;
MariaDB টেবিলের গঠন পরীক্ষা করা
কোনো টেবিলের গঠন দেখতে DESCRIBE বা SHOW COLUMNS কমান্ড ব্যবহার করা হয়।
DESCRIBE students;
অথবা
SHOW COLUMNS FROM students;
ডেটা সন্নিবেশ (Insert) করা
টেবিল তৈরি করার পরে তাতে ডেটা যোগ করতে INSERT কমান্ড ব্যবহার করা হয়।
INSERT INTO students (name, age, grade)
VALUES ('John Doe', 20, 'A');
টেবিলের কাঠামো মুছে ফেলা বা সম্পূর্ণ মুছে ফেলা
একটি টেবিলের সব ডেটা মুছে ফেলা:
TRUNCATE TABLE students;
একটি টেবিল সম্পূর্ণ মুছে ফেলা:
DROP TABLE students;
উদাহরণ: একটি কাস্টম টেবিল তৈরি করা
ধরা যাক, আমরা একটি library_books নামের টেবিল তৈরি করব যেখানে বইয়ের তথ্য থাকবে:
CREATE TABLE library_books (
book_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
author VARCHAR(50),
published_year YEAR,
genre VARCHAR(20),
available BOOLEAN DEFAULT TRUE
);
ব্যাখ্যা:
book_id: ইউনিক আইডি যা স্বয়ংক্রিয়ভাবে বৃদ্ধি পাবে।title: বইয়ের শিরোনাম যা খালি রাখা যাবে না।author: বইয়ের লেখকের নাম।published_year: প্রকাশনার বছর, YEAR ডেটা টাইপ ব্যবহার করা হয়েছে।genre: বইয়ের ধরন।available: বইটি উপলব্ধ কিনা তা জানায়; ডিফল্ট মান TRUE।
MariaDB-তে টেবিল তৈরি ও কাস্টমাইজ করা ডেটাবেস ব্যবস্থাপনার একটি গুরুত্বপূর্ণ দিক। এটি ডেটার কার্যকর সংগঠন ও পরিচালনা নিশ্চিত করে এবং প্রয়োজন অনুযায়ী ডেটার কাঠামোকে সংশোধন করার সুযোগ দেয়।
MariaDB-তে ডেটাবেজ এবং টেবিলের স্ট্রাকচার দেখার জন্য বিভিন্ন SQL কমান্ড ব্যবহার করা হয়। এগুলো ব্যবহার করে ডেটাবেজে সংরক্ষিত তথ্যের গঠন এবং বৈশিষ্ট্য সম্পর্কে ধারণা পাওয়া যায়।
ডেটাবেজের তালিকা দেখার কমান্ড
MariaDB সার্ভারে থাকা সকল ডেটাবেজের তালিকা দেখতে নিচের কমান্ডটি ব্যবহার করুন:
SHOW DATABASES;
একটি নির্দিষ্ট ডেটাবেজ নির্বাচন করা
কোনো নির্দিষ্ট ডেটাবেজ ব্যবহার করতে:
USE database_name;
উদাহরণ:
USE my_database;
ডেটাবেজের টেবিলগুলোর তালিকা দেখার কমান্ড
নির্দিষ্ট ডেটাবেজের মধ্যে থাকা সমস্ত টেবিল দেখতে:
SHOW TABLES;
টেবিলের স্ট্রাকচার দেখার কমান্ড
কোনো টেবিলের গঠন (structure) দেখতে:
DESCRIBE table_name;
বা
EXPLAIN table_name;
উদাহরণ:
DESCRIBE users;
সম্পূর্ণ টেবিলের স্ট্রাকচারসহ ডিটেইলস
কোনো টেবিলের সম্পূর্ণ স্ট্রাকচার এবং তার স্টোরেজ ইঞ্জিন, ইনডেক্স, এবং আরও তথ্য দেখতে:
SHOW CREATE TABLE table_name;
উদাহরণ:
SHOW CREATE TABLE users;
MariaDB স্কিমার তথ্য (Information Schema)
MariaDB এর Information Schema ব্যবহার করে ডেটাবেজ এবং টেবিলের স্ট্রাকচার সংক্রান্ত আরও বিশদ তথ্য পাওয়া যায়। উদাহরণ:
সমস্ত কলামের তথ্য পেতে:
SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'table_name';
উদাহরণ:
SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'users';
সমস্ত টেবিল সম্পর্কিত তথ্য পেতে:
SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'database_name';
উদাহরণ:
SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database';
একটি উদাহরণ প্রক্রিয়া
সমস্ত ডেটাবেজের তালিকা দেখা:
SHOW DATABASES;একটি ডেটাবেজ নির্বাচন:
USE my_database;ডেটাবেজের টেবিলগুলোর তালিকা:
SHOW TABLES;একটি টেবিলের স্ট্রাকচার দেখা:
DESCRIBE users;সম্পূর্ণ টেবিল তৈরি করার SQL স্টেটমেন্ট:
SHOW CREATE TABLE users;
উপরোক্ত কমান্ডগুলো MariaDB-তে ডেটাবেজ এবং টেবিলের স্ট্রাকচার পর্যবেক্ষণ ও বিশ্লেষণের জন্য ব্যবহৃত হয়। এগুলো ব্যবহার করে সহজেই ডেটাবেস পরিচালনা এবং সমস্যা সমাধান করা যায়।
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