100% ANSI SQL के अनुरूप होने के नाते पूरा करने के लिए एक मुश्किल लक्ष्य है, और अभी तक यह वैसे भी पोर्टेबिलिटी गारंटी नहीं है। तो यह एक कृत्रिम लक्ष्य है।
संभवतः आपका मालिक भविष्य में कुछ अनुमानित उद्देश्य (जो वास्तव में कभी नहीं आ सकता है) के लिए डेटाबेस ब्रांडों को स्विच करना आसान और त्वरित बनाने के लिए इसके लिए पूछ रहा है। लेकिन वह अब भविष्य में अधिकतर काम के लिए भविष्य की दक्षता का व्यापार कर रहा है, क्योंकि कोड डेटाबेस-तटस्थ बनाना मुश्किल है। *
तो अगर आप वाक्यांश लक्ष्यों अपने प्रबंधक पर ध्यान केंद्रित किया जाना चाहिए, समय पर और बजट पर वर्तमान परियोजना के चरण परिष्करण तरह के मामले में समस्या कर सकते हैं, इसे और अधिक प्रभावी यह है बस उसे कह रहा से हो सकता है कोड डेटाबेस-तटस्थ बनाना बहुत मुश्किल है।
एक परिदृश्य है जब आपको वास्तव में डेटाबेस-तटस्थ कोड बनाने की आवश्यकता होती है, यह तब होता है जब आप कई ब्रांडों के डेटाबेस का समर्थन करने के लिए आवश्यक एक सिकुंक-रैप एप्लिकेशन विकसित कर रहे होते हैं।
वैसे भी, यदि आप वर्तमान में केवल एक ब्रांड का समर्थन करते हैं, तो निश्चित रूप से ऐसे मामले हैं जहां आपके पास स्वामित्व सुविधाओं का उपयोग करके कुछ एसक्यूएल कोड करने का विकल्प होता है, लेकिन एक ही परिणाम प्राप्त करने के लिए एक और पोर्टेबल तरीका भी मौजूद है। आप इन्हें "कम लटकते फल" मामलों के रूप में देख सकते हैं, और यदि आवश्यकता उत्पन्न होती है तो आप भविष्य में कोड को पोर्ट करना आसान बना सकते हैं। लेकिन अगर आप अच्छे मूल्य देते हैं तो स्वामित्व समाधान का उपयोग करें, स्वयं को सीमित न करें। शायद टिप्पणियों में एक नोट जोड़ें कि यदि आपको बंदरगाह बनाने की आवश्यकता है तो यह समीक्षा के योग्य है।
* मैं जब मंच आजादी के बारे में बात कर शब्द "तटस्थ" के बदले "नास्तिक" पसंद करते हैं। यह धार्मिक ओवरटोन से बचाता है। :-)
स्रोत
2008-12-21 22:13:57
[डेटाबेस-अज्ञेय अनुप्रयोगों के लिए डेटाबेस डिज़ाइन] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/204025/database-design-for-डेटा-agnostic- अनुप्रयोग) – user