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

DBMS में फंक्शनल डिपेंडेंसी


फंक्शनल डिपेंडेंसी क्या है?

DBMS में फंक्शनल डिपेंडेंसी, जैसा कि नाम से पता चलता है, एक टेबल की विशेषताओं के बीच एक संबंध है जो एक-दूसरे पर निर्भर हैं। E. F. Codd द्वारा पेश किया गया, यह डेटा रिडंडेंसी को रोकने और खराब डिजाइन के बारे में जानने में मदद करता है।

अवधारणा को पूरी तरह से समझने के लिए, मान लीजिए P विशेषताओं A और B के साथ एक रिलेशन है। फंक्शनल डिपेंडेंसी को -> (तीर चिह्न) द्वारा दर्शाया जाता है।

तब निम्नलिखित तीर चिह्न के साथ विशेषताओं के बीच फंक्शनल डिपेंडेंसी को दर्शाएगा:

A -> B


उपरोक्त से पता चलता है:

DBMS में फंक्शनल डिपेंडेंसी

उदाहरण

निम्नलिखित एक उदाहरण है जो फंक्शनल डिपेंडेंसी की अवधारणा को समझना आसान बना देगा:

हमारे पास दो विशेषताओं वाला एक <Department> टेबल है: DeptId और DeptName।

DeptId = Department ID
DeptName = Department Name


DeptId हमारी प्राइमरी की है। यहां, DeptId DeptName विशेषता को विशिष्ट रूप से पहचानता है। ऐसा इसलिए है क्योंकि यदि आप विभाग का नाम जानना चाहते हैं, तो सबसे पहले आपको DeptId की आवश्यकता होगी।

DeptId
DeptName
001
Finance
002
Marketing
003
HR


इसलिए, DeptId और DeptName के बीच उपरोक्त फंक्शनल डिपेंडेंसी को DeptId के रूप में निर्धारित किया जा सकता है जो DeptName पर फंक्शनली डिपेंडेंट है:

DeptId -> DeptName


फंक्शनल डिपेंडेंसी के प्रकार

फंक्शनल डिपेंडेंसी के तीन रूप हैं:

  • ट्रिवियल फंक्शनल डिपेंडेंसी
  • नॉन-ट्रिवियल फंक्शनल डिपेंडेंसी
  • कम्प्लीटली नॉन-ट्रिवियल फंक्शनल डिपेंडेंसी

आइए ट्रिवियल फंक्शनल डिपेंडेंसी से शुरू करें:

ट्रिवियल फंक्शनल डिपेंडेंसी

यह तब होता है जब B, A का सबसेट होता है:

A ->B


उदाहरण

हम उसी <Department> टेबल पर विचार कर रहे हैं जिसमें दो विशेषताएँ हैं ताकि ट्रिवियल डिपेंडेंसी की अवधारणा को समझा जा सके।

निम्नलिखित एक ट्रिवियल फंक्शनल डिपेंडेंसी है क्योंकि DeptId, DeptId और DeptName का सबसेट है:

{ DeptId, DeptName } -> DeptId


नॉन-ट्रिवियल फंक्शनल डिपेंडेंसी

यह तब होता है जब B, A का सबसेट नहीं होता:

A ->B


उदाहरण

DeptId -> DeptName

उपरोक्त एक नॉन-ट्रिवियल फंक्शनल डिपेंडेंसी है क्योंकि DeptName, DeptId का सबसेट नहीं है।

कम्प्लीटली नॉन-ट्रिवियल फंक्शनल डिपेंडेंसी

यह तब होता है जब A इंटरसेक्शन B नल होता है:

A ->B

आर्मस्ट्रांग के स्वयंसिद्ध (Armstrong's Axioms) फंक्शनल डिपेंडेंसी की संपत्ति

आर्मस्ट्रांग के स्वयंसिद्ध संपत्ति को 1974 में विलियम आर्मस्ट्रांग द्वारा फंक्शनल डिपेंडेंसी के बारे में तर्क करने के लिए विकसित किया गया था।

संपत्ति उन नियमों का सुझाव देती है जो निम्नलिखित संतुष्ट होने पर सत्य होते हैं:

  • ट्रांजिटिविटी (Transitivity)
    यदि A->B और B->C, तो A->C यानी एक ट्रांजिटिव संबंध।
  • रिफ्लेक्सिविटी (Reflexivity)
    A-> B, यदि B, A का सबसेट है।
  • ऑगमेंटेशन (Augmentation)
    अंतिम नियम सुझाता है: AC->BC, यदि A->B

  1. DBMS में वन-टू-मैनी या मैनी-टू-वन रिलेशनशिप DBMS में वन-टू-मैनी या मैनी-टू-वन रिलेशनशिप

    DBMS में एक रिलेशनशिप वन-टू-मैनी या मैनी-टू-वन हो सकती है। आइए उदाहरणों के साथ देखें कि इसका क्या अर्थ है: वन-टू-मैनी रिलेशनशिप (One-to-Many Relationship) DBMS में वन-टू-मैनी रिलेशनशिप एक एंटिटी के इंस्टेंस और दूसरी एंटिटी के एक से अधिक इंस्टेंस के बीच का संबंध है। संबंध को इस प्रकार दिखाया जा सकता

  1. DBMS में डेटा डिक्शनरी DBMS में डेटा डिक्शनरी

    डेटा डिक्शनरी में डेटाबेस मेटाडेटा होता है। इसमें डेटाबेस में ऑब्जेक्ट के बारे में रिकॉर्ड होते हैं। डेटा डिक्शनरी में क्या होता है डेटा डिक्शनरी में निम्नलिखित जानकारी होती है: डेटाबेस में टेबल के नाम टेबल के कंस्ट्रेंट यानी की, रिलेशनशिप, आदि टेबल के कॉलम जो एक दूसरे से संबंधित हैं टेबल का मालिक

  1. DBMS में डेडलॉक DBMS में डेडलॉक

    डेडलॉक तब होता है जब दो या अधिक प्रक्रियाओं को अपने निष्पादन को पूरा करने के लिए किसी संसाधन की आवश्यकता होती है जो दूसरी प्रक्रिया के पास होता है। उपरोक्त आरेख में, प्रक्रिया 1 के पास संसाधन 1 है और इसे संसाधन 2 की आवश्यकता है। इसी तरह प्रक्रिया 2 के पास संसाधन 2 है और इसे संसाधन 1 की आवश्यकता है।