BCNF বনাম 4NF (৪র্থ স্বাভাবিকীকরণ)
ডাটাবেস স্বাভাবিকীকরণ একটি কৌশল, যা রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেমের সাথে কাজ করে। একটি ভাল স্বাভাবিক ডাটাবেসে ডেটা ত্রুটিগুলি এড়ানো যেতে পারে। ডাটাবেসের ডেটা রিডানডেন্সি কমাতে নরমালাইজেশন ব্যবহার করা হয়। এর অর্থ হল ডাটাবেস টেবিল এবং তাদের সম্পর্কগুলি বাস্তবায়ন করা, অপ্রয়োজনীয়তা এবং অসংলগ্ন নির্ভরতা দূর করা। স্বাভাবিককরণের জন্য কিছু পূর্বনির্ধারিত নিয়ম রয়েছে। এই নিয়মগুলিকে সাধারণ ফর্ম বলা হয়৷
- প্রথম সাধারণ ফর্ম (1NF)
- সেকেন্ড নরমাল ফর্ম (2NF)
- তৃতীয় সাধারণ ফর্ম (3NF)
- বয়স-কড নরমাল ফর্ম (BCNF বা 3.5NF)
- চতুর্থ সাধারণ ফর্ম (4NF)
প্রথম সাধারণ ফর্মটিকে একটি টেবিলের পারমাণবিকতা হিসাবে উল্লেখ করা হয়। টেবিলের পারমাণবিকতা দুটি ধাপে পৌঁছানো যায়।
- একই টেবিল থেকে ডুপ্লিকেট কলাম সরানো হচ্ছে।
- সম্পর্কিত সদৃশ কলামের জন্য পৃথক টেবিল তৈরি করা হচ্ছে। (এই টেবিলের প্রতিটি সারি চিহ্নিত করার জন্য প্রাথমিক কী থাকতে হবে)
দ্বিতীয় স্বাভাবিক আকারে, একটি টেবিলের অপ্রয়োজনীয় ডেটাগুলিকে নিষ্কাশন করে একটি পৃথক টেবিলে স্থাপন করার মাধ্যমে কমানোর চেষ্টা করা হয়। নিম্নলিখিত পদক্ষেপগুলি করে এটি অর্জন করা যেতে পারে।
- ডেটা সেট নির্বাচন করুন, যা একাধিক সারিতে প্রযোজ্য, এবং সেগুলিকে আলাদা টেবিলে রাখুন।
- বিদেশী কী ব্যবহার করে এই নতুন টেবিল এবং প্যারেন্ট টেবিলের মধ্যে সম্পর্ক তৈরি করুন।
ডাটাবেসকে তৃতীয় স্বাভাবিক ফর্মে নিয়ে যেতে, ইতিমধ্যেই ডাটাবেসকে প্রথম এবং দ্বিতীয় স্বাভাবিক ফর্মে অর্জন করতে হবে।যখন ডাটাবেস 1NF এবং 2NF তে থাকে, তখন কোনো ডুপ্লিকেট কলাম থাকে না এবং একাধিক সারিতে প্রযোজ্য ডেটার কোনো উপসেট থাকে না। তৃতীয় সাধারণ ফর্মটি টেবিলের কলামগুলিকে সরিয়ে দিয়ে অর্জন করা যেতে পারে, যা সম্পূর্ণ নয়, প্রাথমিক কী-এর উপর নির্ভর করে।
বয়স-কড নরমাল ফর্ম (BCNF বা 3.5NF)
BCNF এর অর্থ হল "বয়স-কড নরমাল ফর্ম"। এই স্বাভাবিক ফর্মটি ডাটাবেস স্বাভাবিককরণের 3.5 সাধারণ ফর্ম হিসাবেও পরিচিত। BCNF অর্জন করতে, ডাটাবেসটি ইতিমধ্যে তৃতীয় স্বাভাবিক ফর্মে পৌঁছাতে হবে। তারপর BCNF অর্জনের জন্য নিম্নলিখিত পদক্ষেপগুলি করা উচিত।
- সম্পর্কের সমস্ত প্রার্থী কী চিহ্নিত করুন
- সম্পর্কের সমস্ত কার্যকরী নির্ভরতা চিহ্নিত করুন৷
- যদি সম্পর্কের মধ্যে কার্যকরী নির্ভরতা থাকে, যেখানে তাদের নির্ধারকগুলি সম্পর্কের জন্য প্রার্থী কী নয়, তাদের নির্ধারকের একটি অনুলিপি সহ একটি নতুন সম্পর্কে স্থাপন করে কার্যকরী নির্ভরতাগুলি সরিয়ে ফেলুন৷
চতুর্থ সাধারণ ফর্ম
ডাটাবেসকে অবশ্যই তৃতীয় স্বাভাবিক আকারে থাকতে হবে, চতুর্থ স্বাভাবিক আকারে স্বাভাবিক করার আগে। যদি ডাটাবেসটি ইতিমধ্যেই তৃতীয় স্বাভাবিক আকারে থাকে, তবে পরবর্তী পদক্ষেপটি বহু-মূল্যবান নির্ভরতাগুলি সরানো উচিত। (যদি এক বা একাধিক সারি একই টেবিলে এক বা একাধিক সারির উপস্থিতি বোঝায়, তাহলে একে বহু-মূল্য নির্ভরতা বলা হয়।)
BCNF এবং 4NF (চতুর্থ সাধারণ ফর্ম) এর মধ্যে পার্থক্য কী?
• BCNF-এ নিয়ে যাওয়ার জন্য ডেটাবেস ইতিমধ্যেই 3NF-এ পৌঁছাতে হবে, কিন্তু 4NF-এ পৌঁছানোর জন্য ডাটাবেস অবশ্যই 3NF এবং BCNF-এ হতে হবে৷
• চতুর্থ স্বাভাবিক আকারে, টেবিলের কোনো বহু-মূল্যবান নির্ভরতা নেই, তবে BCNF-তে, টেবিলে বহু-মূল্যবান নির্ভরতা ডেটা থাকতে পারে।