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

ईआर आरेख से संबंध विशेषताओं का SQL में अनुवाद करना

हां, आपको एक Meeting बनाना चाहिए Student . के बीच अनेक से अनेक संबंधों का प्रतिनिधित्व करने वाली इकाई और Supervisor . इसमें आप उन तालिकाओं से संबंधित विदेशी कुंजियों का उपयोग करके संबंधित तालिकाओं से संबंधित हो सकते हैं। SQL में यह कुछ इस तरह दिख सकता है:

Create table Meeting {
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
supervisor_id INT NOT NULL,
//rest of the fields...   
FOREIGN KEY (student_id) REFERENCES Student(id)
FOREIGN KEY (supervisor_id) REFERENCES Supervisor(id)
}

आप Supervise . के लिए भी यही काम करेंगे Project . के बीच और Supervisor . इसके अलावा आप अपनी मीटिंग टेबल पर एक समग्र कुंजी नामक किसी चीज़ का उपयोग कर सकते हैं, मुझे लगता है कि यह व्यक्तिगत वरीयता के लिए आता है, मैं आमतौर पर कई रिश्तों का प्रतिनिधित्व करते समय इसे इस तरह से करता हूं। मैं यह नहीं कह रहा हूं कि यह आपके द्वारा उपयोग किया जाने वाला सिंटैक्स है, जो आपके डेटाबेस पर निर्भर करता है, यह आपको सही दिशा में इंगित करने के लिए सिर्फ एक उदाहरण था। आशा है कि यह मदद करता है।

इसके अलावा आपके आरेख के लिए (मैं सिर्फ यह अनुमान लगा रहा हूं कि यह एक वर्ग के लिए है) आप अपना ईआर आरेख बनाने के लिए विज़ियो या विज़ुअल प्रतिमान जैसे सॉफ़्टवेयर को देखना चाह सकते हैं। जबकि अधिकांश लोग आपके वर्तमान आरेख को समझ पाएंगे, यह सही मॉडलिंग नहीं है।

मनोरंजन के लिए मैंने आपकी तालिकाओं के आधार पर एक चित्र बनाया है:

आप Supervisor . के बीच एक इकाई चाहते हैं और Project यदि वे अनेक से अनेक संबंध हैं। इसे associative entity . कहा जाता है . मैंने अपना SupervisorProject . लेबल किया है बस इसलिए कि वे थोड़े और स्पष्ट हैं।

संपादित करें इस तथ्य को नज़रअंदाज़ कर दिया कि छात्र और परियोजना एक से कई थे, इसे ठीक किया, क्षमा करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP+MySQL में आईपी ब्लैकलिस्ट

  2. ubuntu linux में MySql रूट पासवर्ड कमांड लाइन को कैसे रीसेट/बदलें?

  3. मैं एक मूल्य के विरुद्ध अल्पविराम से अलग की गई सूची का मिलान कैसे कर सकता हूं?

  4. mysqli-- त्रुटि के साथ विफल बयान तैयार करें कोई तालिका का उपयोग नहीं किया गया है

  5. संग्रहीत प्रक्रिया के माध्यम से दिन प्रदर्शित करें