मैं एक क्रॉस संदर्भ तालिका बनाकर ऐसा करूँगा।
उदाहरण:
तालिका: पोस्ट
Columns: pstkey | userid | postMessage | etc...
pstkey पोस्ट शरीर के लिए महत्वपूर्ण है। उपयोगकर्ता आईडी वह व्यक्ति है जिसने पोस्ट बनाया है। पोस्ट मैसेज वास्तविक पोस्ट एंट्री है।
तालिका: टिप्पणियाँ
Columns: comkey | pstkey | userid | commentMessage | etc...
comkey की गई टिप्पणी के लिए महत्वपूर्ण है। pstkey का उपयोग कर पोस्ट के संदर्भ में। उपयोगकर्ता आईडी वह व्यक्ति है जिसने टिप्पणी की है। और फिर टिप्पणी संदेश वास्तविक टिप्पणी का पाठ निकाय है।
तालिका: xref_postComm
Columns: xrefkey | pstkey | comkey | comkey2 |
अब मज़े की बात । सभी पोस्ट पोस्ट टेबल में जाते हैं। सभी टिप्पणियां टिप्पणी तालिका में जाओ। संबंध सभी क्रॉस संदर्भ तालिका में परिभाषित हैं।
मैं अपने सभी प्रोग्रामिंग इस तरह से करता हूं। मुझे दुनिया के बेस्ट डेटाबेस इंजीनियरों में से एक के साथ काम करने का विशेषाधिकार मिला, जो सेवानिवृत्त हुए और उन्होंने मुझे कुछ चाल सिखाई।
क्रॉस संदर्भ तालिका उपयोग कैसे करें:
xrefkey | pstkey | comkey | comkey2
All that you look for is the population of a given field.
xref (Auto Incremented)
pstkey (Contains the pstkey for the post)
comkey (Contains the comkey for the comment post)
comkey2 (Contains the comkey for the comment post)
(but only populate comkey2 if comkey already has a value)
and of course you populate comkey2 with the key of the comment.
SEE, no reason for a 3rd tabel!
With this method you can add as many relationships as you want.
Now or in the future!
comkey2 एक उत्तर के लिए आपके उत्तर है। जहां इस एकल पंक्ति में .... पोस्ट की कुंजी, टिप्पणी की कुंजी, और उत्तर टिप्पणी के उत्तर की कुंजी है। सभी xref की आबादी द्वारा किया गया।
EXAMPLE:
PAGES.... Page table
POSTS
pstkey | pageid | user| Post
-------------------------------------
| 1 | 1 | 45 | Went to the store the....|
| 2 | 2 | 18 | Saw an apple on tv.....
COMMENTS
comkey | pstkey | user | Comment
-----------------------------------------------
| 1 | 1 | 9 | Wanted to say thanks...
| 2 | 1 | 7 | Cool I like tha.....
| 3 | 2 | 3 | Great seeing ya....
| 4 | 2 | 6 | Had a great....
| 5 | 2 | 2 | Don't sweat it man...
xref_PostCom
xrefkey | pageid | pstkey | comkey | comkey2 |
----------------------------------------------
| 1 | 1 | 1 | NULL | NULL | Post1 on Page1
| 2 | 1 | 1 | 1 | NULL | Comment1 under Post1
| 3 | 1 | 1 | 2 | NULL | Comment2 under Post1
| 4 | 2 | 2 | NULL | NULL | Post2 on Page2
| 5 | 2 | 2 | 3 | NULL | Comment3 under Post2 on Page2
| 6 | 2 | 2 | 4 | NULL | Comment4 under Post2 on Page2 (a second Comment)
| 7 | 2 | 2 | 4 | 5 | Explained below....
Comment key 5 is matched with comment key 4....under post2 on Page 2
आप में शामिल होने के बारे में कुछ पता है, तो में शामिल होने, सही में शामिल होने, आंतरिक/बाहरी बनाने में शामिल हों चुनें के इन संबंधों का उपयोग कर डेटा सरणियों प्राप्त करने के लिए, अपनी नौकरी एक पूरी बहुत आसान हो जाता है छोड़ दिया है।
मेरा मानना है कि अभियंता कॉल को परिभाषित रिश्तों के मूल रूप से "डेटा मैप" कहते हैं। यह चाल अब इन रिश्तों का उपयोग करके आप कैसे पहुंच सकते हैं। यह पहली बार कड़ी मेहनत करता है, लेकिन मुझे पता है कि मैं इसे क्या जानता हूं, मैं इसे किसी अन्य तरीके से करने से इनकार करता हूं।
अंत में क्या होता है आप अंत में 1 स्क्रिप्ट लिखते हैं जो कहता है, ठीक है, सब कुछ करो, सब कुछ और वापस आओ। आप 1 फ़ंक्शन कॉल के साथ समाप्त होंगे जो पृष्ठ 1 के लिए पूछता है। यह पृष्ठ 1, पोस्ट 1, टिप्पणी 1 3 और 1 सरणी में उत्तर के उत्तरों के साथ आता है। उत्पादन और करने के लिए गूंज।
टिप्पणी के लिए अद्यतन मैंने पहली बार यह दिखाया कि यह वही सटीक बात है जो मुझे दिखाया गया था। वास्तव में यह वास्तव में मुझे पागल बना रहा था कि डेटाबेस प्रोग्रामर मुझे इस तरह से ऐसा करने के लिए मजबूर कर रहा था। लेकिन अब मुझे यह मिल गया। फायदे बहुत सारे हैं।
लाभ 1) 1 क्वेरी को इसे 1 शॉट में खींचने के लिए लिखा जा सकता है।
2) कई प्रश्नों में उत्तर एक संरचना में सरणी को पॉप्युलेट कर सकते हैं कि पृष्ठ को प्रिंट करते समय लूप में एक लूप पृष्ठ प्रदर्शित कर सकता है।
3) इसका उपयोग करने वाले आपके सॉफ़्टवेयर को अपग्रेड करना किसी भी संभावित डिज़ाइन परिवर्तन का समर्थन कर सकता है जिसे आप कभी भी सोच सकते हैं। निर्दोष विस्तारशीलता।
वह व्यक्ति जिसने मुझे यह सिखाया वह किराए पर बंदूक थी जिसने सीर और जेसीपीनी डेटाबेस को फिर से डिजाइन किया था। वापस जब उनके पास डुप्लिकेट रिकॉर्ड मुद्दों के कारण 9 घरें एक ही घर जा रही हैं।
क्रॉस संदर्भ तालिका डिजाइन में कई मुद्दों को रोकती है।
इस सिद्धांत का दिल है, एक कॉलम में केवल डेटा नहीं हो सकता है बल्कि एक ही समय में एक वास्तविक या गलत कथन के रूप में कार्य करता है। यह स्वयं में अंतरिक्ष बचाता है। जब आप एक खोज सकते हैं तो 20 टेबल क्यों खोजते हैं? 1 अनुक्रमित क्रॉस संदर्भ तालिका आपको अन्य 20 तालिकाओं, सामग्री, जो आपको चाहिए, जो आपको चाहिए, के बारे में जानने के लिए आपको जो कुछ भी चाहिए, उसे बता सकता है, और आपको अन्य तालिका को भी खोलने की आवश्यकता है।
संक्षेप में: 1 क्रॉस लेकिन INT (2/11) कुछ भी नहीं युक्त संदर्भ है कि आप सब कुछ बात करने से पहले आपको कभी एक और तालिका खोलने जानने की जरूरत बताता है, न केवल निर्दोष विस्तार लेकिन प्रकाश की गति के परिणाम शामिल हैं। डुप्लिकेट रिकॉर्ड की कम संभावना का उल्लेख नहीं है। आपके और मेरे लिए डुप्लिकेट रिकॉर्ड एक मुद्दा नहीं हो सकता है। लेकिन सीअर्स को $ 11 बिलियन पर 4 अरब रिकॉर्ड के साथ, गलतियों को जोड़ दिया गया।
बिल्कुल: टिप्पणियां टिप्पणियां हैं, चाहे वे अन्य टिप्पणियों के उत्तर हों या नहीं। –
क्षमा करें, मैं बहुत धीमी हूँ। मैं समझ गया! धन्यवाद। अब मेरा सवाल यह है कि मैं जवाब कैसे इंडेंट करता हूं? क्या मुझे कुछ प्रकार के संबंध जानने की ज़रूरत है? जैसे कि यह उत्तर पहला है, यह उत्तर दूसरा इंडेंट x2 है, यह उत्तर तीसरा है, इसलिए identx3 – jpjp
@jpjp: मैं इसे एप्लिकेशन स्तर पर करूँगा। जब आप टिप्पणियों का पेड़ बनाते हैं, तो आप उन्हें इंडेंट करने के लिए बहुत कुछ जानते हैं। माता-पिता के रूप में बस एक और। –