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

अखंडता बाधाओं के साथ 'सबसेट' संबंध लागू करने का सबसे अच्छा तरीका क्या है

SQL के साथ समस्याओं में से एक अखंडता बाधाओं, विशेष रूप से संदर्भात्मक बाधाओं के लिए इसका खराब स्तर का समर्थन है।

सभी व्यावहारिक उद्देश्यों के लिए आपकी समस्या को SQL बाधाओं का उपयोग करके हल नहीं किया जा सकता है जब तक कि आप किसी तालिका में एक पंक्ति सम्मिलित करने के लिए बाधाओं को अक्षम नहीं करते हैं। कारण यह है कि SQL को एक बार में एक टेबल को अपडेट करने की आवश्यकता होती है और इसलिए जब भी नई पंक्तियाँ डाली जाती हैं तो बाधा का उल्लंघन किया जाना चाहिए। यह SQL की मूलभूत सीमा है और सभी प्रमुख DBMS इससे पीड़ित हैं।

कुछ वर्कअराउंड हैं लेकिन उनमें से कोई भी सही नहीं है। यदि आपके DBMS में उन्हें (उदाहरण के लिए Oracle) है, तो आप DEFERRABLE बाधाओं का उपयोग कर सकते हैं। एक DEFERRABLE बाधा वास्तव में एक बाधा को अक्षम करने का एक आसान तरीका है। या आप ट्रिगर का उपयोग कर सकते हैं, जिसका अर्थ है कि नियम उचित डेटाबेस बाधा के बजाय प्रक्रियात्मक रूप से लागू किया गया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में LEAST () फ़ंक्शन

  2. Oracle में किसी तालिका को उपनाम देने के लिए 'as' कीवर्ड का उपयोग कैसे करें?

  3. स्पूल कमांड:फाइल करने के लिए SQL स्टेटमेंट आउटपुट न करें

  4. मैं ऑरैकल एसक्यूएल में 2 तिथियों के बीच रविवार की सभी तिथियां कैसे उत्पन्न करूं?

  5. Oracle की ALL_TAB_COLUMNS तालिका में BIN$... तालिकाएँ क्या हैं?