मेरे पास एक टेबल डिज़ाइन परिदृश्य है और एक गैर-डीबीए प्रकार के रूप में, उन रायों को पसंद करेंगे जिन पर अधिक मापनीय है।
मान लीजिए कि आपको एक छोटे से पड़ोस (200 घर) से शुरू होकर मेट्रो क्षेत्र के लिए घरों की जानकारी रिकॉर्ड करने के लिए कहा गया है, लेकिन अंततः 5000000+ घरों तक बढ़ रहा है।
आपको आधार जानकारी संग्रहीत करने की आवश्यकता है: ID # (एक अद्वितीय # हम एक अद्वितीय सूचकांक के रूप में उपयोग कर सकते हैं), Addr, शहर, राज्य, ज़िप। ठीक है, सरल तालिका इसे संभाल लेगी।
लेकिन हर साल, आपको सभी घरों के बारे में अतिरिक्त जानकारी दर्ज करने के लिए कहा जाएगा - और प्रत्येक वर्ष WHAT जानकारी बदल जाएगी। इसलिए, उदाहरण के लिए, पहले साल, आपको मालिकों को अंतिम नाम और वर्ग फुटेज रिकॉर्ड करने के लिए कहा जाता है। दूसरे वर्ष, आपको अंतिम नाम रखने के लिए कहा जाता है, लेकिन वर्ग फुटेज को डंप करें और इसके बजाय मालिकों को पहले नाम एकत्र करना शुरू करें।
अंत में - प्रत्येक वर्ष अतिरिक्त कॉलम का # परिवर्तन होगा। 2 अतिरिक्त स्तंभों के साथ शुरू हो सकता है, फिर अगले वर्ष 6 पर जाएं, फिर 2 पर वापस जाएं।
इसलिए एक टेबल एप्रोच घर के टेबल में कस्टम जानकारी को कॉलम के रूप में जोड़ने का प्रयास करना है ताकि केवल एक टेबल हो।
लेकिन मेरे पास एक ऐसी स्थिति है जहां किसी ने इसके लिए तालिकाओं को रखा है:
"हाउस टेबल" कॉलम: आईडी, अतिरिक्त, शहर, राज्य, ज़िप - प्रति घर एक पंक्ति के साथ
ID Addr City State Zip
-------------------------------------------
1 10 Maple Street Boston MA 11203
2 144 South Street Chelmsford MA 11304
3 1 Main Avenue Lowell MA 11280
"कस्टम जानकारी तालिका" कॉलम: आईडी, नाम, मान - जैसे दिखने वाली तालिका:
ID Name Value
1 Last Name Smith
2 Last Name Harrison
3 Last Name Markey
1 Square Footage 1200
2 Square Footage 1930
3 Square Footage
इसलिए प्रत्येक व्यक्तिगत घर रिकॉर्ड के लिए कई पंक्तियाँ हैं। हर साल जब वैकल्पिक जानकारी में बदलाव की आवश्यकता होती है, तो इस तालिका का शाब्दिक रूप से पुनर्निर्माण किया जाता है, इसलिए अगले वर्ष ऐसा लग सकता है:
1 Last Name Smith
2 Last Name Harrison
3 Last Name Markey
1 First Name John
2 First Name Harry
3 First Name Jim
आखिरकार आप 100,000 घर पंक्तियों को एक कर देते हैं और एक वर्ष में जानकारी के 10 अतिरिक्त टुकड़े होते हैं; दूसरी तालिका अब जानकारी की 1,000,000 पंक्तियाँ हैं, जिनमें से कई में अनावश्यक (विवरण) जानकारी है। समग्र रूप से डेटाबेस की आवश्यकताएं हैं कि लोगों को प्रति दिन हजारों बार घर की जानकारी + संबंधित कस्टम फ़ील्ड मान प्राप्त करने की आवश्यकता होगी।
इसलिए मेरा प्रश्न: क्या इसके बजाय यह बुरा (या भयानक) अभ्यास होगा:
क) कस्टम कॉलम के अधिकतम # पर अनुमान के साथ घर की मेज बिछाएं ("10" के माध्यम से "शायद" 1 ") और उन कस्टम मानों को घर की पंक्तियों में डालें।
या
बी) घर की तालिका में कस्टम जानकारी संग्रहीत करें, लेकिन प्रत्येक वर्ष जब आवश्यकताएं बदलती हैं, तो कस्टम जानकारी के लिए आवश्यक कॉलम के केवल # कॉलम के साथ घर की मेज का पुनर्निर्माण करें, इस विचार के साथ कि आवश्यकताएं पागल हो सकती हैं और आपको कभी भी पता नहीं है कि कितने अधिकतम वैकल्पिक फ़ील्ड के लिए कहा जा सकता है?
धन्यवाद, आशा है कि यह समझ में आता है!