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

क्या मुझे रिलेशनल डेटाबेस में एक पंक्ति को हटाना या अक्षम करना चाहिए?

डिलीट नहीं करने से भविष्य के सभी प्रश्नों के लिए बग्स का एक नया वर्ग तैयार हो जाएगा। यह न भूलें कि क्वेरी लेखन अक्सर बिजली उपयोगकर्ताओं (यानी गैर-आईटी पेशेवरों), और जूनियर डेवलपर्स द्वारा किया जाता है। तो अब प्रत्येक तालिका जिसमें अमान्य डेटा केवल एक बीआईटी सक्रिय ध्वज द्वारा चिह्नित किया गया है, को अब से हमेशा के लिए प्रत्येक क्वेरी के लिए अतिरिक्त और WHERE क्लॉज की आवश्यकता होगी। यह उपयोगकर्ताओं को सफलता के गड्ढे के बजाय विफलता के गड्ढे में गिरने में मदद करेगा। हालांकि, मैं आपको किसी भी तरह से इन फ्लैग सिस्टम को लागू करने के लिए दृढ़ता से प्रोत्साहित करता हूं क्योंकि खराब डिजाइन के बिना, रखरखाव डेवलपर्स को कई बगों को ठीक करने की आवश्यकता नहीं है जो इससे पैदा होंगे।

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

क्या इसे इसलिए हटाया जा रहा है क्योंकि यह एक गलती थी? यदि पंक्ति वास्तविक जीवन में किसी इकाई से मेल खाती है, तो शायद "वाष्पीकृत", "मृत", "इमारत छोड़ दिया" ध्वज रखना और सेट करना दिलचस्प है। यदि आपने गलती से ऐसी पंक्ति डाल दी है जो वास्तविक जीवन में किसी भी इकाई से मेल नहीं खाती है, तो DELETE कोई बुरी बात नहीं है। क्या काल्पनिक ग्राहक जो कभी अस्तित्व में ही नहीं थे, उन्हें ग्राहक तालिका में रखना महत्वपूर्ण है?

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



  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. ORA-00903:तैयार विवरण पर अमान्य तालिका का नाम

  3. Oracle में आशावादी लॉकिंग लागू करना

  4. क्या DETERMINISTIC के समान कोई PL/SQL प्रगति है, लेकिन एक एकल SQL चयन के दायरे के लिए?

  5. Oracle:'=कोई ()' बनाम 'IN ()'