ডেটাবেস (DBMS)
নরমালাইজেশনের ধারাবাহিক ধাপ ও মূল শর্তসমূহ (1NF থেকে BCNF)
Database Normalization Flow: 1NF -> 2NF -> 3NF -> BCNF Hierarchy
সূত্র
1NF: Atomic attributes (no repeating groups). 2NF: 1NF + No Partial Dependency. 3NF: 2NF + No Transitive Dependency (For X -> Y, X is SuperKey OR Y is Prime). BCNF: For EVERY X -> Y, X MUST be a SuperKey.
নিয়ম ও সহজ উপায়
নরমালাইজেশন ধাপ মনে রাখার ফিল্টার ফর্মুলা: - 1NF: টেবিলে কোনো মাল্টি-ভ্যালুড বা কম্পোজিট অ্যাট্রিবিউট থাকতে পারবে না (প্রতিটি সেলে একটাই অ্যাটমিক মান)। - 2NF: 1NF হতে হবে + কোনো আংশিক নির্ভরতা (Partial Dependency) থাকা চলবে না। অর্থাৎ নন-প্রাইম অ্যাট্রিবিউট প্রাইমারি কি-এর কোনো অংশের ওপর নির্ভর করতে পারবে না। (শর্টকাট: প্রাইমারি কি সিঙ্গেল অ্যাট্রিবিউট হলে টেবিলটি 1NF হলে স্বয়ংক্রিয়ভাবে 2NF-এ থাকে!)। - 3NF: 2NF হতে হবে + ট্রানজিটিভ নির্ভরতা থাকা যাবে না। নিয়ম: X -> Y এর ক্ষেত্রে হয় X-কে Super Key হতে হবে, অথবা Y-কে Prime Attribute (ক্যান্ডিডেট কি-এর অংশ) হতে হবে। - BCNF: বয়সি-কড নরমাল ফর্ম (3NF-এর চেয়ে কঠোর)। যেকোনো নির্ভরতা X -> Y-এর জন্য X-কে নিশ্চিতভাবে Super Key হতেই হবে (ডানপাশে প্রাইম অ্যাট্রিবিউটের কোনো ছাড় নেই)।