what is third normal form in hindi-तीसरी नार्मल फॉर्म हिंदी में

हेल्लो दोस्तों आज के इस पोस्ट में आपको third normal form hindi के बारे में बताया गया है की इसे कैसे प्रयोग करते है तो चलिए शुरू करते है

Third Normal Form-3NF

यद्यपि किसी अननॉर्मलाइज्ड रिलेशन (Unnormalized Relation) या 1NF में विद्यमान रिलेशन (Relation) को ऐसे छोटे-छोटे रिलेशन्स (Relations) में डिकम्पोज़ (Decompose) करने से अनेक एनोमलीज़ (Anomalies) दूर हो जाती हैं, जो 2NF में होती हैं, फिर भी इससे सभी सम्भावित एनोमलीज़ (Anomalies) दूर नहीं होते हैं। अतः आगे भी नार्मलाईजेशन(Normalization) की आवश्यकता होती है,

ताकि सभी प्रकार के एनोमलीज़ (Anomalies) को पूर्णरूपेण दूर किया जा सके। 2NF पर आधारित रिलेशन्स (Relations) में कुछ एनोमलीज़ (Anomalies) होते हैं, क्योंकि किसी 2NF आधारित रिलेशन (Relation) में ऐसे एट्रीब्यूट्स (Attributes) हो सकते हैं जो रिलेशन (Relation) की कैन्डिडेट कीय” (Candidate Keys) से सीधे-सीधे (Directly) सम्बन्धित (Related) नहीं होते हैं।

“कोई भी रिलेशन (Relation), R, 3NF में होती है यदि वह 2NF में होती है और उस रिलेशन (Relation),R का कोई भी ननप्राइम एट्रीब्यूट (Nonprime Attribute), प्राइमरी ‘की’ (Primary Key) पर ट्रान्ज़िटिवली डिपेन्डेन्ट (Transitively Dependent) नहीं होता है।”

3NF, ट्रान्जिटिव डिपेन्डेन्सी (Transitive Dependency) के कॉन्सेप्ट (Concept) पर आधारित है। एक

रिलेशनल स्कीमा (Relational Schema), R में फंक्शनल डिपेन्डेन्सी (Functional Dependency),x→Y एक ट्राजिन्टिव डिपेन्डेन्सी (Transitive Dependency) होती है यदि एट्रीब्यूट्स (Attributes) का एक सेट (Set), Z न तो R की एक कैन्डिडेट ‘की’ (Candidate Key) होती है और न ही R की किसी ‘की’ (Key) का एक सबसेट (Subset) होता है X → Z तथा z →Y दोनों होल्ड (Hold) करते हैं।

मान लीजिए कि A, B और C रिलेशन (Relation) R के तीन एट्रीब्यूट्स (Attributes) हैं, जिसकी फंक्शन डिपेन्डेन्सीज़ (Functional Dependencies) इस प्रकार हैं-A→ B, B→C। इन फंक्शनल डिपेन्डेन्सीज (function Dependencies) से हम A → C को डेराइव (Derive) कर सकते हैं। इसका तात्पर्य यह है कि C,A पर अप्रत्यक्ष(Indirectly) रूप से डिपेन्डेन्ट (Dependent) है। अतः डिपेन्डेन्स (Dependence) A → C ट्रान्ज़िटिव (transitive) है

आइए, अब नीचे दिए गए रिलेशन पर विचार करते हैं जो 2NF में हैं

COURSE_TEACHER (CourseNo, CourseName, Teacher, Department)

मान लीजिए कि CourseName, यूनिक (Unique) नहीं है एवं CourseNo एकमात्र कैन्डिडेट की ‘(Candidate Key) है एवं इस रिलेशन के लिए निम्नलिखित फंक्शनल डिपेन्डेन्सीज़ (Functional dependencies) विद्यमान हैं–

CourseNo → Teacher

Teacher → Department

CourseNo → Department

यहाँ (III) एक ऐसी ट्रान्ज़िटिव डिपेन्डेन्सी (Transitive Dependency) है, जिसे फंक्शनल डिपेन्डेन्सीज (Functional Dependencies)—(I) और (II) से उत्पन्न अर्थात् डेराइव (Derive) किया गया है, ताकि COURSE_TEACHER को 2NF में डिकम्पोज़ (Decompose) किया जा सके। परन्तु, यह रिलेशन अभी भी 3NF में नहीं है;

क्योंकि Department नामक एट्रीब्यूट (Attribute), CourseNo नामक एट्रीब्यूट (Attribute) पर सीधे-सीधे (Directly) डिपेन्डेन्ट (Dependent) नहीं है; परन्तु यह इस पर ट्रान्ज़िटिवली (Transitively) डिपेन्डेन्ट (Dependent) है और इसे डिकम्पोज़ (Decompose) करने की आवश्यकता है; क्योंकि इसमें अभी भी सभी एनोमलीज़ (Anomalies) विद्यमान हैं।

इसे भी देखे –What is data model in hindi-डाटा मॉडल क्या है?

इस रिलेशन के साथ प्रमुख समस्या यह है कि एक टीचर (Teacher), एक से अधिक विषयों (Subjects) को पढ़ाने के लिए उत्तरदायी हो सकता है; अतः प्रत्येक कोर्स (Course) के लिए एक ट्यूपल रिकॉर्ड (Tuple/Record) की आवश्यकता है। अतः टीचर (Teacher) का डिपार्टमेन्ट (Department) प्रत्येक ट्यूपल रिकॉर्ड (Tuple/Record) में रिपीट (Repeat) होगा।

इसके कारण अपडेट, इन्सर्शन एवं डिलीशन एनोमलीज़ (Update, Insertion and Deletion Anomalies) जैसी समस्याएँ इस रिलेशन के साथ उत्पन्न हो सकती हैं। इन समस्याओं को दूर करने के लिए COURSE_TEACHER रिलेशन को डिकम्पोज़ (Decompose) करना आवश्यक है और इसे निम्न प्रकार डिकम्पोज़ (decompose) किया जा सकता है

COURSE_TEACHER (CourseNo, CourseName, Teacher, Department)

यह रिलेशन 2NF में है, जिसे निम्नलिखित दो रिलेशन्स (Relations) में निम्न प्रकार डिकम्पोज़ (Decompose) किया जा सकता है

COURSE (CourseNo, CourseName, Teacher)

TEACHER (Teacher, Department)

अतः पिछले उदाहरण (2NF के उदाहरण) में दिया गया STUDENT रिलेशन 3NF में निम्नवत होगा

STUDENT (RegNo, Name, Address)

COURSE (CourseNo, CourseName, Teacher)

TEACHER (Teacher, Department)

COURSE_STUDENT (RegNo, CourseNo)

यद्यपि अधिकांशतः रिलेशनल डेटाबेस (Relational Database) को डिज़ाइन (Design) करने के लिए साधारणतया होता है, परन्तु कुछ परिस्थितियों में 3NF में डिज़ाइन किए गए रिलेशन्स (Relations) में कुछ एनोमलीज़(anomalies) रह जाती हैं। उदाहरण के लिए, नीचे दिए गए STUDENT2 नामक रिलेशन पर विचार करते हैं।

STUDENT2 (RegNo, Name, CourseNo, CourseName)

इस रिलेशन की फंक्शनल डिपेन्डेन्सीज़ (FDs) निम्नवत हैं–

RegNo → Name

CourseNo → CourseName

Name →RegNo

CourseName → CourseNo

STUDENT2 रिलेशन 3NF में हैं, जिसके सभी एट्रीब्यूट्स (Attributes), इसकी कैन्डिडेट ‘कीज़’ (Candidate keys)-RegNo+CourseNo का हिस्सा है; परन्तु ओवरलैपिंग कैन्डिडेट ‘कीज़’ (Overlapping Candidate Keys) के नॉन-ओवरलैपिंग पोर्शन्स(Non-Overlapping Portions) के मध्य डिपेन्डेन्सी (Dependency) है, जिसे निम्नांकित Fig में दर्शाया गया है

डायग्राम

अत: यह स्पष्ट है की 3NF सभी anomalies को दूर नहीं करता है इसलिए किसी रिलेशन को आगे normalize करने के लिए हमे BCNF की आवश्यकता होती है।

reference-https://en.wikipedia.org/wiki/Third_normal_form

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(third normal form hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic( third normal form hindi ) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject( third normal form hindi ) के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment