मैं कई से अधिक रिश्तों को मॉडलिंग कर रहा हूं जहां रिश्तों को केवल एक तरफ से अधिकांश समय तक पहुंचाया जाता है। यह एक पदानुक्रम की तरह है, जिसे ऊपर-नीचे तक पहुंचाया गया है और दूसरी तरफ नहीं।विदेशी टेबल सरणी बनाम जंक्शन टेबल?
सर्वेक्षण है और कई प्रश्न है के अंतर्गत आता है और कई जवाब करने के लिए अंतर्गत आता है।
दोनों रिश्ते कई से अधिक होने चाहिए क्योंकि विभिन्न प्रश्नों में एक ही प्रश्न का फिर से उपयोग किया जा सकता है और कई सवालों में एक ही जवाब दिया जा सकता है। यह एक आवश्यकता है।
मानक एम 2 एम कार्यान्वयन दो जंक्शन टेबल, surveys_questions
और questions_answers
का उपयोग करेगा। इसके बजाय, मैं सर्वेक्षण में question_ids
और प्रश्न में answer_ids
स्टोर करने के लिए PostgreSQL के पूर्णांक सरणी का उपयोग करने के बारे में सोच रहा हूं।
हम विदेशी कुंजी सरणी से मेल खाने वाली सभी पंक्तियों से पूछने के लिए किसी भी ऑपरेटर का उपयोग कर सकते हैं।
हम SQL के उपयोग से अपने प्रश्नों और प्रश्नों के उत्तर के साथ सभी सर्वेक्षणों के लिए कैसे पूछेंगे?
हम विदेशी कुंजी सरणी के साथ वापस पंक्तियों के क्रम से कैसे मिलान कर सकते हैं? अर्थात। question_ids = [1,2,3] का उपयोग आदेश 1, 2, 3 के साथ प्रश्न पंक्तियों को वापस करने की गारंटी है।
यह जंक्शन तालिकाओं की तुलना में प्रदर्शन के अनुसार प्रदर्शन करता है (उचित इंडेक्स मानते हैं, जो भी हो सकता है)?
क्या आप इसका सुझाव देंगे? क्या एम 2 एम मॉडलिंग के बारे में कुछ संसाधन हैं?
अद्यतन
PostgreSQL 9.3 करने के लिए सरणी विदेशी चाबी के लिए रेफेरेंन्शिअल सत्यनिष्ठा को जोड़ने के लिए एक प्रस्ताव था, लेकिन यह शामिल नहीं था: http://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/
अतः विदेशी कुंजी सरणी PostgreSQL JOIN with array type with array elements order, how to implement? का उपयोग कर व्यवस्था बनाए रखने के बारे में प्रश्न
आप कई लोगों को कहते हैं, लेकिन यह कई लोगों की तरह लगता है; कई लोगों का मतलब यह होगा कि प्रत्येक सर्वेक्षण कई प्रश्नों से संबंधित है और प्रत्येक प्रश्न कई सर्वेक्षणों से संबंधित है, लेकिन यह थोड़ा अजीब लगता है, निश्चित रूप से, जिस तरह से आपने इसे वाक्यांश दिया है, 'कई' हैं, आमतौर पर कई लोगों के समानार्थी होते हैं (कई से -मनी आमतौर पर 'हैस-एंड-से-से-कई' कहा जाता है) – SingleNegationElimination
@TokenMacGuy: भ्रम के लिए खेद है। प्रश्न पूरे सर्वेक्षण में जवाब देने योग्य हैं और कई सारे रिश्ते बनाने के सवालों के जवाब हैं। मैं एचएबीटीएम के साथ कई रिश्तों को बदल दूंगा। – randomguy