इस तालिका में प्रत्येक परीक्षा की तिथियों के साथ अन्य दो तालिकाओं के साथ समझदार लिंक बनाने की अनुमति देने के लिए विदेशी कुंजियाँ होनी चाहिए।

तो क्या मुझे वास्तव में ऐसा करने के लिए कहा जा रहा है? अन्य सभी तालिकाओं को आबाद किया गया है।

0
MrInterBugs 20 नवम्बर 2015, 17:15

3 जवाब

सबसे बढ़िया उत्तर

यह एक क्लासिक बहुत से कई संबंधपरक समस्या की तरह दिखता है।

एक छात्र एक से अधिक विषयों का अध्ययन कर सकता है

एक विषय का अध्ययन विद्यार्थी से अधिक किया जा सकता है

यह केवल आपके द्वारा दी गई दो तालिकाओं का उपयोग करके आसानी से मॉडल तैयार नहीं किया जा सकता है।

इसे मॉडल करने का पारंपरिक तरीका एक तीसरी तालिका पेश करना है जिसमें छात्रों के अध्ययन का विवरण होता है कि कौन से विषय हैं।

तालिका में आम तौर पर आईडी की तालिकाएं शामिल होंगी जो कई संबंधों में भाग लेती हैं, इसलिए आपके मामले में यह student_id और विषयों_id होगा। इन्हें छात्र और विषयों की तालिकाओं के लिए विदेशी प्रमुख बाधाओं के साथ परिभाषित किया जाएगा।

यह पेज आपको इसे समझने में मदद करने के लिए एक लंबा रास्ता तय कर सकता है।

वैसे - विषय तालिका पर प्राथमिक मुख्य बाधा मुझे थोड़ी संदिग्ध लगती है ...

1
DaveH 20 नवम्बर 2015, 14:26

सबसे पहले, विषय तालिका के लिए आपका प्राथमिक कुंजी विषय होना चाहिए, क्योंकि आपके पास उसी दिन 2 अंतिम परीक्षाएं हो सकती हैं।

0
JonathanG 20 नवम्बर 2015, 14:21
CREATE TABLE IF NOT EXISTS entries(
    entry_id INT UNSIGNED NOT NULL AUTO_INCREMENT,( PK)
    student_id INT UNSIGNED NOT NULL,(FK From students table)
    subject_id INT UNSIGNED NOT NULL,(FK From subjects table )
); 

आपको (छात्र_आईडी, subject_id) संयोजन को अद्वितीय बनाने की आवश्यकता है क्योंकि इसे डुप्लिकेट नहीं किया जाना चाहिए। यह मोटा मसौदा है। मान लें कि यह तालिका एक पुल है जो छात्रों और विषयों को जोड़ता है।

0
Burak Karasoy 20 नवम्बर 2015, 14:34