1NF परमाणुता के बारे में है, अतिरेक के बारे में नहीं (यही उच्च सामान्य रूप हैं)। अनिवार्य रूप से, यदि सभी विशेषताएँ परमाणु हैं, तो आपकी तालिका 1NF में है।
जाहिर है, क्या कोई तालिका 1NF में है, इस पर निर्भर करता है कि आप "परमाणु" के रूप में क्या परिभाषित करते हैं। वास्तव में "परमाणुता" का अर्थ कुछ विवाद का विषय है, लेकिन मैं यहां एक व्यावहारिक मामला-दर-मामला दृष्टिकोण लेता हूं और बस पूछता हूं:
मैं जिस समस्या को हल करने का प्रयास कर रहा हूं, उसके संदर्भ में, क्या मूल्य के किसी भी हिस्से तक पहुंचने का कोई मतलब है, या मैं हमेशा पूरे मूल्य तक पहुंचता हूं?
अगर मैं हमेशा संपूर्ण का उपयोग करता हूं, तो यह उस विशेष संदर्भ में परमाणु है।
आपके उदाहरण में, संभावना है कि आप first_name
. तक पहुंचना चाहेंगे और last_name
अलग से, इसलिए full_name
गैर-परमाणु होगा और यही 1NF के उल्लंघन का कारण होगा। यदि, हालांकि, आप जानते हैं कि आपको पहले और अंतिम नाम को अलग-अलग एक्सेस करने की आवश्यकता नहीं होगी, तो आपके पास बस हो सकता है full_name
और अभी भी 1NF का उल्लंघन नहीं करते हैं।
"एक्सेस" मान को यहां काफी व्यापक रूप से समझा जाना चाहिए। इसका स्पष्ट रूप से मतलब डेटाबेस से पढ़ना हो सकता है, लेकिन इसका मतलब यह भी हो सकता है कि इसे किसी बाधा में उपयोग करना, या इसे अनुक्रमणित करना आदि...