मेरे पास तीन टेबल उपयोगकर्ता, कार और पूछताछ हैं और उनका डिज़ाइन इस प्रकार है:
उपयोगकर्ता:
आईडी, नाम, ईमेल
कारें:
आईडी,user_id,नाम
पूछताछ:
आईडी, car_id, विवरण

मैं सिर्फ यह जानना चाहता हूं कि मुझे user_id को Enquiry table में रखना चाहिए या नहीं। जैसा कि मुझे पता है कि मैं cars तालिका के car_id के संदर्भ में उपयोगकर्ता विवरण प्राप्त कर सकता हूं। इस तरह की चीजों को प्रबंधित करने का सबसे अच्छा तरीका क्या है। अग्रिम में धन्यवाद।

0
Anuj Kumar 4 अगस्त 2018, 13:17
ऐसा करने की कोई जरूरत नहीं है। जैसा कि आप कार तालिका से उपयोगकर्ता के अद्वितीय car_id के आधार पर पूछताछ विवरण प्राप्त कर सकते हैं।
 – 
Sookie Singh
4 अगस्त 2018, 13:34
अगर मैं user_id को enquiry टेबल में रखूं तो क्या इसमें कोई खामी है?
 – 
Anuj Kumar
4 अगस्त 2018, 13:47

2 जवाब

यदि आप user_id को पूछताछ तालिका से हटाते हैं, तो आपको अपने डिजाइन में एक अंतर्निहित धारणा है कि पूछताछ कार मालिक द्वारा बनाई गई है।

क्या यह धारणा आपको स्वीकार्य है?

यह बहुत व्यक्तिपरक हो सकता है, लेकिन शुद्धता के बारे में बात करते हुए, मेरी राय है कि आपको user_id रखना चाहिए क्योंकि पूछताछ स्वयं एक इकाई है और इसका अपना स्वामी होना चाहिए।

0
Jacob 4 अगस्त 2018, 13:47
अगर आप इसे अलग तरीके से देखें तो पूछताछ एक विशेष कार के बारे में है।
 – 
Sookie Singh
4 अगस्त 2018, 13:53
इसलिए मैंने कहा कि यह व्यक्तिपरक हो सकता है। हालाँकि, फिर भी, यह अभी भी समझ में आता है कि वहाँ निर्माता है।
 – 
Jacob
4 अगस्त 2018, 14:00
मैंने यह भी सुनिश्चित किया है कि डेटा प्राप्त करने का एक जॉइन तरीका होने के बावजूद अन्य तालिकाओं में भी निर्माता आईडी बनाए रखा जाता है। यह मुझे लंबे जॉइन से बचने में मदद करता है, खासकर जब मेरे पास 4 या अधिक टेबल शामिल हों। समस्या यह है कि एक मौका है कि कुछ बग के कारण, निर्माता आईडी में मेल नहीं हो सकता है। मैं बेमेल से बचने के लिए संयुक्त विदेशी कुंजी बाधा को लागू करने की कोशिश कर रहा हूं..लेकिन MySQL में ऐसा करने में असमर्थ
 – 
Madhur Bhaiya
4 अगस्त 2018, 14:42

यह आपकी रिपोर्ट पर आधारित है लेकिन मैं कहूंगा, आपको अतिरिक्त user_id की आवश्यकता नहीं होगी क्योंकि हर बार जब आप पूछताछ के साथ उपयोगकर्ता जानकारी और कार की जानकारी का विवरण देने के लिए सभी तालिका में शामिल होंगे।

0
Rohit.007 4 अगस्त 2018, 19:29