मैं एक विचार है जो विभाजित किया जा सकता है और इस प्रकार के बारे में सोचा मॉडल करने के लिए की जरूरत है यहां समस्या यह है कि किताबों के लिए आपके पास कई कीमतें हो सकती हैं और इन कीमतों में बदलाव होने की संभावना है। यहां एक उदाहरण हैएक-कई रिश्ता भंडारण के लिए सबसे अच्छा तरीका व्यावहारिक उदाहरण/दुविधा
BookDetails: ----------------- ID Name 1 Harry Potter…
यह काफी आसान है।
कहाँ इसे और अधिक दिलचस्प है कि मैं उस दिन दस अलग-अलग मूल्य हो सकता है यह एक पुस्तक के लिए, है जैसे:
BookPrices: ------------------------------------ Book_Details_Id Kind Price 1 SpecialOffer 10 1 BulkPurchase 20 1 Normal 30
मैं किताबें और स्तंभों में उनके सभी मूल्यों की एक सूची उपलब्ध कराने की आवश्यकता - कुछ जैसे:
BookName SpecialOffer BulkPurchase Normal Harry Potter… 10 20 30
मेरा प्रश्न है: क्या पुस्तक मूल्य तालिका में वास्तव में कॉलम के रूप में सभी अलग-अलग मूल्य प्रकार होना चाहिए? मेरे लिए यह बदसूरत है और एक बेहतर विचार है कि प्रत्येक कीमत को
यदि मैं उस दृष्टिकोण का उपयोग करता हूं तो मैं परिणाम सेट उत्पन्न करने के लिए SQL क्वेरी के बारे में नहीं सोच सकता। मैं आज सुबह इस बारे में सोच रहा हूं।
संपादित करें: मुझे कीमतों की गणना करने पर कोई छूट नहीं है - उन्हें नीचे संग्रहीत करना होगा।
संपादित करें: - इसका क्या मैं वास्तव में मन में था
चयन book.bookid, bp1.price, किताब से bp2.price यह मूलतः 1-एन appraoch मैं के बारे में सोच (धन्यवाद नीचे टिप्पणी करने के लिए) कर सकते हैं जॉइन बुकप्रिस बीपी 1 जॉइन बुकप्रिस बीपी 2 ऑन बीपी 1.बुकिड = बुक.बुकिड और बीपी 1.pricetype = 1 और बीपी 2.बुकिड = बुक.बुकिड और बीपी 2.pricetype = 2 ...
समस्या दस कीमतों के लिए होगी दस बार जुड़ना जो बदबू आ रही है!
क्या आप कृपया हमें बता सकते हैं कि आप जिस स्कीमा को विकसित कर रहे हैं उसके लिए विशिष्ट और ठोस आवश्यकताएं क्या हैं? कुछ प्रश्न: क्या आपको प्रति पुस्तक विशिष्ट मूल्यों की आवश्यकता है? क्या कई प्रकार के ऑफ़र होंगे? क्या ऑफर प्रकार अक्सर बदलते हैं? –
मेरे पास इसका प्रतिनिधित्व करने के तरीके पर नियंत्रण है - मैं या तो 1-एन तालिका (जिसे मैं करना पसंद करता हूं) चुन सकता हूं, लेकिन मैं नहीं सोच सकता कि मैं एक पुस्तक के लिए कॉलम में सभी कीमतों को कैसे प्राप्त कर सकता हूं। विकल्प प्रत्येक तालिका प्रकार को तालिका में रखना है और 1-1 मैपिंग –
है, तो आप "** PIVOT **" की क्षमता चाहते हैं, जो SQL सर्वर समर्थित नहीं है। SQL सर्वर उस तरह के कॉलम उत्पन्न नहीं कर सकता है। –