Explain Third Normal Form with Example. Yes, it’s explained with example.

Explain Third Normal Form with Example: किसी Relation को Third Normal Form के आधार पर इसलिए Normalize किया जाता है, ताकि पहले बताई गई Anomalies का समाधान हो सके। यदि हम Entities के आधार पर देखें, तो Items Relation में ItemDistributor दो Entities से Related Data Store हो रहे हैं। इसलिए फिछली Anomalies को हटाने के लिए हमें इस Relation को निम्नानुसार दो Individual Relations में Divide करना होगाः

Items  (ItemID, Distributor)
Distributors  (DistID, WareHousePhoneNo)

Third Normal Form का Theoretical Definition ये है कि कोई Relation तब Third Normal Form में होता है, जब उस Relation में कोई Transitive Dependencies नहीं होती हैं।

Original Relation में हमने जिस Functional Dependencies के बारे में जाना था, उसे ही Transitive Dependency कहते हैं।

एक Relation में Transit Dependency तब Exist होती है, जब हमारे सामने निम्नानुसार Functional Dependency होती हैः

A -> B and B -> C So Indirectly A -> C

यही Dependency Original Items Relation में है। Warehouse के Phone Number का Functionally Item Number पर Depend होने का Only कारण यही है कि Distributor Functionally Item Number पर Dependent है और Phone Number Functionally Distributor पर Dependent है। इसलिए वास्तविक Functional Dependency निम्नानुसार हैः

ItemID -> Distributor
Distributor -> WareHousePhoneNo

जबकि WareHousePhoneNo Indirectly ItemID पर Dependent है, जिसे हम Transitive Dependency कहते हैं। Transitive Dependency को यदि हम Mathematical Example के रूप में Represent करें, तो यदि A Directly बडा हो B से और B Directly बडा हो C से तो A Indirectly C से भी बडा होता है।

हमारे Original Items Relation में दो Determinants हैं और दोनों ही Determinants को उनके Relation का Primary Key होना चाहिए, क्योंकि हर Determinate हमेंशा अपने Relation का Primary Key ही होता है। हालांकि इस Relation में Second Determinate का एक Attribute के रूप में Exist होना ही Transitive Dependency का कारण नहीं है। बल्कि वास्तव में Transitive Dependency का मुख्‍य कारण ये है कि दूसरा Determinant Relation का Candidate Key नहीं है। इसे समझने के लिए निम्न Relation का उदाहरण देखते हैं:

Items (ItemID, UpcCode, Distributor, Price)

ItemID वह Number है, जिसे Music Store Organization अपने हर Item को Uniquely Identify करने के लिए Use करता है, जबकि UPC Code वह Industry-Wide Code है, जिसे हर Item को Uniquely Identify करने के लिए Use किया जाता है। अब इस Relation में Functional Dependencies निम्नानुसार हैं:

ItemID -> UpcCode, Distributor, Price
UpcCode -> ItemID, Distributor, Price

क्या इस Relation में अब Transitive Dependency है। नहीं, अब इन Relations में Transitive Dependencies नहीं हैं, क्योंकि Second Determinant एक Candidate Key है। क्योंकि “Music Store” UpcCode को भी उतनी ही आसानी से किसी Item को Uniquely Identify करने के लिए Use कर सकता है, जितनी आसानी से वह Primary Key को Use करता है। इस Relation में अब किसी प्रकार का कोई  InsertionDeletion या Modification Anomaly नहीं है और ये Relation अब केवल एक Item Entity को ही Describe कर रहा है।

Transitive Dependency किसी Relation में तब Exist होती है, जब कोई Determinant, जो कि Relation के लिए Primary Key नहीं होता है वह उस Relation का Candidate Key भी नहीं होता है।

उदाहरण के लिए हम जिस Items Table को उदाहरण के रूप में उपयोग में ले रहे हैं, उसमें Distributor एक Determinant है लेकिन वह Distributor उस Items Table के लिए Candidate Key नहीं है। क्योंकि एक Distributor से एक से ज्यादा Items Music Store में आ रहे हैं।

जब Second Normal Form के Relation में कोई Transitive Dependency होती है, तब हमें उस Relation को दो छोटे Relations में Divide कर लेना चाहिए और दोनों Relations में दोनों Determinants को Primary Key बना लेना चाहिए। जिस Attributes को Determinants द्वारा Determine किया जाता है, उन Non-Key Attributes को उनके Determinant के Relation में Specify कर देना चाहिए। इससे Transitive Dependency Remove हो जाती है और इससे Associated Anomalies भी Remove हो जाती हैं, साथ ही हमारा Relation Third Normal Form में आ जाता है। यदि किसी Second Normal Form के Relation में कोई Transitive Dependency ना हो, तो वह Relation Automatically Third Normal Form में आ जाता है। (Explain Third Normal Form with Example)

Oracle 8i/9i SQL/PLSQL in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF

BUY NOW GET DEMO REVIEWS