Data Consistency in Databases: What is this?

Data Consistency in Databases: Music Store Database में बहुत सारा Data बार-बार अनावश्‍यक रूप से Duplicated Form में Input करना पडता है और एक ही प्रकार के Data को बार-बार किसी Database में Store करने से विभिन्न प्रकार की समस्याएं पैदा होती हैं, जिससे Database को Manage करना कठिन हो जाता है। किसी Database में एक ही प्रकार के Data को बार-बार Store करने की प्रक्रिया को Data Redundancy कहा जाता है।

जब भी कोई Customer Music Store पर कोई Title Order करता है, उपरोक्त Form में उस Customer के Order को Record कर लिया जाता है। किस Customer ने कौनसा Order Place किया है, इस बात की जानकारी रखने के लिए Order देने वाले Customer का नाम, Address व Phone Number भी Order की Information के साथ ही Database में Store कर लिया जाता है।

अब चूंकि एक ही Customer एक से ज्यादा बार Order कर सकता है, इसलिए कोई एक ही Customer जितनी बार भी किसी Title के लिए Music Store पर Order देता है, हर बार उस Customer के नाम, Address व Phone Number को Form पर Fill करके Order की Information के साथ Database में Store कर लिया जाता है। जिससे उस Customer की Information का बार-बार Duplication होता है।

जब हमारे Database में इस तरह से Duplicated Form में Data Store हो रहे होते हैं, तब हमें इस बात का ध्यान रखना जरूरी हो जाता है कि Duplication Form में Store होने वाले सभी Data हर बार समान रूप में ही Database में Store हों। दूसरे शब्दों में कहें, तो किसी Customer द्वारा दिए जाने वाले हर Order को Music Store Application में Store करते समय हमें इस बात का ध्यान रखना जरूरी होता है कि उस Customer के हर Order में उसका नाम, Address व Phone Number एक जैसे ही Store किए जाएं।

इसी तरह से एक Single Title के लिए जितने भी Order Place किए जाते हैं, उन सभी Orders में Title को एक भी Character के हेर-फेर के बिना एक जैसा Type करना जरूरी होता है। इसी पूरी प्रक्रिया के कारण Input किया जाने वाला Duplicated Data Consistent (विश्‍वसनीय) हो पाता है।

जैसे-जैसे Database का Data बढता जाता है, इस प्रकार की Constancy को Maintain करना काफी मुश्किल हो जाता है। क्‍योंकि ज्यादातर Business Oriented Database Software, Case Sensitive होते हैं, जिनमें Uppercase Letters व Lowercase Letters अलग-अलग Behave करते हैं।

हम ये मान सकते हैं कि Music Store Form में Order की Entry करने वाला कोई भी Operator इतना Perfect Typist नहीं हो सकता, जो हमेंशा इस बात को ध्यान रख सके कि उसने किस Customer के नाम व पते में कौनसा Character Capital Letter में लिखा था और कौनसा Character Small Letters में।

इस स्थिति में किसी एक ही Customer के Orders की Entry करते समय यदि एक भी Character के Typing का Difference हो गया, तो Database Software एक ही Customer के दो अलग Unique Record Create कर सकता है।

उदाहरण के लिए मानलो कि “Rahul” व “Rohit” नाम के दो Customers “UMI 10” नाम के Title की DVD का Order Music Store पर Place करते हैं। Typist जब इन दोनों Orders को Music Store Application के Form द्वारा Database में Store करता है, तब वह “Rahul” का Order Specify करते समय Title के स्थान पर “UMI 10” Character Combination का प्रयोग करता है, जबकि “Rohit” का Order Specify करते समय Title के स्थान पर “UMI10” Character Combination का प्रयोग करता है।

अब मानलो कि Music Store को उन Customers की जानकारी प्राप्त करने की जरूरत पडती है, जिन्होंने “UMI 10” नाम के Album का Order दिया है। Music Store Software से इस बात की जानकारी प्राप्त करने के लिए यदि Typist “UMI10” Character Combination का प्रयोग करता है, तो Application द्वारा Generate होने वाली Pending Orders की List में “Rahul” का Order Display नहीं होगा और यदि Typist “UMI 10” Character Combination का प्रयोग करता है, तो “Rohit” का Order Display नहीं होगा।

इस स्थिति में हम समझ सकते हैं कि “Rahul” व “Rohit” दोनों में से किसी एक के Pending Order की ही जानकारी ये Music Store Application दे सकता है। जिससे किसी ना किसी Customer के Order की Request तो अधूरी ही रहेगी।

हमारे Current “Music Store” Application में इस बात को Ensure करने की कोई व्यवस्था नहीं है कि Database में Data भले ही Duplicated Form में Store हों, लेकिन Duplicated Data भी Consisted Form यानी विश्‍वसनीय रूप से Database में Enter होंगे और उपरोक्त प्रकार की समस्याएं Generate नहीं होंगी। इस प्रकार की समस्याओं को Solve करने के लिए दो तरीके उपयोग में लिए जा सकते हैं:

पहला तरीका ये है कि Data Duplication को जितना हो सके उतना रोका जाए। इस Solution के बारे में हम आगे और अच्छी तरह से समझेंगे। लेकिन यहां ये जान लेना जरूरी होगा कि किसी भी Database Application में Data की Redundancy यानी Duplication को पूरी तरह से Eliminate करना ना तो सम्भव है और ना ही इसकी जरूरत होती है। यानी हर Database में थोडा बहुत Data Duplication तो होता ही है, जो कि किसी भी Database को ठीक से Manage करने के लिए जरूरी भी होता है।

दूसरा तरीका ये है कि जब भी किसी Order की Entry Database में हो, तो कोई एसा तरीका होना चाहिए, जो ये Verify कर सके कि जब Data Duplicate Form में Enter हो, तब Data हमेंशा एक ही प्रकार से Database में Store हो।

एक Well Design Database में इन दोनों Solutions को Use किया जाता है। Duplication से पैदा होने वाली दूसरी समस्या ये है कि एक ही Information को बार-बार Store करने से Database की Size बढ जाती है, क्योंकि एक ही प्रकार के Data, Store होने के लिए Memory में बार-बार Storage Space लेते हैं।

लेकिन चूंकि आज Disk Space उतनी महंगी नहीं है, जितनी पहले हुआ करती थी, इसलिए आज Storage Space की बचत के लिए Redundant Data को Eliminate करना उतना बडा कारण नहीं है, जितना Database को सरलता से Maintain करना। (Data Consistency in Databases)

Effects Poor Database Design Problems?
What is Data Insertion Anomaly and why we should care for it?

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