Database কী?
Database হলো সুসংগঠিতভাবে সংরক্ষিত ডেটার সমষ্টি — সহজে access, manage ও update করা যায়। যেমন: Facebook-এর সব user, post, comment এক বিশাল database-এ থাকে।
DBMS (Database Management System)
DBMS হলো সেই সফটওয়্যার যা database তৈরি ও পরিচালনা করে। যেমন: MySQL, PostgreSQL, Oracle, MongoDB।
Database-র প্রকারভেদ
১. Relational Database (RDBMS) ⭐
ডেটা table-এ (row ও column) সংরক্ষিত। Table-দের মধ্যে সম্পর্ক থাকে। SQL ভাষা ব্যবহৃত হয়।
- MySQL — সবচেয়ে জনপ্রিয়, free
- PostgreSQL — advanced, free
- Oracle, SQL Server — enterprise
- SQLite — file-based, ছোট অ্যাপের জন্য
২. NoSQL Database
- Document — MongoDB (JSON-এর মতো)
- Key-Value — Redis (cache, session)
- Graph — Neo4j (social network)
SQL vs NoSQL
| বৈশিষ্ট্য | SQL | NoSQL |
|---|---|---|
| Structure | Fixed schema | Flexible |
| Scale | Vertical | Horizontal |
| ACID | Strong | Eventual |
| ব্যবহার | Banking, ERP | Big data, IoT |
RDBMS-এর মূল উপাদান
- Database — পুরো সিস্টেম
- Table — ডেটার বিভাগ (users, products)
- Row/Record — একটি entry
- Column/Field — attribute
- Primary Key — অনন্য identifier
- Foreign Key — সম্পর্ক
users table উদাহরণ
┌────┬─────────┬─────────────────┬─────┐ │ id │ name │ email │ age │ ├────┼─────────┼─────────────────┼─────┤ │ 1 │ করিম │ karim@mail.com │ 25 │ │ 2 │ রহিম │ rahim@mail.com │ 30 │ └────┴─────────┴─────────────────┴─────┘ ↑ ↑ Column Row
ACID Properties
- Atomicity — পুরো transaction হবে, নয়তো কিছুই না
- Consistency — ডেটা সবসময় বৈধ
- Isolation — transaction গুলো একে অপরকে প্রভাবিত করবে না
- Durability — commit হওয়া ডেটা হারাবে না