कहते हैं, मेरे पास निम्नलिखित तालिकाओं के साथ एक डेटाबेस है:
तालिका movie
युक्त
movie1
movie2
तालिका actors
युक्त
actor1
actor2
actor3
हम कहते हैं actor2
दोनों फिल्मों में दिखाई देता है movie1
तथा movie2
। मैं अब इसका उपयोग कैसे कर सकता हूं, अब प्रत्येक अभिनेता के लिए एक अलग रिकॉर्ड दर्ज करने के लिए इसे तालिका में अपनी फिल्म आईडी देने के लिए actors
, कुछ जगह बचाने के लिए?
उत्तर:
जवाब के लिए 2 № 1मुझे लगता है कि आप जो देख रहे हैं वह जंक्शन-टेबल (लिंक-टेबल) है (http://en.wikipedia.org/wiki/Junction_table):
(बस इसके लिए मैंने दोनों तालिका-नामों पर बहुवचन सेट किया है)
tab movies
= movie1
= movie2
tab actors
= actor1
= actor2
= actor3
tab movies_actors
= actors (id of tab_actors)
= movies (id of tab_movies)
तब आप tab_movies_actors को tab_movies और tab_actors के साथ जोड़ सकते हैं ताकि अभिनेता किस फिल्म से संबंधित हो:
SELECT * FROM tb_movies tm
JOIN tb_movies_actors tma ON (tm.id = tma.movies_id)
JOIN tb_actors ta ON (tma.actors_id = ta.id)
या एक विशिष्ट फिल्म:
SELECT * FROM tb_movies tm
JOIN tb_movies_actors tma ON (tm.id = tma.movies_id)
JOIN tb_actors ta ON (tma.actors_id = ta.id)
WHERE tm.id = 10
जवाब के लिए 0 № 2
जब भी कोई रिश्ता "कई से कई" होता है, तो उसे लिंक टेबल की आवश्यकता होती है, जैसा कि पिछले उत्तर में दिखाया गया है।