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