/ / एक रिकॉर्ड [डुप्लिकेट] के लिए कई रिकॉर्ड्स का उपयोग करें - mysql, डेटाबेस-डिज़ाइन

एक रिकॉर्ड [डुप्लिकेट] - mysql, डेटाबेस-डिज़ाइन के लिए कई रिकॉर्ड का उपयोग करें

कहते हैं, मेरे पास निम्नलिखित तालिकाओं के साथ एक डेटाबेस है:

तालिका 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

जब भी कोई रिश्ता "कई से कई" होता है, तो उसे लिंक टेबल की आवश्यकता होती है, जैसा कि पिछले उत्तर में दिखाया गया है।