Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अद्यतन पर लिंक किए गए डेटा निकायों की सत्यनिष्ठा

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

यदि आप क्लाइंट जानकारी के ऐतिहासिक संस्करणों को सहेजना चाहते हैं, तो ऑडिट तालिका बनाना और ट्रिगर के माध्यम से इसे भरना सही प्रक्रिया है।

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

यदि आपके पास ऐसे क्लाइंट हैं जो बदलते हैं (अन्य कंपनियों द्वारा खरीदी गई कंपनियां), तो आप या तो सर्वर पर पुराने रिकॉर्ड की ग्राहक आईडी को अपडेट करने के लिए एक प्रक्रिया चला सकते हैं या एक टेबल संरचना बना सकते हैं जो दिखाती है कि कौन सी क्लाइंट आईडी वर्तमान पैरेंट आईडी से संबंधित है। यदि आप लाखों रिकॉर्ड बदलने की बात नहीं कर रहे हैं तो पहला करना आसान है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql क्वेरी - आउटपुट पर प्रारूप दिनांक?

  2. अज्ञात MySQL सर्वर होस्ट

  3. खोल में चर का उपयोग करके mysql_config_editor को पासवर्ड पास करें

  4. MySQL में ऑप्टिमाइज़ किए गए सेलेक्ट टेबल का अर्थ योजना की व्याख्या करें

  5. रूबी से एक MySQL संग्रहीत प्रक्रिया को कॉल करना संभव है?