बाल दादा संबंध सेट करें - mysql, sql, डेटाबेस

लोगों ने सॉकर गेम की भविष्यवाणी करने के लिए मैंने एक वेब ऐप (PHP / MySQL) बनाया है।

  • प्रत्येक प्रविष्टि के लिए leagues टेबल, में कई प्रविष्टियां हैं matches तालिका।
  • प्रत्येक प्रविष्टि के लिए matches टेबल, में कई प्रविष्टियां हैं predictions तालिका।

क्या मुझे स्पष्ट रूप से एक रिश्ते को सेट करना चाहिए predictions टेबल पर leagues तालिका? दूसरे शब्दों में, मुझे एक जोड़ना चाहिए league_id कॉलम टू predictions तालिका?

समर्थक

आसान प्रश्नों, कुछ मामलों में पढ़ने के लिए कम टेबल। रिश्ते के साथ एक निश्चित लीग से किसी की भविष्यवाणियां देखने के लिए उदाहरण क्वेरी:

SELECT * FROM predictions p
WHERE p.league_id:league_id AND p.user_id=:user_id

रिश्ते के बिना:

SELECT * FROM predictions p
INNER JOIN matches m ON m.match_id=p.match_id AND m.league_id=:league_id
WHERE p.user_id=:user_id

CON

यह डेटा है जो पहले से मौजूद है, इसलिए यह डुप्लिकेट डेटा है (डेटाबेस को बड़ा बनाता है)।

उत्तर:

जवाब के लिए 0 № 1

डेटाबेस का एक सही मानदंड हैउम्मीद है कि संबंधों से बचने के लिए अनावश्यक डेटा के उपयोग से बचने के लिए सभी से ऊपर डुप्लीकेट से बचा जाता है। आप शोक के साथ शोक करते हैं संदेह दूसरी क्वेरी को पसंद करते हैं और संबंधित स्कीमा

SELECT * FROM predictions p
INNER JOIN matches m ON m.match_id=p.match_id AND m.league_id=:league_id
WHERE p.user_id=:user_id

संबंधित सवाल
सबसे लोकप्रिय