মূল কনটেন্টে যান

খুঁজুন

  • সরকারি চাকরির তালিকা
  • সহজে শেখার শর্টকাট ও ফ্ল্যাশ কার্ড
  • MCQ অনুশীলন
  • মক টেস্ট
  • সব বিষয়
  • আমার ড্যাশবোর্ড
  • স্টাডি প্ল্যান
  • ভুল প্রশ্ন
  • অফলাইন লাইব্রেরি

Normalization

নরমালাইজেশন

Database Keys এবং Normalization: 1NF, 2NF, 3NF ও BCNF

পড়তে প্রায় ১২ মিনিট

এই পাঠ শেষে আপনি পারবেন

  • Super Key, Candidate Key, Primary Key ও Prime Attribute চিহ্নিত করা
  • 1NF, 2NF, 3NF ও BCNF-এর শর্ত এবং কোনটি কোন dependency দূর করে তা বলা
  • Insertion, Updation ও Deletion anomaly কেন ঘটে তা ব্যাখ্যা করা

Database Keys একনজরে

  • Super Key: এক বা একাধিক অ্যাট্রিবিউটের সেট যা একটি টেবিলের প্রতিটি রো-কে অনন্যভাবে (uniquely) শনাক্ত করতে পারে।
  • Candidate Key: ন্যূনতম (Minimal) Super Key—যার কোনো প্রকৃত উপসেট (proper subset) একা Super Key হতে পারে না।
  • Primary Key: Candidate Key-গুলোর মধ্য থেকে ডেটাবেস ডিজাইনার যেটিকে প্রধান শনাক্তকারী হিসেবে বেছে নেন। এটি কখনোই NULL হতে পারে না।
  • Alternate Key: Primary Key ছাড়া বাকি সব Candidate Key।
  • Foreign Key: একটি টেবিলের অ্যাট্রিবিউট যা অন্য (বা একই) টেবিলের Primary Key-কে রেফার করে Referential Integrity বজায় রাখে।
  • Prime Attribute: যেকোনো Candidate Key-এর অন্তর্ভুক্ত অ্যাট্রিবিউট।

Normalization-এর ধাপসমূহ (1NF → BCNF)

Normalization-এর মূল উদ্দেশ্য হলো Data Redundancy (পুনরাবৃত্তি) কমানো এবং Insertion, Update ও Deletion Anomaly দূর করা।

  • 1NF (First Normal Form): প্রতিটি সেলের মান Atomic (অবিভাজ্য) হতে হবে; কোনো multi-valued বা composite অ্যাট্রিবিউট থাকা যাবে না।
  • 2NF (Second Normal Form): টেবিলটি 1NF-এ থাকতে হবে এবং কোনো Partial Dependency থাকা যাবে না। অর্থাৎ কোনো non-prime অ্যাট্রিবিউট কোনো Candidate Key-এর আংশিক অংশের (proper subset) ওপর নির্ভর করতে পারবে না।
  • 3NF (Third Normal Form): টেবিলটি 2NF-এ থাকতে হবে এবং কোনো Transitive Dependency থাকা যাবে না। প্রতিটি functional dependency X → Y-এর জন্য: হয় X একটি Super Key হবে, নতুবা Y একটি Prime Attribute হবে।
  • BCNF (Boyce-Codd Normal Form / 3.5NF): 3NF-এর চেয়েও কঠোর। প্রতিটি non-trivial dependency X → Y-এর জন্য X অবশ্যই একটি Super Key হতে হবে।
মনে রাখার শর্টকাট:
1NF  -> Atomic values (নো মাল্টিভ্যালু)
2NF  -> No Partial Dependency (পুরো Key-র ওপর নির্ভরশীল)
3NF  -> No Transitive Dependency (Non-key -> Non-key নিষিদ্ধ)
BCNF -> প্রতিটি Determinant (বাম পাশ) অবশ্যই Super Key

সংস্করণ ১ · সর্বশেষ হালনাগাদ ২১ অক্টোবর, ২০২৬