Relational Databases

Relational Database (RDBMS) কি?

Relational Database হলো এমন একটি ডাটাবেস সিস্টেম, যেখানে তথ্য টেবিল (Table) আকারে সংরক্ষিত হয় এবং টেবিলগুলোর মধ্যে সম্পর্ক (Relation) থাকে। এটি RDBMS (Relational Database Management System) সফটওয়্যার দ্বারা পরিচালিত হয়, যেমন MySQL, PostgreSQL, Oracle Database ও Microsoft SQL Server।

তথ্য সারি (Row) ও কলাম (Column) ভিত্তিক হওয়ায় সহজে সংরক্ষণ, অনুসন্ধান, আপডেট ও মুছে ফেলা যায়।

মূল বৈশিষ্ট্য

১. Table-Based Structure

সব তথ্য টেবিলে থাকে, আর প্রতিটি টেবিলে নির্দিষ্ট কলাম ও সারি থাকে। যেমন, Students টেবিল:

ID

Name

Age

Department

1

Rahim

22

CSE

2

Karim

23

EEE

3

Ayesha

21

BBA

২. Key ও Relationship

  • Primary Key (PK): প্রতিটি রেকর্ডকে আলাদাভাবে চিহ্নিত করে।

  • Foreign Key (FK): এক টেবিলের সাথে অন্য টেবিলের সম্পর্ক তৈরি করে।

উদাহরণ: Students টেবিলের ID যদি Primary Key হয় এবং Courses টেবিলের Student_ID Foreign Key হয়, তাহলে দুটি টেবিলের মধ্যে সম্পর্ক তৈরি হয়।

৩. ACID Properties

ACID নীতি ট্রান্স্যাকশনের নির্ভরযোগ্যতা নিশ্চিত করে:

  • Atomicity: ট্রান্স্যাকশন হয় সম্পূর্ণ হবে, নয়তো পুরোপুরি বাতিল হবে।

  • Consistency: ডাটাবেস সবসময় Valid অবস্থায় থাকবে।

  • Isolation: একাধিক ট্রান্স্যাকশন একে অপরকে প্রভাবিত করবে না।

  • Durability: একবার সংরক্ষিত ডাটা সিস্টেম ক্র্যাশ করলেও হারাবে না।

৪. SQL ব্যবহার

Relational Database পরিচালনায় SQL (Structured Query Language) ব্যবহৃত হয়।

-- Insert data
INSERT INTO Students (ID, Name, Age, Department)
VALUES (101, 'John', 20, 'Software Engineering');

-- Retrieve data
SELECT * FROM Students WHERE Department = 'Software Engineering';

-- Update data
UPDATE Students SET Age = 21 WHERE ID = 101;

-- Delete data
DELETE FROM Students WHERE ID = 101;

Relational Database এর সুবিধা

Structured Data — নির্দিষ্ট Schema-এর মাধ্যমে ডেটা সংগঠিত রাখা যায়।

Data Integrity — Primary Key, Foreign Key, Unique Constraint, Check Constraint ইত্যাদির মাধ্যমে Data Integrity নিশ্চিত করা যায়।

Transaction Support — Financial এবং অন্যান্য Transaction-based System-এর জন্য শক্তিশালী Transaction Management পাওয়া যায়।

Complex Query — JOIN, GROUP BY, Aggregation ইত্যাদির মাধ্যমে জটিল Query করা যায়।

Data Consistency — Constraint এবং Transaction-এর মাধ্যমে Consistent Data বজায় রাখা যায়।

Mature Ecosystem — PostgreSQL, MySQL, Oracle ইত্যাদির দীর্ঘদিনের Mature Ecosystem রয়েছে।


Relational Database এর সীমাবদ্ধতা

Schema Flexibility কম — Structured Schema অনুসরণ করতে হয়। ঘন ঘন Data Structure পরিবর্তন করলে Migration প্রয়োজন হতে পারে।

Horizontal Scaling জটিল হতে পারে — খুব বড় Scale-এ Sharding ও Distributed Architecture প্রয়োজন হলে Design জটিল হতে পারে।

Complex JOIN-এর Cost — বড় Dataset-এর উপর অনেকগুলো Table-এর Complex JOIN Performance-এর উপর প্রভাব ফেলতে পারে।

তবে এগুলোকে সরাসরি "RDBMS-এর Scale করা যায় না" বলা ঠিক নয়। PostgreSQL, MySQL-এর মতো RDBMS-কে Replication, Partitioning, Read Replica, Caching এবং Sharding এর মতো বিভিন্ন Strategy ব্যবহার করে অনেক বড় Scale-এ চালানো যায়।

কোথায় ব্যবহৃত হয়?

Relational Database সফটওয়্যার ডেভেলপমেন্টে সবচেয়ে বেশি ব্যবহৃত হয়, বিশেষ করে ব্যাংকিং, ই-কমার্স, হাসপাতাল ও সরকারি প্রতিষ্ঠানে। ডাটা সংরক্ষণ, নিরাপত্তা ও অ্যাক্সেস নিয়ন্ত্রণে এটি একটি নির্ভরযোগ্য সমাধান। তবে অত্যন্ত বড় আকারের ডাটা বা বেশি ফ্লেক্সিবিলিটি দরকার হলে বিকল্প হিসেবে NoSQL ব্যবহার করা যেতে পারে।

সহজভাবে মনে রাখুন

Relational Database = Table + Relationship + Structured Schema + SQL + Transaction