डेवलपर को बताएं कि उन अपडेट को रोकने के लिए ऐप लॉजिक में इस तरह के तर्क जोड़ने के लिए उनका स्वागत है। लेकिन, यह भी कि आप इसे हटाने नहीं जा रहे हैं DENY
। यदि / जब दिन कभी आता है (और यह)शायद नहींशायद ऐसा नहीं होगा कि किसी को इन स्तंभों में से एक को अपडेट करने की कोशिश में कोई त्रुटि मिलती है, तो आप इस बारे में चर्चा कर सकते हैं कि आप इसे हटाएंगे या नहीं DENY
, जिसके लिए वास्तविक, ठोस औचित्य की आवश्यकता होगी कि कोई व्यक्ति उस मूल्य को अपडेट क्यों कर रहा है। पहले स्थान पर।
बिंदु जा रहा है: एक वास्तविक व्यवसाय मामला होना चाहिए जिसमें लोग अपना समय व्यतीत करें। समय की मांग बहुत अधिक है, इसलिए आपको (और हर किसी को) किसी की राय के आधार पर सिस्टम को बदलने की तुलना में अधिक महत्वपूर्ण चीजें हैं। हमेशा विभिन्न प्रकार की राय (रिक्त स्थान बनाम टैब, किसी को भी?) होगी और आप वर्षों तक इसे आगे और पीछे खर्च कर सकते हैं यदि उस डेवलपर को छोड़ दिया जाए और उसे बदल दिया जाए, जो उन क्षेत्रों में जोरदार वस्तुओं की आपूर्ति करता है। यदि कोई ग्राहक इसके लिए (या ऐसी कोई चीज़ जिसकी आवश्यकता है) नहीं पूछ रहा है, और कोई ठोस लाभ नहीं है (तकनीकी ऋण की सफाई जैसे विलंबित लाभ, जो कि आरओआई को दिखाना मुश्किल है, लेकिन बहुत ही योग्य है, जबकि यह दिया गया है कि लंबे समय में वास्तविक लागत बचत में जिसके परिणामस्वरूप खर्च नहीं किए गए उस समय के अवसरों में कोई भी पतला नहीं है), तब या तो अनुरोध को बंद करें या इसे कम प्राथमिकता पर बैकलॉग पर रखें, यहां तक कि उन मामलों में भी जब आदर्शवाद कहता है कि इसे बदला जाना चाहिए (यह उन मामलों में से एक नहीं है, लेकिन उन लोगों के लिए उल्लेख किया गया है जो सोचते हैं कि यह है)। आदर्शवाद बातचीत के लिए बहुत अच्छा है, लेकिन कंपनियां आदर्शों के साथ किराया, उपयोगिताओं, कर्मचारियों, करों आदि का भुगतान नहीं कर सकती हैं।
@ jpmc26 संचार की आवश्यकता के बारे में सही है, लेकिन इसके बारे में बिल्कुल सही नहीं है कि संचार की आवश्यकता क्या है। हां, आपको यह सुनना चाहिए कि दूसरे क्या अनुरोध कर रहे हैं और उनके तर्क को समझना चाहते हैं, जिसमें कुछ भी नहीं होने पर सवाल पूछना शामिल है।
फिर भी, डेटाबेस अनुप्रयोग के अधीन नहीं है, और डेटाबेस पेशेवर (व्यवस्थापक, इंजीनियर, जो भी नाम आपकी कंपनी का उपयोग करता है) डेवलपर्स के अधीन नहीं हैं (जैसा कि उस उत्तर में निहित है)। आप डेवलपर्स के लिए काम नहीं करते हैं, आप कंपनी के लिए काम करते हैं, जैसे वे करते हैं। यह एक टीम प्रयास है और आपको अपना काम करने के लिए माफी नहीं मांगनी चाहिए। उस व्यक्ति ने कहा, हमारे इंटर-ह्यूमन कम्युनिकेशन स्किल्स के लिए, हम आमतौर पर कॉम्प्यूटरी टाइप नहीं जानते हैं, इसलिए, आपको वास्तव में यह सुनिश्चित करने की ज़रूरत है कि दूसरे आपको समझें , आपकी तर्कशक्ति क्या है, आपकी ज़िम्मेदारियाँ क्या हैं और यह सामान वास्तव में कैसे काम करता है ।
मैंने उस अंतिम भाग में डाला क्योंकि गलतफहमी, गलत सूचना और ज्ञान की कमी का एक उच्च स्तर है (यहां तक कि इस पृष्ठ पर भी कुछ सही है)। उदाहरण के लिए, यह धारणा है कि सभी नियम व्यावसायिक नियम हैं। हमें यह समझाने की ज़रूरत है कि डेटा नियमों और व्यावसायिक नियमों के बीच एक अंतर है (@Aaron ने इसे "वर्कफ़्लो बाधा के रूप में संदर्भित किया जाता है" प्रश्न पर एक टिप्पणी में डेटा बाधा) ", और यह कि जबकि अधिकांश डेटा स्वाभाविक रूप से अनुप्रयोग के हैं, कुछ डेटा वास्तव में डेटा मॉडल के अंतर्गत आता है। क्या डीबीए को डेवलपर्स को निर्देशित करना चाहिए कि एप्लिकेशन डेटा कैसे बाधित होगा ? बिलकूल नही। यह कैसे आवेदन डेटा तक की पेशकश करने के लिए हमारा काम है कर सकते हैंविवश होना। यदि एप्लिकेशन डेटा से संबंधित व्यावसायिक नियम का उल्लंघन नुकसान पहुंचा सकता है, और ऐप 100% केवल डेटा में हेरफेर करने का तरीका नहीं है, तो शायद एक चेक बाधा वास्तव में मदद कर सकती है (और वे बदलने या हटाने के लिए मुश्किल नहीं हैं )।
लेकिन, दूसरी दिशा से आने वाले, डेवलपर्स को यह निर्धारित नहीं करना चाहिए कि डेटा मॉडल डेटा (यानी मेटा-डेटा) कैसे संभाला जाता है। इसमें ऑडिट फ़ील्ड (जैसे created_on
/ created_by
कॉलम) और PK / FK कॉलम शामिल हैं (इन मानों को केवल आंतरिक रूप से जाना जाता है और ग्राहकों को नहीं दिया जाता है)। यह डेटा वह नहीं है जो ऐप ग्राहकों के बारे में संग्रहीत करता है (भले ही ऐप मूल्यों को देख सकता है और यहां तक कि उनका उपयोग भी कर सकता है, जैसे कि आईडी के साथ), यह वही है जो डेटा मॉडल ऐप के डेटा के बारे में संग्रहीत करता है।
इसलिए डेटा मॉडल डेटा की सुरक्षा के लिए डेटा नियमों का उपयोग करना समझ में आता है। और ऐसा करने का मतलब यह नहीं है कि आप एप्लिकेशन डेटा पर बाधाओं या प्रतिबंधों को जोड़ना शुरू कर रहे हैं। लेकिन, अगर इस अंतर को नहीं समझा गया तो बातचीत को वास्तव में उत्पादक तरीके से आगे बढ़ाना मुश्किल होगा।