এডগার এফ কড ছিলেন একজন কম্পিউটার বিজ্ঞানী যিনি ডেটাবেস পরিচালনার জন্য রিলেশনাল মডেল আবিষ্কার করেছিলেন। রিলেশনাল ডাটাবেসের পাশাপাশি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেমের ভিত্তি তৈরি করার জন্যও তাকে কৃতিত্ব দেওয়া হয়।
Codd এর বারোটি নিয়ম একটি ডাটাবেস ম্যানেজমেন্ট সিস্টেমের প্রয়োজনীয় বৈশিষ্ট্যগুলিকে রিলেশনাল হিসাবে বিবেচনা করে, অর্থাৎ একটি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম।
নিয়ম 0:ভিত্তি নিয়ম
কোনও সিস্টেমকে রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম হিসাবে যোগ্য করার জন্য, এটির রিলেশনাল ক্ষমতা ব্যবহার করে তার ডেটা পরিচালনা করা উচিত।
নিয়ম 1:তথ্য নিয়ম
সমস্ত তথ্য (মেটাডেটা সহ) সারি এবং কলাম ব্যবহার করে টেবিলে উপস্থাপন করা হয়। সারি এবং কলামগুলিকে কঠোরভাবে বিন্যাসহীন হতে হবে৷
৷নিয়ম 2:গ্যারান্টিযুক্ত অ্যাক্সেসের নিয়ম
টেবিলের নাম, প্রাথমিক কী এবং কলামের নামের সংমিশ্রণ ব্যবহার করে ডাটাবেসের সমস্ত মান অ্যাক্সেসযোগ্য হওয়া উচিত। (পয়েন্টেড ব্যবহার করে সরাসরি ডেটা অ্যাক্সেস করার ক্ষমতা এই নিয়ম অনুসারে অবৈধ)।
নিয়ম 3:শূন্য মানগুলির পদ্ধতিগত চিকিত্সা
নিয়মিত পদ্ধতিতে ডেটার অনুপস্থিতি বা অবৈধ ডেটার প্রতিনিধিত্ব করার জন্য একটি ডাটাবেসে NULL মানগুলি সম্পূর্ণরূপে সমর্থিত৷ NULL মানগুলি ডেটা প্রকারের থেকে স্বতন্ত্র এবং তাদের উপর যে কোনও অপারেশন অবশ্যই NULL ফেরত দেবে৷
নিয়ম 4:ডাইনামিক অনলাইন ক্যাটালগ
ক্যাটালগ হল একটি ডাটাবেসের সম্পূর্ণ বিবরণ। এটি অনলাইনে সংরক্ষণ করা হয় এবং ডাটাবেসে অতিরিক্ত তথ্য দেয়। ডাটাবেসে ব্যবহৃত কোয়েরি ভাষা ক্যাটালগেও ব্যবহৃত হয়।
নিয়ম 5:শক্তিশালী এবং সুগঠিত ভাষা
একটি রিলেশনাল ডাটাবেস একাধিক ভাষা সমর্থন করতে পারে৷ তবে এমন একটি ভাষা থাকা উচিত যা সব ধরনের ডেটা অ্যাক্সেস, ডেটা ম্যানিপুলেশন ইত্যাদি প্রদান করে। এরকম একটি ভাষা হল SQL।
নিয়ম 6:আপডেট করার নিয়ম দেখুন
সমস্ত ভিউ যা তাত্ত্বিকভাবে আপডেট করা যায় সেগুলিও সিস্টেম দ্বারা আপডেট করা উচিত৷
নিয়ম 7:গুণমান সন্নিবেশ, আপডেট, মুছে ফেলা
একক অপারেন্ডের ক্ষেত্রে সন্নিবেশ, মুছে ফেলা এবং আপডেট করা সম্ভব। এই সুবিধাটি সম্পর্কের সকল স্তরে উপলব্ধ হতে হবে।
নিয়ম 8:শারীরিক ডেটা স্বাধীনতা
সিস্টেমের শারীরিক পরিবর্তন, যেমন স্টোরেজ স্পেস পরিবর্তন, অ্যাক্সেস পদ্ধতির পরিবর্তন ইত্যাদি অ্যাপ্লিকেশন প্রোগ্রাম এবং সিস্টেমের অন্যান্য কার্যকলাপকে প্রভাবিত করবে না৷
নিয়ম 9:যৌক্তিক ডেটা স্বাধীনতা
যৌক্তিক কাঠামোতে পরিবর্তন থাকলেও রিলেশনাল ডাটাবেসের ব্যবহারকারীর ভিউ সামঞ্জস্যপূর্ণ থাকা উচিত। এই নিয়ম সন্তুষ্ট করা বেশ কঠিন।
নিয়ম 10:অখণ্ডতার স্বাধীনতা
একটি রিলেশনাল ডাটাবেসের জন্য বিশেষ অখণ্ডতার সীমাবদ্ধতা সেই ডাটাবেসের ভাষায় সংজ্ঞায়িত করা উচিত এবং ক্যাটালগে সংরক্ষণ করা উচিত। এই নিয়মের অর্থ হল রিলেশনাল ডিবিএমএস ফ্রন্ট এন্ডের উপর নির্ভরশীল নয়।
নিয়ম 11:বিতরণের স্বাধীনতা
এমনকি ডাটাবেসের ডেটা একাধিক স্থানে বিতরণ করা হলেও, শেষ ব্যবহারকারীর ডাটাবেসটিকে একটি অভিন্ন সত্তা হিসাবে দেখতে হবে৷ এছাড়াও, ডাটাবেসটি পুরোপুরি কাজ করা উচিত যদিও এটি নেটওয়ার্ক জুড়ে বিতরণ করা হয়।
নিয়ম 12:নন-সাবভার্সন নিয়ম
যদি রিলেশনাল ডাটাবেসের জন্য নিম্ন স্তরের অ্যাক্সেসের অনুমতি দেওয়া হয়, তবে এটি অখণ্ডতার সীমাবদ্ধতাগুলিকে নষ্ট করতে এবং ডেটা পরিবর্তন করতে নিরাপত্তা বাইপাস করতে সক্ষম হবে না৷