हमारे आवेदन में अन्य सुविधाओं के बीच एक ऑनलाइन दुकान है, और उपयोगकर्ताओं को सामान्य रूप से बिक्री पूरी करने से पहले पंजीकरण करने का अनुरोध किया जाता है, प्रक्रिया में एक अद्वितीय customer_ID
बनाते हैं। जब वे वापस आते हैं, तो वे लॉग इन कर सकते हैं और उनके संपर्क विवरण और लेन-देन इतिहास डेटाबेस से पुनर्प्राप्त किए जाते हैं।किसी डेटाबेस में अज्ञात/अतिथि उपयोगकर्ता के बारे में जानकारी संग्रहीत करने के तरीके क्या हैं?
अब हम खोज रहे हैं कि 'अज्ञात' या 'अतिथि' ग्राहक के मामले में क्या करना है, उन ग्राहकों को ऑनलाइन दुकान खोलना जो पंजीकरण नहीं करना चाहते हैं, और बैकएंड एप्लिकेशन में बिक्री के लिए भी, जहां ग्राहक का ईमेल, डाक पता आदि लेना बहुत समय लगता है। समाधान में ऑनलाइन दुकान के बाहर भी एप्लिकेशन हैं।
एकाधिक कंपनियों में एक ही डेटाबेस का उपयोग, और डेटाबेस एक party model संरचना पर बनाया गया है, तो हमारे पास कुछ विकल्प का पता लगाया है: के तहत
- स्टोर सभी अनाम ग्राहकों से एक पूर्व निर्धारित
transaction
तालिका मेंcustomer_ID
:- हर अनाम उपयोगकर्ता के लिए
customer_ID = 0
, और- हर वास्तविक उपयोगकर्ता यह मैं के लिए
customer_ID > 0
आवेदन - लेकिन अधिक निर्धारित करने के लिए जो ग्राहकों जो कंपनी
- चाहिए
customer_ID = 0
के लिए विवरण डेटाबेस में या आवेदन में एक वस्तु के रूपcustomer
तालिका में मौजूद के हैं शामिल में हार्ड-कोड के लिए सीधी-सपाट रहा है?- यदि डेटाबेस में, डेटाबेस-स्तर की बाधाओं को सुनिश्चित किया जा सकता है कि यह हमेशा मौजूद है?
- तो डेटाबेस में नहीं,
transaction.customer_ID
सेcustomer.customer_ID
को तो विदेशी कुंजी की कमी अब काम
- हर वास्तविक उपयोगकर्ता यह मैं के लिए
customer_ID
प्रत्येक कंपनी के लिए कुल बिक्री निर्धारित करने के लिए कंपनीparty_ID
- आसान रूप में ही है , आदि
- इससे मामलों को भ्रमित कर दिया जाएगा क्योंकि ऐसा लगता है कि कंपनी अन्य अद्वितीय ग्राहकों की तुलना में अपना ग्राहक है
- हर अनाम उपयोगकर्ता के लिए
- हर नई अज्ञात ग्राहक (प्रति सत्र)
- क्या होगा यदि एक ही शारीरिक उपयोगकर्ता रिटर्न के लिए एक अनूठा
customer_ID
उत्पन्न? उसी प्रकार के डेटा को दोहराने वाले कई रिकॉर्ड होंगे; ईमेल, शिपिंग पता, आदि
- क्या होगा यदि एक ही शारीरिक उपयोगकर्ता रिटर्न के लिए एक अनूठा
- एक ग्राहक
- नहीं हमेशा विश्वसनीय के रूप में लोगों को कभी-कभी एक से अधिक ईमेल पते का उपयोग, या पुराने पते छोड़ने के लिए उल्लेख करने के लिए, इस तरह के ई-मेल पते के रूप में एक और अद्वितीय कुंजी, का प्रयोग करें पीछे।
- क्या होगा यदि कोई ईमेल पता नहीं लिया गया है, जैसा दुकान की मंजिल, प्रो फॉर्मा चालान आदि पर मामला है?
- कुछ अन्य स्टैक ओवरफ़्लो प्रेरित समाधान!
अलावा
# 2 और # 3 का एक संयोजन कहीं और सुझाव दिया गया है - प्रत्येक ग्राहक के लिए एक भी रिकॉर्ड स्टोर करने के लिए प्रयास, हर यात्रा के संबंध में ईमेल पता यदि संभव हो तो, या एक नया रिकॉर्ड का उपयोग कर अगर नहीं।
मैं कहना चाहिए कि हम जरूरत हर गुमनाम ग्राहक के लिए एक रिकॉर्ड स्टोर करने के लिए नहीं है, लेकिन यह सिर्फ लगता है कि संबंधपरक डेटाबेस संबंधों से निपटने के लिए बनाया गया था, तो एक शून्य या transaction
में एक customer_ID
होने तालिका जो वास्तविक ग्राहक रिकॉर्ड का संदर्भ नहीं देती है, केवल गलत लगता है ...
मुझे यह भी कहना चाहिए कि इस प्रश्न का उद्देश्य यह निर्धारित करना है कि 'आकस्मिक' लेन-देन रिकॉर्ड करने के लिए वास्तविक दुनिया समाधान क्या हैं, जहां कोई डाक पता नहीं है या ऑनलाइन पता लेनदेन के साथ ईमेल पता दिया गया है (एक सुपरमार्केट चेकआउट की कल्पना करें) जहां एक ईमेल पता और डाक पता दिया जाता है कि वे संग्रहीत हैं या नहीं।
अतीत में एसओ समुदाय का उपयोग किस समाधान से किया जाता है?
मैं ईमेल पता समाधान के लिए जाना चाहता हूं। पहचान के रूप में ईमेल आपको वही चीज़ मिल जाएगा जो आप चाहते हैं जहां आप आबादी के बहुत छोटे प्रतिशत के साथ किनारे के मामलों को मार सकते हैं। – Anon
मैं लापता जानकारी के लिए 'null' का उपयोग करूंगा, यही वह 'null' का आविष्कार किया गया था। – Johan
क्या आपको अज्ञात उपयोगकर्ताओं के लिए डेटाबेस की भी आवश्यकता है? ब्राउज़िंग करते समय आप कुकी सामग्री को कुकी में संग्रहीत नहीं कर सकते थे, फिर ऑर्डर को बंद करने के लिए इसका उपयोग करें? फॉर्म सबमिट ऑर्डर और उनकी जानकारी इच्छुक पार्टियों को भेजता है। आपके ग्राहक किसी कारण से गुमनाम रहना चाहते हैं। – stslavik