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

एक-से-निरंतर संबंध मॉडलिंग

ऐसा करना ताकि कई सत्र अपडेट होने पर भी यह ध्वनि और सही हो, आसान नहीं है। यदि आप इसे ट्रिगर के साथ आज़माते हैं, तो आप स्वयं को परेशानी में डाल देंगे, और Oracle की घोषणात्मक बाधाएँ इसे व्यक्त करने के लिए पर्याप्त शक्तिशाली नहीं हैं।

इसे निम्नानुसार किया जा सकता है:-

  1. पैरेंट और चाइल्ड टेबल दोनों पर एक भौतिक दृश्य लॉग बनाएं
  2. एक भौतिक रूप से जुड़ने वाला दृश्य बनाएं जो उन्हें एक साथ जोड़ता है और माता-पिता द्वारा समूहित बच्चों की संख्या की गणना करता है। यह कमिट पर तेजी से ताज़ा होना चाहिए
  3. भौतिक रूप से शामिल होने पर एक बाधा डालें कि चाइल्ड रिकॉर्ड की संख्या "n" (आपका डेटाबेस स्थिर) के बराबर होनी चाहिए

फिर आप कथनों को सम्मिलित/अद्यतन/हटाएं की एक श्रृंखला कर सकते हैं। जब आप प्रतिबद्ध होते हैं, तो भौतिक दृश्य ताज़ा हो जाएगा और यदि शर्त पूरी नहीं होती है तो आपको उस बिंदु पर एक बाधा उल्लंघन त्रुटि मिलेगी।

चालबाजी का एक बोनस बिट केवल उन पंक्तियों को शामिल करना है जो भौतिक दृश्य में बाधा को विफल करती हैं (हैविंग काउंट (चाइल्डआईड) <> 5) ताकि आप किसी भी भंडारण स्थान को बर्बाद न करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पता का उपयोग करके खोजने के लिए डेटाबेस क्वेरी

  2. Oracle में संयोजित तार उत्पन्न करने का तेज़ तरीका

  3. Oracle REGEXP_SUBSTR से SUBSTR + INSTR

  4. ओरेकल विशिष्ट अनुक्रम क्यों लौटाता है यदि 'ऑर्डरबी' मान समान हैं?

  5. JSON_TABLE () Oracle में फ़ंक्शन