हमारी कंपनी की कई अलग-अलग संस्थाएं हैं, लेकिन उन डेटाबेस इकाइयों का एक अच्छा हिस्सा लोग हैं। इसलिए हमारे पास ग्राहक, और कर्मचारी, और संभावित ग्राहक, और ठेकेदार, और प्रदाता हैं और उनमें से सभी में सामान्य गुण हैं, अर्थात् नाम और संपर्क फ़ोन नंबर।MySQL (या किसी भी डीबी) में लोगों को संग्रहीत करने के लिए - एकाधिक टेबल या सिर्फ एक?
मैं ऑब्जेक्ट उन्मुख सोच के साथ ओवरबोर्ड चला गया हो सकता है लेकिन अब मैं एक "व्यक्ति" तालिका बनाने में देख रहा हूं जिसमें सभी लोग शामिल हैं, झंडे/उप-समूह "मॉडल" को विस्तारित करते हैं और जंक्शन पर भूमिका-आधारित विशेषताओं को जोड़ते हैं आवश्यकतानुसार टेबल। अगर हम 250,000 लोगों (MySQL और ISAM पर) कहने के लिए बढ़ते हैं तो यह इतना प्रभावशाली प्रदर्शन करेगा कि भविष्य में डीबीए हमेशा मुझे शाप देंगे? हमारी एकल सबसे आम खोज नाम/उपनाम संयोजन पर है।
उदाहरण के लिए, उदा। सेल्सफोर्स की तरह एक कंपनी, ग्राहक/लीड्स/कर्मचारी सभी केंद्रीय दृश्य तालिका में उप-विचार (बेहतर अवधि की इच्छा के लिए) हैं या वे अलग-अलग तालिकाओं में विभाजित हैं?
चेतावनी: यह प्रश्न के साथ करना है "सैद्धांतिक डिजाइन के विपरीत" हमें वास्तविक दुनिया में ऐसा करना बेहतर लगता है "। मुझे उपरोक्त समाधान पसंद है, और मुझे विश्वास है कि विचारों, उचित आकार और सटीक अनुक्रमण के साथ, वह प्रदर्शन भुगतना नहीं होगा। मुझे यह भी लगता है कि उपरोक्त एक मक्का के रूप में नहीं गिना जाता है, बस एक बहुत बड़ी मेज है।
सभी उत्तरों ठीक वही थे जो मैं खोज रहा था, लेकिन आपने एक ऐसी चीज़ को खींचा जिसे मैंने नहीं सोचा था - अगर मुझे नहीं पता कि वह व्यक्ति कहां है। एक मुख्य तालिका का कारण ठीक है क्योंकि हमारे पास कई भूमिकाएं हैं, पुराने ग्राहक जो हमारे लिए और विभिन्न भूमिकाओं में काम करते हैं। क्या सामान्य है केंद्रीकृत करने के लिए समझ में आता है। धन्यवाद! –