ডাটাবেস ম্যানেজমেন্ট সিস্টেম (DBMS)
DBMS ও إنما একটি কমপ্রিহেনসিভ সেট অ্যাপ্লিকেশন প্রোগ্রাম যা ডেটা অ্যাক্সেস, ম্যানেজ ও আপডেট করতে Leveraged করা যায়, শর্তে ডেটা ইন্টাররিলেটেড এবং গভীরভাবে পერსিস্টেন্ট হয়। যেকোনো ম্যানেজমেন্ট সিস্টেমের মতো, DBMS-এর লক্ষ্য হলো একটি দক্ষ এবং সুবিধাজনক এনভায়রনমেন্ট প্রদান করা যেখানে ডেটা রিট্রিভ এবং স্টোর করা সহজ হয়। বাঁধা নেই যে ডাটাবেস বড় পরিমাণ ইনফরমেশন স্টোর ও ম্যানেজ করতে ব্যবহৃত হয়।
এটি অর্জনের জন্য নিম্নলিখিত সম্পূর্ণরূপে আবশ্যক:
- Data Modeling: ইনফরমেশন স্টোরেজের জন্য স্ট্রাকচার ডিফাইন করা।
- Mechanisms Provision: প্রসেসড ডেটা ম্যানিপুলেট এবং ফাইল/সিস্টেম স্ট্রাকচার মডিফাই করার জন্য কোয়েরি প্রসেসিং মেকানিজম প্রদান।
- Crash Recovery and Security: ডিসক্রেপেন্সি এড়াতে এবং ডেটা সিকিউর রাখতে ক্র্যাশ রিকভারি এবং সিকিউরিটি মেকানিজম আবশ্যক।
- Concurrency Control: যদি সিস্টেম একাধিক ব্যবহারকারী শেয়ার করে, তবে কনকারেন্সি কন্ট্রোল জরুরি।
Dr Edgar F Codd
Dr E.F.Codd, যাকে বিশ্ব 'Father of Database Management Systems' হিসেবে চিনে, তিনি ১২টি নিয়ম প্রস্তাব করেছিলেন যা আসলে ১৩টি (শূন্য থেকে বারো পর্যন্ত নম্বরড)। তাঁর মতে, একটি DBMS ফুলি রিলেশনাল হবে যদি সেটি তার সব ১২টি নিয়ম মানى। আজ পর্যন্ত কয়েক ডাটাবেসই সকল ১১টি নিয়ম মানে। তাঁর ১২টি নিয়মকে ভালোবাসে 'E.F.Codd's Twelve Commandments' বলা হয়। তাঁর অতুলনীয় এবং সংবিধানিক গবেষণা পেপার 'A Relational Model of Data for Large Shared Data Banks' সম্পূর্ণরূপে চোখের চামক।
Relational Database Management System
Database Management Systems জার্গনে একটি অনলিখিত নিয়ম রয়েছে। যেহেতু Codd-এর সব নিয়ম ইমপ্লিমেন্ট করা ডাটাবেস খুব কম, তাই অনলিখিত নিয়মটি জনপ্রিয়তা পাচ্ছে।

- যদি কোনো ম্যানেজমেন্ট সিস্টেম বা সফটওয়্যার Codd-এর ৫-৬টি নিয়ম মানে, তবে সেটি Database Management System (DBMS) হিসেবে যোগ্যতা পায়।
- যদি ৭-৯টি নিয়ম মানে, তবে সেটি semi-Relational Database Management System (semi-RDBMS) হিসেবে যোগ্যতা পায়।
- যদি ৯-১২টি নিয়ম মানে, তবে সেটি কমপ্লিট Relational Database Management System (RDBMS) হিসেবে যোগ্যতা পায়।
Dr Edgar F Codd-এর Twelve Commandments

এখানে E.F Codd-এর ১২টি নিয়মের সংক্ষিপ্ত টীকা:
Rule 0 − Foundation rule
RDBMS হিসেবে প্রস্তাবিত বা অভিহিত যেকোনো রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম সেটি তার রিলেশনাল ক্যাপাবিলিটি দিয়ে সংরক্ষিত ডেটা সম্পূর্ণরূপে ম্যানেজ করতে সক্ষম হওয়া উচিত।
Rule 1 − Rule of Information
রিলেশনাল ডাটাবেস ডেটা রিলেশন (টেবিল) রূপে সংরক্ষণ করবে। ব্যবহারকারী-ডিফাইনড ডেটা বা মেটাডেটা হোক, ভ্যালুটি টেবিল সেলে এন্টিটি হিসেবে স্টোর করা জরুরি।
Rule 2 − Rule of Guaranteed Access
ডেটা লজিক্যালি অ্যাক্সেস করার জন্য পয়েন্টার ব্যবহার নিষিদ্ধ। প্রতিটি অ্যাটোমিক ডেটা এন্টিটি টেবিল নাম, নির্দিষ্ট সারি ভ্যালুর প্রাইমারি কী এবং অ্যাট্রিবিউট ভ্যালুর কলাম নামের সঠিক কম্বিনেশন ব্যবহার করে লজিক্যালি অ্যাক্সেসযোগ্য হতে হবে।
Rule 3 − Rule of Systematic Null Value Support
NULL ভ্যালু রিলেশনাল ডাটাবেসে সম্পূর্ণরূপে সাপোর্টেড। এগুলো ইউনিফর্মলি 'missing information' হিসেবে বিবেচিত হবে। NULL ভ্যালু যেকোনো ডেটা টাইপ থেকে স্বতন্ত্র। এগুলো ব্ল্যাঙ্ক বা শূন্য বা খালি স্ট্রিং এর সাথে গুলিয়ে নেওয়া উচিত নয়। NULL ভ্যালু 'inapplicable data' বা 'unknown information' ও হিসেবে ইন্টারপ্রেট করা যায়।
Rule 4 − Rule of Active and online relational Catalog
DBMS লেক্সিকনে 'metadata' হলো ডাটাবেস সম্পর্কে ডেটা বা ডেটা সম্পর্কে ডেটা। মেটাডেটা সংরক্ষণকারী এক্টিভ অনলাইন ক্যাটালগকে 'Data dictionary' বলা হয়। এই ডেটা ডিকশনারি শুধু অথোরাইজড ব্যবহারকারীরা যারা প্রয়োজনীয় প্রিভিলেজ রাখে, তাদের দ্বারা অ্যাক্সেসযোগ্য। ডাটাবেস অ্যাক্সেসের জন্য ব্যবহৃত কোয়েরি ল্যাঙ্গুয়েজ ডেটা ডিকশনারির ডেটা অ্যাক্সেসের জন্যও ব্যবহার করা উচিত।
Rule 5 − Rule of Comprehensive Data Sub-language
একটি একক রবাস্ট ল্যাঙ্গুয়েজ ইন্টিগ্রিটি কনস্ট্রেইন্ট, ভিউ, ডেটা ম্যানিপুলেশন, ট্রানজ্যাকশন এবং অথরাইজেশন ডিফাইন করতে সক্ষম হওয়া উচিত। যদি ডাটাবেস উপরের مواردে অ্যাক্সেস দেয়, তবে সেটি এই নিয়ম লঙ্ঘন করছে।
Rule 6 − Rule of Updating Views
ভিউগুলো তাদের রেসপেক্টিভ বেস টেবিলের আপডেট রিফলেক্ট করতে হবে এবং বিপরীতও। ভিউ হলো একটি লজিক্যাল টেবিল যা সীমাবদ্ধ ডেটা দেখায়। ভিউ সাধারণত ডেটা পড়ার সুবিধা দেয় কিন্তু মডিফাই করতে দেয় না। ভিউ ডেটা অ্যাবস্ট্রাকশনে সাহায্য করে।
Rule 7 − Rule of Set level insertion, update and deletion
একটি সিঙ্গেল অপারেশন ডেটা রিট্রিভ, ইনসার্ট, আপডেট এবং ডিলিট করার জন্য পর্যাপ্ত হওয়া উচিত।
Rule 8 − Rule of Physical Data Independence
ব্যাচ এবং এন্ড ইউজার অপারেশন লজিক্যালি ফিজিক্যাল স্টোরেজ এবং রেসপেক্টিভ অ্যাক্সেস মেথড থেকে আলাদা।
Rule 9 − Rule of Logical Data Independence
ব্যাচ এবং এন্ড ইউজার ডাটাবেস স্কিমা পরিবর্তন করতে পারবে সেটি রিক্রিয়েট না করেই বা তার ওপর বিল্ট অ্যাপ্লিকেশন রিক্রিয়েট না করেই।
Rule 10 − Rule of Integrity Independence
ইন্টিগ্রিটি কনস্ট্রেইন্ট উপলব্ধ থাকা উচিত এবং মেটাডেটা হিসেবে ডেটা ডিকশনারিতে সংরক্ষিত, অ্যাপ্লিকেশন প্রোগ্রামে নয়।
Rule 11 − Rule of Distribution Independence
রিলেশনাল সিস্টেমের Data Manipulation Language ফিজিক্যাল ডেটা স্টোরেজ সম্পর্কে চিন্তিত নয় এবং কোনো অ্যাল্টেরেশন প্রয়োজন নয় যদি ফিজিক্যাল ডেটা সেন্ট্রালাইজড বা ডিস্ট্রিবিউটেড হয়।
Rule 12 − Rule of Non Subversion
যেকোনো সারি নিরাপত্তা এবং ইন্টিগ্রিটি কনস্ট্রেইন্ট মেনে চলবে। কোনো স্পেশাল প্রিভিলেজ প্রযোজ্য নয়।
প্রায় সব ফুল-স্কেল DBMS-ই RDBMS। Oracle ১১+ নিয়ম ইমপ্লিমেন্ট করে, Sybase ও। SQL Serverও ১১+ নিয়ম ইমপ্লিমেন্ট করে, FoxPro ৭+ নিয়ম ইমপ্লিমেন্ট করে।