Skip to main content

डेटाबेस में एक से कई रिश्तों

Learn microsoft access 2007 In Hindi माइक्रोसॉफ्ट एक्‍सेस सीखें हिन्‍दी में (Basics Tutorial) (जून 2026)

Learn microsoft access 2007 In Hindi माइक्रोसॉफ्ट एक्‍सेस सीखें हिन्‍दी में (Basics Tutorial) (जून 2026)
Anonim

डेटाबेस में एक से अधिक रिश्ते तब होते हैं जब तालिका ए में प्रत्येक रिकॉर्ड में तालिका बी में कई लिंक किए गए रिकॉर्ड हो सकते हैं, लेकिन तालिका बी में प्रत्येक रिकॉर्ड में तालिका ए में केवल एक ही रिकॉर्ड हो सकता है। इसमें एक से अधिक संबंध हैं एक डेटाबेस सबसे आम संबंधपरक डेटाबेस डिजाइन है और अच्छी डिजाइन के दिल में है।

एक शिक्षक और उनके द्वारा पढ़े जाने वाले पाठ्यक्रमों के बीच संबंधों पर विचार करें। एक शिक्षक कई पाठ्यक्रम पढ़ सकता है, लेकिन पाठ्यक्रम के साथ शिक्षक के साथ समान संबंध नहीं होगा।

इसलिए, एक शिक्षक तालिका में प्रत्येक रिकॉर्ड के लिए, पाठ्यक्रम तालिका में कई रिकॉर्ड हो सकते हैं। यह एक से कई रिश्तों है: एक शिक्षक कई पाठ्यक्रमों के लिए।

एक से अधिक रिश्तों की स्थापना क्यों महत्वपूर्ण है

एक से कई रिश्तों का प्रतिनिधित्व करने के लिए, आपको कम से कम दो टेबल की आवश्यकता है। चलो देखते हैं क्यों।

शायद हमने एक टेबल बनाया जिसमें हम सिखाए गए नाम और पाठ्यक्रम रिकॉर्ड करना चाहते थे। हम इसे इस तरह डिजाइन कर सकते हैं:

शिक्षक और पाठ्यक्रम
Teacher_IDअध्यापक का नामकोर्स
Teacher_001कारमेनजीवविज्ञान
Teacher_002वेरोनिकागणित
Teacher_003जॉर्जअंग्रेज़ी

क्या होगा यदि कारमेन दो या दो से अधिक पाठ्यक्रम सिखाता है? हमारे पास इस डिजाइन के साथ दो विकल्प हैं। हम इसे कारमेन के मौजूदा रिकॉर्ड में जोड़ सकते हैं, जैसे:

शिक्षक और पाठ्यक्रम
Teacher_IDअध्यापकनाम_कोर्स
Teacher_001कारमेनजीवविज्ञान, गणित
Teacher_002वेरोनिकागणित
Teacher_003जॉर्जअंग्रेज़ी

उपर्युक्त डिज़ाइन, हालांकि, लचीला है और डेटा को सम्मिलित करने, संपादित करने या हटाने का प्रयास करते समय बाद में समस्याएं हो सकती हैं।

यह डेटा की खोज करना मुश्किल बनाता है। यह डिज़ाइन डेटाबेस सामान्यीकरण, प्रथम सामान्य फॉर्म (1 एनएफ) के पहले सिद्धांत का उल्लंघन करता है, जिसमें कहा गया है कि प्रत्येक तालिका कक्ष में डेटा का एक एकल, अलग टुकड़ा होना चाहिए।

कारमेन के लिए दूसरा रिकॉर्ड जोड़ने का एक अन्य डिज़ाइन विकल्प हो सकता है:

शिक्षक और पाठ्यक्रम
अध्यापक_ idअध्यापकनाम_कोर्स
Teacher_001कारमेनजीवविज्ञान
Teacher_001कारमेनगणित
Teacher_002वेरोनिकागणित
Teacher_003जॉर्जअंग्रेज़ी

यह 1 एनएफ का पालन करता है लेकिन अभी भी खराब डेटाबेस डिज़ाइन है क्योंकि यह अनावश्यकता पेश करता है और अनावश्यक रूप से एक बहुत बड़े डेटाबेस को फहरा सकता है। सबसे महत्वपूर्ण बात यह है कि डेटा असंगत हो सकता है। उदाहरण के लिए, अगर कारमेन का नाम बदल गया तो क्या होगा? डेटा के साथ काम करने वाला कोई भी व्यक्ति अपने नाम को एक रिकॉर्ड में अपडेट कर सकता है और दूसरे रिकॉर्ड में इसे अपडेट करने में विफल रहता है। यह डिज़ाइन दूसरा सामान्य फॉर्म (2 एनएफ) का उल्लंघन करता है, जो 1 एनएफ का पालन करता है और डेटा के सबसेट को एकाधिक तालिकाओं में विभाजित करके और उनके बीच संबंध बनाने के द्वारा कई रिकॉर्ड की अनावश्यकता से बचने चाहिए।

एक से कई रिश्तों के साथ एक डेटाबेस कैसे डिजाइन करें

शिक्षकों और पाठ्यक्रम तालिका में एक से कई रिश्तों को लागू करने के लिए, हम टेबल को दो में विभाजित करते हैं और विदेशी कुंजी का उपयोग करके उन्हें लिंक करते हैं।

यहां, हमने शिक्षक तालिका में पाठ्यक्रम कॉलम हटा दिया है:

शिक्षकों की
अध्यापक_ idअध्यापकनाम_
Teacher_001कारमेन
Teacher_002वेरोनिका
Teacher_003जॉर्ज

और यहां पाठ्यक्रम तालिका है। ध्यान दें कि इसकी विदेशी कुंजी, Teacher_ID, शिक्षक तालिका में एक शिक्षक को एक कोर्स जोड़ती है:

पाठ्यक्रम
पाठ्यक्रम आईडीकोर्स का नामTeacher_ID
Course_001जीवविज्ञानTeacher_001
Course_002गणितTeacher_001
Course_003अंग्रेज़ीTeacher_003

हमने एक विदेशी कुंजी का उपयोग कर शिक्षकों और पाठ्यक्रम तालिका के बीच एक रिश्ता विकसित किया है।

यह हमें बताता है कि जीवविज्ञान और गणित दोनों कारमेन द्वारा सिखाए जाते हैं और जोर्ज अंग्रेजी सिखाता है।

हम देख सकते हैं कि यह डिज़ाइन किसी भी संभावित अनावश्यकता से कैसे बचाता है, व्यक्तिगत शिक्षकों को कई पाठ्यक्रम सिखाने की अनुमति देता है, और एक से कई रिश्तों को लागू करता है।

डेटाबेस एक-से-एक संबंध और कई से अधिक रिश्तों को भी लागू कर सकते हैं।