निम्न डेटा स्कीमा मान लीजिए:क्या रेल में एक यौगिक विदेशी कुंजी हो सकती है?
Usage
======
client_id
resource
type
amount
Billing
======
client_id
usage_resource
usage_type
rate
इस उदाहरण में, मैं कई संसाधनों, जिनमें से प्रत्येक कई मायनों में इस्तेमाल किया जा सकता है लगता है। उदाहरण के लिए, एक संसाधन widget
है। Widgets
foo
एड हो सकता है और वे bar
एड हो सकते हैं। Gizmo
एस foo
एड और bar
एड भी हो सकता है। इन उपयोग प्रकारों को विभिन्न दरों पर बिल किया जाता है, संभवतः विभिन्न ग्राहकों के लिए भी अलग-अलग दरें। उपयोग तालिका में उपयोग (संसाधन का) प्रत्येक अवसर दर्ज किया जाता है। प्रत्येक बिलिंग दर (क्लाइंट, संसाधन, और प्रकार संयोजन के लिए) बिलिंग तालिका में संग्रहीत की जाती है।
एक has_many
संबंध बनाने के लिए (वैसे, अगर इस डेटा स्कीमा इस समस्या दृष्टिकोण सही तरीका नहीं है, सुझाव बनाने कृपया।)
उस पर रूबी और ActiveRecord का उपयोग कर सकता है, बिलिंग से उपयोग करने के लिए ताकि मैं किसी दिए गए बिलिंग दर के लिए उपयोग उदाहरणों की एक सूची प्राप्त कर सकूं? क्या has_many, :through
का सिंटैक्स है जो मुझे नहीं पता?
एक बार फिर, मैं गलत कोण से इस समस्या का सामना कर रहा हूं, इसलिए यदि आप बेहतर तरीके से सोच सकते हैं, तो कृपया बात करें!
एक दूसरे ... यह अन्य किया जा नहीं करना चाहिए प्रतीक्षा करें रास्ते के आसपास - बिलिंग में एक प्राथमिक कुंजी और उपयोग में एक विदेशी कुंजी ?? – Yarik
अच्छा जवाब, अच्छी पृष्ठभूमि। डेटाबेस के RoR दृश्य मुझे समस्याग्रस्त लगता है। लेकिन डीबीएमएस ने धीमी, असुरक्षित डेटाबेस हॉग के रूप में प्रतिष्ठा के साथ RoR को बोझ कर अपना बदला ठीक कर लिया है। – dkretz