एक विदेशी कुंजी डेटा की पूरी दुनिया के लिए दरवाजा खोलता है
संबंधपरक डेटाबेस विकसित करते समय डेटाबेस डिजाइनर चाबियों का व्यापक उपयोग करते हैं। इन चाबियों में से सबसे आम प्राथमिक कुंजी और विदेशी कुंजी हैं। एक डेटाबेस विदेशी कुंजी एक संबंधित तालिका में एक फ़ील्ड है जो किसी अन्य तालिका के प्राथमिक कुंजी कॉलम से मेल खाता है। यह समझने के लिए कि एक विदेशी कुंजी कैसे काम करती है, आइए एक रिलेशनल डेटाबेस के विचार पर नज़र डालें।
रिलेशनल डेटाबेस के कुछ मूल बातें
एक रिलेशनल डेटाबेस में, डेटा पंक्तियों और स्तंभों वाली तालिकाओं में संग्रहीत होता है , जिससे खोजना और कुशलतापूर्वक उपयोग करना आसान हो जाता है। एक संबंधपरक डेटाबेस (रिलेशनल बीजगणित, ईएफ द्वारा प्रस्तावित) की अवधारणा के पीछे कुछ गंभीर गणित है
1 9 70 में आईबीएम में कोडड), लेकिन यह इस लेख का विषय नहीं है।
व्यावहारिक उद्देश्यों (और गैर-गणितज्ञ) के लिए, एक संबंधपरक डेटाबेस पंक्तियों और स्तंभों में "संबंधित" डेटा संग्रहीत करता है। आगे- और यहां जहां यह दिलचस्प हो जाता है- अधिकांश डेटाबेस डिज़ाइन किए गए हैं ताकि एक तालिका में डेटा किसी अन्य तालिका में डेटा तक पहुंच सके। तालिकाओं के बीच संबंध बनाने की यह क्षमता एक संबंधपरक डेटाबेस की वास्तविक शक्ति है।
विदेशी कुंजी का उपयोग करना
अधिकांश टेबल, विशेष रूप से बड़े, जटिल डेटाबेस में, प्राथमिक कुंजी होती है। अन्य सारणी तक पहुंचने के लिए डिज़ाइन किए गए टेबल्स में एक विदेशी कुंजी भी होनी चाहिए।
सामान्य-उद्धृत नॉर्थविंड्स डेटाबेस का उपयोग करने के लिए, यहां उत्पाद तालिका से एक अंश है:
उत्पाद आइ डि | उत्पाद का नाम | श्रेणी ID | QuantityPerU | यूनिट मूल्य |
---|---|---|---|---|
1 | चाय | 1 | 10 बक्से एक्स 20 बैग | 18.00 |
2 | चांग | 1 | 24 - 12 औंस की बोतलें | 19.00 |
3 | Aniseed सिरप | 2 | 12 - 550 मिलीलीटर की बोतलें | 10.00 |
4 | शेफ एंटोन के कजुन मसाला | 2 | 48 - 6 औंस जार | 22.00 |
5 | शेफ एंटोन के गम्बो मिक्स | 2 | 36 बक्से | 21.35 |
6 | दादी की लड़केबेरी फैल गई | 2 | 12 - 8 औंस जार | 25.00 |
7 | चाचा बॉब के कार्बनिक सूखे नाशपाती | 7 | 12 - 1 एलबी पीकेजीएस। | 30.00 |
ProductID कॉलम इस तालिका की प्राथमिक कुंजी है। यह प्रत्येक उत्पाद को एक अद्वितीय आईडी असाइन करता है।
इस तालिका में एक विदेशी कुंजी कॉलम, श्रेणी आईडी भी शामिल है। उत्पाद तालिका में प्रत्येक उत्पाद श्रेणियों की तालिका में एक प्रविष्टि से लिंक करता है जो उस उत्पाद की श्रेणी को परिभाषित करता है।
डेटाबेस की श्रेणियों तालिका से इस अंश को नोट करें:
श्रेणी ID | श्रेणी नाम | विवरण |
---|---|---|
1 | पेय | शीतल पेय, कॉफी, चाय, बीयर, और एलिस |
2 | मसालों | मीठा और स्वादिष्ट सॉस, रिश्ते, फैलता है, और सीजनिंग |
3 | confections | मिठाई, कैंडीज, और sweetbreads |
5 | दुग्ध उत्पाद | पनीर |
कॉलम श्रेणी आईडी इस कॉलम की प्राथमिक कुंजी है। (इसमें कोई विदेशी कुंजी नहीं है क्योंकि इसे किसी अन्य तालिका तक पहुंचने की आवश्यकता नहीं है।) उत्पाद तालिका में प्रत्येक विदेशी कुंजी श्रेणियों तालिका में प्राथमिक कुंजी से लिंक होती है। उदाहरण के लिए, उत्पाद चाई को "बेवरेज" श्रेणी दी जाती है, जबकि एनीजेड सिरप श्रेणी की मसालों में है।
इस प्रकार की लिंकिंग एक रिलेशनल डेटाबेस में डेटा का उपयोग और पुन: उपयोग करने के तरीकों के असंख्य तरीके बनाती है।