निजी तौर पर मैं हमेशा इस बात के लिए मानक पूर्णांक स्तंभ को प्राथमिकता दी गया है द्वारा समर्थित है, एक विवरण तालिका के लिए एक विदेशी कुंजी को जोड़ने के साथ। यह आपको प्रकार आईडी कॉलम के मानों को सीमित करने में सक्षम बनाता है।
बेशक यह टेबल ब्लोट का कारण बन सकता है, लेकिन यह आपको विवरण तालिका के साथ जाने के लिए "स्थानीयकृत" तालिका रखने की अनुमति देता है, ताकि आपके एप्लिकेशन स्थानीयकरण सामग्री को ड्रॉपडाउन/रिपोर्ट आदि में आवश्यक हो सकें।
User.UserTypeID -> UserType.UserTypeID -> UserTypeLocalised.UserTypeID where locality = ??
यह भी अधिक डेटाबेस-अज्ञेयवादी है और इसलिए विभिन्न प्लेटफ़ॉर्म पर अधिक आसानी से पोर्ट किया गया है।
इसके अतिरिक्त, उपयोगकर्ता के लिए या तो व्यक्ति या संगठन होने के लिए यह सही नहीं लगता है। मैं उम्मीद करता हूं कि उपयोगकर्ता किसी संगठन का हिस्सा बन जाएगा, जिसके लिए संगठन तालिका और उपयोगकर्ता को ऑर्गनाइज़ेशन आईडी कॉलम की आवश्यकता होगी। उपयोगकर्ता प्रकार आमतौर पर "मानव/प्रणाली" भेदभाव की संभावना अधिक होगी (मानते हैं कि आपके सिस्टम परिचालन करने के लिए परिवेश लॉगऑन का उपयोग करते हैं और आप ऑडिटिंग करना चाहते हैं)।
स्रोत
2008-12-03 11:33:45
MySQL के अलावा आरडीबीएमएस क्या ईएनटी डेटाटाइप का समर्थन करता है? (यह एक उदारवादी quesion नहीं है।) – Tomalak
@Tomalak: मुझे postgresql पता है। –
उत्कृष्ट सवाल, मैं दूसरों को भाग लेना चाहता हूं और इसका उत्तर लेना चाहता हूं। तोमालाक, शायद आपको वास्तव में अपने प्रश्न को एक संक्षिप्त उत्तर के रूप में पोस्ट करना चाहिए यदि आप कुछ लोकप्रिय आरडीबीएमएस जानते हैं जो वास्तव में enum का समर्थन नहीं करते हैं और उन्हें सूचीबद्ध करते हैं। – Tom