आपके प्रश्न का उत्तर देने के लिए, नहीं, यह एक चुस्त प्रक्रिया में सामान्य नहीं है।
फुर्तीले रवैये से यह प्रतीत हो सकता है कि एजाइल के लघु-पुनरावृत्ति डिजाइन / विकास / परीक्षण चक्र से है, और हल्के समाधानों पर एजाइल का जोर है जो ज्ञात आवश्यकताओं को पूरा करते हैं, लेकिन नई आवश्यकताओं को पूरा करने में सक्षम होने के लिए अच्छी तरह से संरचित हैं। न्यूनतम परिवर्तन। इन दोनों बातों को देखते हुए, आप कह सकते हैं कि एक डेवलपर, न जाने क्या-क्या नीचे आ सकता है, लेकिन उसके बदलाव को जानने से डीबी पर कोई प्रभाव नहीं पड़ता है, जिसे पूर्ववत नहीं किया जा सकता है, बस स्कीमा में आवश्यक परिवर्तन करता है "सबसे हल्का" संभव है, और फिर अंतराल पर "प्रकाश" परिवर्तनों के कई सेटों को और अधिक स्थायी और स्थिर चीज़ में बदल दिया जाएगा।
यह कहने के बाद कि, मैंने अभी तक एक ऐसे डेवलपर के साथ काम नहीं किया है, जिसने एजाइल सिद्धांत और कार्यप्रणाली की सदस्यता ली हो, और यह भी सोचा कि स्कीमा में नियमित रूप से टेबल बनाना और हटाना किसी भी कारण से आवश्यक था। चंचल का मतलब थप्पड़-डैश या बोल्ट-ऑन नहीं है। यदि आपको एक ऐसी कहानी दी जाती है जिसमें किसी विशेष रिकॉर्ड से संबंधित डेटा के नए क्षेत्र को जोड़ने की आवश्यकता होती है, तो आप फ़ील्ड को तालिका में जोड़ते हैं। यदि वह परिवर्तन कुछ तोड़ता है, तो आप यह पता लगाते हैं कि क्यों, और अन्य परिवर्तन आवश्यक हो सकते हैं (मैं बहुत कम चीजों के बारे में सोच सकता हूं जो एक डीबी के लिए एक कॉलम जोड़कर टूट जाएगा; यदि यह इस तरह के परिवर्तन से टूटता है; बड़ी समस्याएं हैं)। रीफैक्टरिंग आम तौर पर कोड तक सीमित है; स्कीमा को बदलना आमतौर पर कोड बदलने की तुलना में एक अधिक शामिल प्रक्रिया है, और इसलिए जब स्कीमा में परिवर्तन होना चाहिए, तो वे आमतौर पर अधिक देखभाल के साथ किए जाते हैं, और कम से कम कुछ ध्यान परियोजना की भविष्य की दिशा के ज्ञान पर दिया। डेटाबेस के कुछ या सभी को फिर से संरचना करने से डिजाइन की मूलभूत विफलता का संकेत मिलता है; फुर्तीली होने का मतलब यह नहीं है कि कार्यक्रम और डेटा संरचना के निर्माण के दौरान बुनियादी वास्तुकला और डिजाइन नियमों का "मास्टर प्लान" नहीं है।
अब, फुर्तीले में ऐसे मामले हैं जहां आपको "पता" है कि अब आप बाद में क्या सीखेंगे, इसका खंडन किया जाएगा। कहें कि आपके पास एक आवश्यकता है कि आपके सिस्टम में प्रत्येक व्यक्ति के लिए एक पता होना चाहिए। चूंकि यह एक 1: 1 संबंध है और अधिकांश मामलों में डेटा की आवश्यकता होगी, आप बस व्यक्ति फ़ील्ड में पता फ़ील्ड जोड़ते हैं। एक हफ्ते बाद, आपको एक आवश्यकता मिलती है कि एक व्यक्ति के पास एक से अधिक पते हो सकते हैं। अब यह 1: N संबंध है, और इसे ठीक से मॉडल करने के लिए आपको अपने पिछले परिवर्तनों को पूर्ववत करना होगा, फ़ील्ड्स को एक नई पता तालिका में विभाजित करना होगा। यह नियमित नहीं है, खासकर वरिष्ठ डेवलपर्स के बीच। एक अनुभवी डेवलपर यह देखेगा कि एक व्यक्ति का एक पता है, इनको वैचारिक रूप से अलग मानें, और एक व्यक्ति तालिका और एक पता तालिका बनाएं, जिसमें व्यक्ति को एक पते पर एफके संदर्भ के साथ संबोधित किया जाए। एक स्कीमा जैसे कि यह बदलना आसान है रिश्ते की प्रकृति बदलनी चाहिए; संपूर्ण "वाइड" डेटा टेबल बनाए या डिलीट किए बिना, पर्सन और एड्रेस के बीच का संबंध 1: 1 से 1: N से N: N से बहुत आसानी से संशोधित किया जा सकता है।