Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

ER डायग्राम न्यूनतमकरण: कार्डिनैलिटी के अनुसार न्यूनतम टेबल संख्या

ER (Entity-Relationship) डायग्राम का न्यूनतमकरण डेटाबेस डिज़ाइन में टेबलों की संख्या कम करने की प्रक्रिया है, जहां रिलेशनशिप टेबल को एंटिटी टेबल में मर्ज किया जाता है। न्यूनतम टेबलों की संख्या कार्डिनैलिटी (1:1, 1:N, M:N) पर निर्भर करती है।

समस्या कथन

ER डायग्राम विभिन्न टेबलों और उनके बीच संबंधों का सचित्र प्रतिनिधित्व है। ER डायग्राम का न्यूनतमकरण करके डेटाबेस में टेबलों की संख्या कम की जा सकती है।

1. एक-से-एक (One-to-One) कार्डिनैलिटी

ER डायग्राम न्यूनतमकरण: कार्डिनैलिटी के अनुसार न्यूनतम टेबल संख्या

एंटिटीज

  • Employee: emp_id (PK), emp_name
  • Company: cmp_id (PK), cmp_name
  • Work (रिलेशनशिप): PK emp_id या cmp_id हो सकता है

न्यूनतमकरण नियम

  • तीनों टेबल को एक में **नहीं** मिला सकते
  • Work टेबल को **या तो Employee या Company** में मर्ज कर सकते हैं
  • न्यूनतम 2 टेबल आवश्यक हैं

मर्ज विकल्प

-- विकल्प A: Work को Employee में मर्ज
Employee(emp_id PK, emp_name, cmp_id FK, cmp_name)

-- विकल्प B: Work को Company में मर्ज
Company(cmp_id PK, cmp_name, emp_id FK, emp_name)

2. एक-से-अनेक (One-to-Many) कार्डिनैलिटी

ER डायग्राम न्यूनतमकरण: कार्डिनैलिटी के अनुसार न्यूनतम टेबल संख्या

परिदृश्य

एक कर्मचारी एक कंपनी के लिए काम करता है, लेकिन एक कंपनी में कई कर्मचारी हो सकते हैं।

एंटिटीज

  • Employee: emp_id (PK), emp_name
  • Company: cmp_id (PK), cmp_name
  • Work (रिलेशनशिप)

न्यूनतमकरण नियम

  • cmp_id Work टेबल में PK **नहीं** हो सकता (कई कर्मचारियों का एक ही cmp_id)
  • Employee और Work टेबल मर्ज किए जा सकते हैं
  • न्यूनतम 2 टेबल आवश्यक हैं

मर्ज परिणाम

Employee(emp_id PK, emp_name, cmp_id FK, cmp_name)
Company(cmp_id PK, cmp_name)

विदेशी कुंजी cmp_id Employee टेबल में जाती है ("मैनी" साइड पर)।

3. अनेकों-से-अनेक (Many-to-Many) कार्डिनैलिटी

ER डायग्राम न्यूनतमकरण: कार्डिनैलिटी के अनुसार न्यूनतम टेबल संख्या

परिदृश्य

कर्मचारी कई कंपनियों के लिए काम कर सकता है, और कंपनी में कई कर्मचारी हो सकते हैं।

एंटिटीज

  • Employee: emp_id (PK), emp_name
  • Company: cmp_id (PK), cmp_name
  • Work (रिलेशनशिप)

न्यूनतमकरण नियम

  • पिछले उदाहरणों के विपरीत, **Work टेबल को Employee या Company में मर्ज नहीं किया जा सकता**
  • मर्ज करने से **रिडंडेंट डेटा** बनेगा (डुप्लिकेट कर्मचारी/कंपनी रिकॉर्ड)
  • न्यूनतम 3 टेबल आवश्यक हैं (दोनों एंटिटी + जंक्शन टेबल)

सही डिज़ाइन (3 टेबल)

Employee(emp_id PK, emp_name)
Company(cmp_id PK, cmp_name)
Work(emp_id FK, cmp_id FK, PK(emp_id, cmp_id))

सारांश तालिका

कार्डिनैलिटीन्यूनतम टेबलमर्ज नियम
1:1 (One-to-One)2रिलेशनशिप टेबल को किसी एक एंटिटी में मर्ज करें
1:N (One-to-Many)2रिलेशनशिप को "Many" साइड एंटिटी में मर्ज करें
M:N (Many-to-Many)3रिलेशनशिप टेबल अलग रखें (जंक्शन टेबल)

महत्वपूर्ण सिद्धांत

  • 1:1 और 1:N में विदेशी कुंजी "One" या "Many" साइड पर रखकर टेबल कम की जा सकती हैं
  • M:N के लिए जंक्शन टेबल **अनिवार्य** है - यह दो विदेशी कुंजियों की संयुक्त प्राथमिक कुंजी रखता है
  • अत्यधिक न्यूनतमकरण से **अपडेट विसंगतियां**, **रिडंडेंसी**, और **अखंडता समस्याएं** हो सकती हैं
  • व्यावहारिक डिज़ाइन में अक्सर 3NF/BCNF तक नॉर्मलाइज़ किया जाता है, न्यूनतम टेबल नहीं

ER डायग्राम न्यूनतमकरण सैद्धांतिक समझ के लिए महत्वपूर्ण है, लेकिन उत्पादन डेटाबेस में नॉर्मलाइज़ेशन, प्रदर्शन, और रखरखाव योग्यता को प्राथमिकता दी जाती है।

  1. डेटाबेस में N-ary रिलेशनशिप डेटाबेस में N-ary रिलेशनशिप

    ER डायग्राम में रिलेशनशिप एंटिटीज़ के बीच संबंध दर्शाता है। N-ary रिलेशनशिप में n भाग लेने वाली एंटिटीज़ की संख्या है। आमतौर पर तीन प्रकार प्रचलित हैं: 1. यूनरी (Unary) रिलेशनशिप एक ही एंटिटी टाइप के दो इंस्टेंस के बीच संबंध। इसे रिकर्सिव रिलेशनशिप भी कहते हैं। One-to-One उदाहरण: एक व्यक्ति एक समय

  1. MySQL में डेटाबेस डायग्राम ऑटो-जेनरेट कैसे करें? MySQL में डेटाबेस डायग्राम ऑटो-जेनरेट कैसे करें?

    MySQL Workbench में रिवर्स इंजीनियर से ER डायग्राम जनरेट करें MySQL Workbench एक अंतर्निहित रिवर्स इंजीनियर सुविधा प्रदान करता है जो मौजूदा डेटाबेस से ER (एंटिटी-रिलेशनशिप) डायग्राम स्वचालित रूप से बनाता है। चरण-दर-चरण प्रक्रिया MySQL Workbench खोलें और अपने सर्वर से कनेक्ट करें। मेनू बार में Da

  1. Err_Connection_Closed त्रुटि को ठीक करें Err_Connection_Closed त्रुटि को ठीक करें

    Google Chrome आज तक के सबसे लोकप्रिय इंटरनेट ब्राउज़रों में से एक है और यह हाई-एंड PC के लिए शानदार प्रदर्शन प्रदान करता है। यह कमजोर PC पर भी अच्छा काम करता है लेकिन इसकी RAM खपत 3 GB से कम RAM वाले कंप्यूटरों के लिए एक प्रमुख मुद्दा है, खासकर यदि आपके पास एक इंस्टेंस में बहुत सारे खुले टैब हैं। ब