Different Types of Relationships in DBMS: एक बार अपने Database से सम्बंधित सभी Basic Entities का पता लग जाने के बाद हमारा अगला काम उन Entities के बीच की आपसी Relationship को Identify करना होता है। किसी Database के विभिन्न Entities के बीच मुख्यतः तीन तरह की Relationship हो सकती हैं:
- One To One Relationship,
- One To Many Relationship व
- Many To Many Relationship
इससे पहले कि हम इन Relationships को समझें हमें एक बात ध्यान में रखनी होती है कि किसी Database में जितनी भी Relationships Stored होती हैं, वे सभी Relationships Entities के Instances के बीच होती हैं।
उदाहरण के लिए हमारे Music Store Example के आधार पर कोई Customer उन Items से Related होता है, जिनका उस Customer ने Order दिया है। यानी Customer Entity का हर Instance, Item Entity के Order किए गए Item Instance से Related होता है।
हम यहां जिस Relationship के बारे में चर्चा कर रहे हैं, वह Relationship पूरी तरह से किसी Database का Conceptual Representation है और इस Relationship को Data के Actual Physical Storage से कोई सम्बंध नहीं होता है।
जब हम Data Relationship को ER Diagram या IE Diagram द्वारा Document करते हैं, तब हम विभिन्न Entities के बीच की Relationship को Show करते हैं। इन Diagrams में हम उन Possible Relationships को Show करते हैं जो Database में Allowable होती हैं। हम जब तक किसी Relationship को Compulsory रूप से Specify नहीं करते हैं, तब तक ये जरूरी नहीं होता है कि Database से Related हर Entity आपसी Relationship में Involved हो।
उदाहरण के लिए Music Store Database किसी भी Customer की Information को Database में Store कर सकता है, भले ही उस Customer ने Music Store को किसी भी Item के लिए कोई भी Order ना दिया हो। यहां ये जरूरी नहीं है कि वही Customer Music Store Database में Store हो सकता है, जिसने कोई Music Store को किसी Title के लिए कोई Order दिया हो।
One To One Relationships
मानलो कि किसी छोटे से शहर में केवल एक ही Airport है और किसी Database में वह शहर व Airport दोनों ही एक Entity के रूप में Involved हैं। इस स्थिति में City व Airport दोनों ही उस Database में दो अलग Entities के Instance के रूप में Represent होंगे। अतः City व Airport के बीच One To One की Relationship को इस तरह से Express किया जा सकता है कि Airport केवल एक City में ही Situated है और उस City में केवल एक ही Airport है।
ये उदाहरण One To One Relationship का एक आदर्श उदाहरण है, क्योंकि इस Database में किसी भी समय एक City से केवल एक ही Airport Related होगा और उस एक Airport से केवल एक ही City Related होगी। हालांकि किसी शहर में एक से ज्यादा Airports हो सकते हैं, लेकिन हम यहां एक बहुत ही छोटे शहर के Airport Database को Manage कर रहे हैं और हम ये मान रहे हैं कि किसी भी छोटे शहर में एक से ज्यादा Airport नहीं हो सकते हैं।
यदि हमारे पास दो Entities A व B के दो Instances Ai व Bi हों, तो इन दोनों Entities के Instances के बीच One To One की Relationship केवल तभी सम्भव है, जब किसी भी समय Ai Entity B के Zero या One Instance से Related हो और Bi Entity A के Zero या One Instance से Related हो।
किसी भी Business Database Application में One To One की Relationship बहुत ही Rare Case में बनती है। उदाहरण के लिए मानलो कि हमारा Music Store एक नए Distributor से Dealing करना तय करता है। Music Store उस नए Distributor को केवल एक ही Special Title का Order देता है।
यदि हम उस नए Distributor को अपने Database में स्थान दें, तो हम देखते हैं कि उस नए Distributor Entity का Instance Music Store के Item Entity के केवल एक Instance से Related होता है। इसलिए यहां पर उस नए Distributor व Item के बीच One To One की Relationship बनती है।
यदि Music Store उस नए Distributor को कई और Titles के Order देता है, तो यहां ये नियम Violate हो जाता है कि वह नया Distributor Music Store के केवल एक ही Item से Related है। इस स्थिति में उस नए Distributor Entity के Instance व Item Entity के Instance के बीच One To One के स्थान पर One To Many की Relationship बन जाती है। क्योंकि अब वह नया Distributor Music Store के एक से ज्यादा Items के Titles से Related हो जाता है।
इसी तरह से यदि हम Music Store Database में Credit Card नाम का एक और Entity Create करते हैं, जिसमें उन Credit Cards के Data को Hold किया जाता है, जिनका प्रयोग वे Customer अपनी उधारी चुकाने के लिए करते हैं, जिनका कुछ पैसा Music Store में बकाया है। चूंकि हर Customer एक ही Credit Card से अपना पैसा चुकाता है, इसलिए यहां पर भी Customer Entity के Instance व Credit Card Entity के Instance के बीच One To One की Relationship Create होती है।
Credit Card Entity के लिए Credit Card का Number, Type व Expiration Date Attributes हो सकते हैं। यदि हम ये मान लें कि हर Customer के पास केवल एक ही Credit Card होता है, तो चूंकि Credit Card के किसी भी Attribute का मान Multi-Valued ना होने की वजह से हमें Credit Card को एक अलग Entity के रूप में Represent करने की जरूरत नहीं है। हम Credit Card के विभिन्न Attributes को Customer की Information के साथ Store कर सकते हैं।
हम जब भी कभी किसी Database के सन्दर्भ में One To One Relationship को Identify करते हैं, हमें ध्यान से ये देख लेना चाहिए, कि कहीं हम One To Many की Relationship को तो One To One की Relationship नहीं मान रहे हैं या कहीं एक ही Entity को तो दो Entity के रूप में Represent करने की कोशिश नहीं कर रहे हैं। (Different Types of Relationships in DBMS)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF