1NF सामान्य रूपों का सबसे बुनियादी है - एक तालिका में प्रत्येक सेल में केवल एक जानकारी होनी चाहिए, और कोई डुप्लिकेट पंक्तियाँ नहीं हो सकती हैं।
2NF और 3NF सभी प्राथमिक कुंजी पर निर्भर होने के बारे में हैं। याद रखें कि एक प्राथमिक कुंजी कई स्तंभों से बनी हो सकती है। जैसा कि क्रिस ने अपनी प्रतिक्रिया में कहा:
डेटा कुंजी [1NF], संपूर्ण कुंजी [2NF] और कुछ नहीं बल्कि कुंजी [3NF] पर निर्भर करता है (इसलिए मेरी मदद करें Codd )।
2NF
मान लें कि आपके पास एक तालिका है जिसमें एक निश्चित सेमेस्टर में पाठ्यक्रम हैं, और आपके पास निम्नलिखित डेटा हैं:
|-----Primary Key----| uh oh |
V
CourseID | SemesterID | #Places | Course Name |
------------------------------------------------|
IT101 | 2009-1 | 100 | Programming |
IT101 | 2009-2 | 100 | Programming |
IT102 | 2009-1 | 200 | Databases |
IT102 | 2010-1 | 150 | Databases |
IT103 | 2009-2 | 120 | Web Design |
यह 2NF में नहीं है , क्योंकि चौथा कॉलम पूरी कुंजी पर निर्भर नहीं करता है - लेकिन इसका केवल एक हिस्सा है। कोर्स का नाम कोर्स की आईडी पर निर्भर है, लेकिन इसका किस सेमेस्टर में लिया गया है, इससे कोई लेना-देना नहीं है। इस प्रकार, जैसा कि आप देख सकते हैं, हमारे पास डुप्लिकेट जानकारी है - कई पंक्तियाँ हमें बता रही हैं कि IT101 प्रोग्रामिंग है, और IT102 डेटाबेस है। तो हम तय करते हैं कि पाठ्यक्रम के नाम को किसी अन्य तालिका में ले जाएं, जहां कोर्सिड एनटीआईआरई कुंजी है।
Primary Key |
CourseID | Course Name |
---------------------------|
IT101 | Programming |
IT102 | Databases |
IT103 | Web Design |
अतिरेक नहीं!
3NF
ठीक है, तो मान लें कि हम पाठ्यक्रम के शिक्षक का नाम और उनके बारे में कुछ विवरण आरडीबीएमएस में जोड़ते हैं:
|-----Primary Key----| uh oh |
V
Course | Semester | #Places | TeacherID | TeacherName |
---------------------------------------------------------------|
IT101 | 2009-1 | 100 | 332 | Mr Jones |
IT101 | 2009-2 | 100 | 332 | Mr Jones |
IT102 | 2009-1 | 200 | 495 | Mr Bentley |
IT102 | 2010-1 | 150 | 332 | Mr Jones |
IT103 | 2009-2 | 120 | 242 | Mrs Smith |
अब उम्मीद है कि यह स्पष्ट होना चाहिए कि टीचरनाम शिक्षक पर निर्भर है - इसलिए यह 3NF में नहीं है । इसे ठीक करने के लिए, हम उतना ही करते हैं जितना हमने 2NF में किया था - इस तालिका से शिक्षकनाम फ़ील्ड को बाहर निकालें, और इसे अपने आप में रखें, जिसमें शिक्षक की कुंजी है।
Primary Key |
TeacherID | TeacherName |
---------------------------|
332 | Mr Jones |
495 | Mr Bentley |
242 | Mrs Smith |
कोई अतिरेक नहीं !!
याद रखने वाली एक महत्वपूर्ण बात यह है कि यदि कोई चीज 1NF में नहीं है, तो यह 2NF या 3NF में नहीं है। इसलिए प्रत्येक अतिरिक्त नॉर्मल फॉर्म में उन सभी चीजों की आवश्यकता होती है जो निम्न सामान्य रूपों में होती हैं, साथ ही कुछ अतिरिक्त स्थितियां भी होती हैं, जिन्हें सभी को पूरा करना चाहिए ।