3NF কি?
সাধারণীকরণের তৃতীয় ধাপ হল 3NF।
একটি টেবিল 3NF-এ থাকে, শুধুমাত্র যদি একটি সম্পর্ক 2NF-এ থাকে এবং এতে কোনো ট্রানজিটিভ ফাংশনাল ডিপেন্ডেন্সি থাকে না
আসুন একটি উদাহরণ দেখি -
উদাহরণ (সারণী 3NF লঙ্ঘন করে)
Movie_ID | লিস্টিং_আইডি৷ | লিস্টিং_টাইপ | DVD_মূল্য ($) |
0089 | 007 | কমেডি৷ | 100 |
0090 | 003 | ক্রিয়া৷ | 150 |
0091 | 007 | কমেডি৷ | 100 |
উপরের টেবিলটি 3NF-এ নেই কারণ এটির একটি ট্রানজিটিভ কার্যকরী নির্ভরতা রয়েছে −
Movie_ID -> Listing_ID তালিকা_আইডি -> তালিকা_প্রকার |
অতএব, Movie_ID -> Listing_Type অর্থাৎ ট্রানজিটিভ কার্যকরী নির্ভরতা।
উদাহরণ (সারণী 3NF তে রূপান্তরিত)
এটিকে 3NF-এ গঠন করতে, আপনাকে টেবিলগুলিকে বিভক্ত করতে হবে এবং ট্রানজিটিভ কার্যকরী নির্ভরতা দূর করতে হবে৷
চলচ্চিত্র>
Movie_ID | লিস্টিং_আইডি৷ | DVD_মূল্য ($) |
0089 | 007 | 100 |
0090 | 003 | 150 |
0091 | 007 | 100 |
<লিস্টিং>
Listing_ID | লিস্টিং_টাইপ |
007 | কমেডি৷ |
003 | ক্রিয়া৷ |
007 | কমেডি৷ |
আসুন আমরা আবার ফলাফল দেখি যেটি এখন 3NF-এ একটি টেবিল -