अक्सर, जब मुझे व्यवस्थापक गुणों, संस्करणों आदि जैसे सिस्टम गुणों को संग्रहीत करने की आवश्यकता होती है, तो मैं एक फ्लैट फ़ाइल (डेटाबेस.प्रोपर्टीज, init.properties, आदि) का उपयोग करता हूं। यह उन अन्य कार्यक्रमों में आम लगता है जो मैं दैनिक आधार पर देखता हूं और उपयोग करता हूं।क्या डेटाबेस में प्रॉपर्टी टेबल रखना बुरा विचार है?
कभी कभी एक फ्लैट फ़ाइल के कारणों की एक संख्या के लिए आदर्श नहीं है। कई ग्राहकों को एक वेब ऐप तैनात करना अक्सर सीमाओं के साथ आता है। इन मामलों में, मैं जानकारी रखने के लिए डेटाबेस तालिका का उपयोग करता हूं। उदाहरण के लिए, मान लें कि मेरे पास कुछ व्यवस्थापक डेटा है जिसे मैं सहेजना चाहता हूं, और शायद मेरे पर्यावरण के बारे में कुछ विशिष्टताएं। मैं कुछ इस तरह कर सकते हैं:
property_entry_table
[id, scope, refId, propertyName, propertyValue, propertyType]
1, 0, 1, "DB_VER", "2.3.0", "FLOAT"
2, 0, 1, "LICENCE", "88475", "INT"
3, 0, 1, "TOP_PROJECT", "1", "INT"
4, 0, 1, "SHOW_WELCOME", "F", "BOOL"
5, 0, 1, "SMTP_AUTH", "SSH", "STRING"
6, 1, 1, "ADMIN_ALERTS", "T", "BOOL"
मैं इस एसक्यूएल टाइपिंग टूट जाता है और मुझे तारों के रूप में प्रकार के सभी प्रकार के स्टोर करने के लिए अनुमति देता है एहसास। क्या यह अच्छा अभ्यास है या क्या मैं इस बारे में गलत तरीके से जा रहा हूं?
यदि नहीं, तो किस तरह से मैं जानकारी के इस प्रकार के भंडारण किया जाना चाहिए?
जब तक कि यह कुछ सिस्टम गुणों के लिए भंडारण आदि हो, यह ठीक है। ** ** ** ** इस तरह के डेटा को स्टोर करने का विचार न लें! चर्चा के लिए यहां देखें, क्यों: http://www.simple-talk.com/sql/database-administration/five-simple--database-design-errors-you-should-avoid/ –
भी, शायद इसके लिए प्रोत्साहन यह सवाल, मैं यहां क्यों नीचे मतदान कर रहा था: http://stackoverflow.com/questions/2300356/using-a-single-row-configuration-table-in-sql-server-database-bad-idea/2300450#2300450 – Stephano