second normal in hindi

सेकेण्ड नॉर्मल फॉर्म (Second Normal Form-2NF)

2NF, फुल फंक्शनल डिपेन्डेन्सी (Full Functional Dependency) के कॉन्सेप्ट (Concept) पर आधारित है। एक फंक्शनल डिपेन्डेन्सी (Functional Dependency), X → Y को एक फुल फंक्शनल डिपेन्डेन्सी (Full Functional Dependency) कहा जाता है; यदि X से किसी एट्रीब्यूट (Attribute), A को हटाने पर डिपेन्डेन्सी (Dependency) होल्ड (Hold) नहीं करती है; अर्थात् किसी भी एट्रीब्यूट (Attribute) के लिए AE X, {X – {A}}.Y को फंक्शनली (Functionally) निर्धारित नहीं करती है।

– एक फंक्शनल डिपेन्डेन्सी (Functional Dependency), X →Y को एक पार्शियल डिपेन्डेन्सी (Partial Dependency) कहा जाता है, यदि कुछ एट्रीब्यूट (attribute) AE X को X से रिमूव (Remove) किया जा सकता है और फिर भी डिपेन्डेन्सी (Dependency) होल्ड (Hold) करती है।

“कोई भी रिलेशन (Relation) टेबल (Table), R, 2NF में तभी होती है, जब वह 1NF में होती है और साथ ही उसके नॉन-प्राइम एट्रीब्यूट (Non-Prime Attribute), A, R की प्राइमरी ‘की’ (Primary Key) पर पूर्णतः फंक्शनली डिपेन्डेन्ट (Fully Functionally Dependent) होते हैं।”

सरल शब्दों में यह कहा जा सकता है कि एक रिलेशन (Relation) टेबल (Table) 2NF में होती है, यदि वह 1NF में होती है और उसके सभी नॉन-‘की’ एट्रीब्यूट्स (Non-Key Attributes), उसकी प्रत्येक कैन्दिडेट (Candidate Key) पर पूर्णतः निर्भर (Fully Dependent) होते हैं।

आइए एक बार पुनः STUDENT नामक रिलेशन पर विचार करते हैंSTUDENT (RegNo, Name, Address, CourseNo, CourseName, Teacher) इस रिलेशन टेबल के लिए निम्नलिखित फंक्शनल डिपेन्डेन्सीज़ (functional dependencies) लिखी जा सकती हैFD1 : RegNo → Name, Address FD2 : CourseNo → CourseName, Teacher

इस रिलेशन/टेबल (Relation/Table), के ‘की’ एट्रीब्यूट्स (Key Attributes) हैं – (RegNo + CourseNo) और शेष एट्रीब्यूट्स (Attributes), नॉन-‘की’ एट्रीब्यूट्स (Non-Key Attributes) हैं।

 

 

77

अध्याय 4

रिलेशनल डेटाबेस डिजाइन

रिलेशन/टेबल को 2NF में डिकम्पोज़ (Decompose) करने के लिए हमें FD1 एवं FD2 पर विचार करना कि ये ‘की’ (Key) के पार्शियल इन्डिपेन्डेन्स (Partial Independence) से सम्बन्धित हैं। इस रिलेशन/टेबल Tale) को 2NF में कन्वर्ट (Convert) करने के लिए आइए, इन फंक्शनल डिपेन्डेन्सीज़ (FDs) का प्रयोग

Lc

+H

होगा, क्योंकि ये ‘की’ । (Relation/Table) 7 2NE करते हैं।

1 के अनुसार RegNo छात्रों के नामों (Names) एवं पतों (Addresses) को यूनिकली (Uniquelly) रता है। अतः एक रिलेशन (Relation)/टेबल (Table) निम्नानुसार होना चाहिएSTUDENT (RegNo, Name, Address) अब FD2 के अनुसार इस रिलेशन (Relation), टेबल (Table) को निम्न प्रकार डिकम्पोज़ (Decompose)

ELESS

किया जा सकता है

COUSRE_TEACHER (CourseNo, CourseName, Teacher) अतः अब हमारे पास दो डिकम्पोज्ड रिलेशन्स (decomposed relations) निम्नवत हैंSTUDENT (Regno, Name, Address) COURSE_TEACHER (CourseNo, CourseName, Teacher)

चँकि इन दोनों रिलेशन्स (Relations) को रिलेट (Relate) नहीं किया जा सकता है; अतः यह डिकम्पोज़िशन (Decomposition) 2NF में पूर्ण (Complete) नहीं है। अतः हमें एक ऐसे रिलेशन/टेबल (Relation/Table) की आवश्यकता है जो इन दोनों डिकम्पोज्ड रिलेशन्स (Decomposed Relations) को रिलेट (Relate) कर सके। चूंकि STUDENT रिलेशन की प्राइमरी ‘की’ (Primary Key), RegNo+CourseNo है; अतः हमारे पास निम्नलिखित सुपर फंक्शनल डिपेन्डेन्सीज़ (Super FDs) हैं

RegNo, CourseNo → All attributes अतः हम एक ज्वॉइनिंग रिलेशन (Joining Relation) निम्न प्रकार क्रिएट कर सकते हैंCOURSE_STUDENT (RegNo, CourseNo) अन्ततः 2NF में STUDENT रिलेशन/टेबल इस तरह होगाSTUDENT (RegNo, Name, Address)

-2NF (a) COURSE_TEACHER (CourseNo, CourseName, Teacher) -2NF (b) COURSE_TEACHER (RegNo, CourseNo)

-2NF (c)

Leave a Comment