Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक तालिका में एक से अधिक फ़ील्ड को किसी अन्य तालिका में दर्ज करने के लिए कई को मैप करने की रणनीति

अगर आप अपना पहला बयान देखें

"...एक ऑब्जेक्ट . के गुण मापा . हैं विभिन्न स्रोतों . के माध्यम से ..."

आप वास्तव में सीधे देख सकते हैं कि आप शायद 3 टेबल ढूंढ रहे हैं। स्रोत आपके द्वारा प्रस्तावित तालिका ठीक दिखती है। मेरा सुझाव है कि वस्तु तालिका हालांकि अधिक दिखती है

ObjectId
ObjectName
ObjectDescription
... other object details (except measurement)

आपकी तीसरी तालिका आपकी माप है तालिका, जो संभवतः इस तरह दिख सकती है

MeasurementId
ObjectId - reference to Object table
SourceId - reference to Source table
DatePerformed
MeasurementValue
Success 
Notes  etc

यहाँ लाभ हैं

  • कि आपको अपने ऑब्जेक्ट . में एक विशिष्ट कॉलम रखने की आवश्यकता नहीं है एक विशिष्ट स्रोत . के लिए . यदि आपके पास अचानक अधिक स्रोत हैं तो इसे बनाए रखना बहुत मुश्किल हो जाता है।
  • सभी नहीं ऑब्जेक्ट प्रत्येक स्रोत . के लिए एक मान चाहिए , हालांकि इस संरचना के साथ आप अभी भी यह निर्धारित कर सकते हैं कि किसी वस्तु में किसी विशेष स्रोत से मापन आसानी से छूट गया है या नहीं।
  • आपके पास किसी ऑब्जेक्ट के लिए कई माप संग्रहीत हो सकते हैं (दिनांक प्रदर्शन के माध्यम से अलग), और अधिकतम (दिनांक प्रदर्शन) का उपयोग करके आप नवीनतम माप प्राप्त कर सकते हैं।

फिर आप परिणामों की एक सूची प्राप्त कर सकते हैं, यदि आप ऐसा करते हैं

SELECT ObjectId, SourceId, DatePerformed, MeasurementValue
FROM Measurement
WHERE ObjectId = <your Object>
[AND/OR] SourceId = <your source>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक कॉलम में गैर-शून्य मान के साथ नवीनतम रिकॉर्ड का चयन करें

  2. कोई मिलान पंक्तियों के साथ चयन के मामले में MySQLi क्वेरी वापसी मूल्य

  3. mySQL श्रेणी में चयन करें

  4. प्राथमिक कुंजी के अनुसार html फॉर्म को php पेज से जोड़ना

  5. mysql टाइमस्टैम्प कॉलम