What is Functional dependency in DBMS in Hindi - फंक्शनल डिपेंडेंसी क्या है?
DBMS में Functional dependency, एक table में attributes(columns) के बीच के relationship को दिखाता है।यदि एक column की value से दूसरे column की value तय होती है, तो इसे Functional dependency कहते हैं।
Functional Dependency (FD) यह दिखाता है कि attributes कैसे सम्बन्धित है। यह data को सही बनाएं रखने और अनावश्यक दोहराव को हटाने में मदद करता है। यह data को सही तरीके से संगठित करने के लिए महत्वपूर्ण है।
Functional dependency यह सुनिश्चित करता है कि एक column बदलने पर दूसरे column में गलत data न आए।
इसका उपयोग normalization में बड़े tables को छोटे बेहतर संरचना वाले tables में विभाजित करने के लिए किया जाता है।
Functional dependency यह सुनिश्चित करता है कि एक column बदलने पर दूसरे column में गलत data न आए।
इसका उपयोग normalization में बड़े tables को छोटे बेहतर संरचना वाले tables में विभाजित करने के लिए किया जाता है।
यह गति में सुधार लाता है और गलतियों को हटाता है। Functional dependency के साथ अच्छे से डिजाइन किया हुआ डेटाबेस, डेटा खोजना, अपडेट करना और संग्रहीत करना आसान और अधिक सही बनाता है।
उदाहरण के लिए जब हम X -> Y लिखते है। तो यहां X determinant (निर्धारक) है और Y "dependent."(निर्भर ) है। X, Y को determine(निर्धारित) करता है।
Example:
नीचे एक STUDENT table दिया गया है इस table के माध्यम से हम फंग्शनल डिपेंडेंसी को और अच्छे से जानने का प्रयास करेंगे हैं।StudentID | Name | Course |
---|---|---|
101 | Dolly | DCA |
102 | Monil | BCA |
103 | Amita | DCA |
Functional Dependency:
Functional Dependency को → के माध्यम से denote किया जाता है।
StudentID → Name
इसका मतलब है कि यदि हम StudentID को जानते हैं तो हम student के name को विशिष्ट रूप से निर्धारित कर सकते हैं।
Functional Dependency को → के माध्यम से denote किया जाता है।
StudentID → Name
इसका मतलब है कि यदि हम StudentID को जानते हैं तो हम student के name को विशिष्ट रूप से निर्धारित कर सकते हैं।
StudentID → Course
इसका मतलब है कि यदि हम StudentID को जानते हैं तो हम student के course को विशिष्ट रूप से निर्धारित कर सकते हैं।
इसे निम्न प्रकार से लिखा जाता है:
StudentID → {Name, Course}
यह बताता है कि StudentID से Name और Course का पता लगाया जा सकता है।
Types of functional dependency in DBMS in Hindi
DBMS में functional dependency के निम्न प्रकार होते है।Trivial Functional Dependency
एक Trivial functional dependency उस समय होता है जब एक attribute, स्वयं पर या उसके भाग पर निर्भर करता है। यह हमेशा सही रहता है और कोई नई जानकारी नहीं देता है।Example1
मान लीजिए एक टेबल में दो attributes(column) A और B है तब :A → A
इसका मतलब है कि attribute A, स्वयं को निर्धारित करता है।
B → B
इसका मतलब है कि attribute B, स्वयं को निर्धारित करता है।
{A, B} → A
इसका मतलब है कि set {A, B}, A को निर्धारित करता है।
Example 2:
Student Table से हम निम्न प्रकार सेTrivial functional dependency को समझेंगे
StudentID | Name |
---|---|
101 | Ajay |
102 | Sumit |
103 | Rahul |
Explanation
(StudentID, Name) → StudentID एक trivial functional dependency है क्योंकि StudentID, पहले से है left side का भाग है।
(StudentID, Name) → StudentID एक trivial functional dependency है क्योंकि StudentID, पहले से है left side का भाग है।
Trivial dependency का मतलब है right side(StudentID) पहले से ही left side (StudentID, Name) में शामिल है।
ये Trivial है क्योंकि वे समान values को दोहराते हैं। Trivial dependencies database design या normalization में मदद नहीं करते।
Non-Trivial Functional Dependency
एक No trivial functional Dependency का मतलब है एक column अन्य पर निर्भर है लेकिन वह पहले से उसमें शामिल नहीं है।Example1
मान लीजिए एक table है जिसमें A और B दो attributes(columns)यदि A → B, है तब इसका मतलब है कि B, A में शामिल नहीं है।
इसे अच्छे से समझने का प्रयास करते हैं।
अगर
Trivial Dependency:
(A, B) → A
इसका मतलब है कि A पहले से (A, B) मे शामिल अर्थात उसका subset है।
जबकि
इसका मतलब है कि A पहले से (A, B) मे शामिल अर्थात उसका subset है।
जबकि
Non-Trivial Dependency:
A → B में B, A का subset नही है।
Example2:
Student Table में No trivial functional Dependency को निम्न प्रकार से Table के द्वारा समझते हैं।StudentID | Name | Address |
---|---|---|
101 | Sohit | Balod |
102 | Yash | Durg |
103 | Raghaw | Raipur |
Explanation:
एक Student database में ,
(StudentID, Name) → Address
एक Student database में ,
(StudentID, Name) → Address
एक non-trivial functional dependency क्योंकि Address, StudentID और Name पर निर्भर है, परंतु वह उसका भाग नहीं है।
इसका मतलब है कि StudentID और Name का combination, Address को विशिष्ट रूप से निर्धारित करता है।
Non-trivial functional dependencies डेटाबेस को बेहतर बनाती हैं, duplicate data हटाती हैं, गलतियाँ रोकती हैं, और डेटाबेस को सही तरीके से रखती हैं।
Partial functional dependency
Database management में, partial functional dependency तब होता है जब कोई non-key attribute केवल composite primary key के एक भाग पर निर्भर करता है, न कि पूरी key पर।Example
StudentID | CourseID | Lecturer |
---|---|---|
101 | 001 | Mr. Rahul |
102 | 001 | Mr. Rahul |
103 | 002 | Mr. Sumit |
104 | 002 | Mr. Sumit |
Explanation:
Primary Key:
(StudentID, CourseID) → Composite Primary Key
Partial Dependency:
Lecturer केवल CourseID, पर निर्भर करता है न की पूरी Primary key अर्थात (StudentID, CourseID) पर
अतः इसमें Partial dependency है।
Full functional dependency
Full functional dependency उस समय होता है जब एक non-key attribute, पूरे primary key पर निर्भर होता है न कि केवल उसके एक भाग पर। इसका मतलब है कि key में कोई attribute हटा दिया जाए तो key निर्भरता (dependency)को तोड़ देगा।Example:
StudentID | CourseID | Marks |
---|---|---|
101 | 001 | 80 |
102 | 001 | 90 |
103 | 002 | 79 |
104 | 002 | 88 |
Explanation:
Primary Key:
(StudentID, CourseID) → Composite Key
(StudentID, CourseID) → Composite Key
Marks, StudentID और CourseID दोनों पर एक साथ निर्भर करता है।
यदि हम इसमें से एक को अर्थात StudentID या CourseID को हटा देते है तो हम Marks को निर्धारित नहीं कर सकते।
चुकि Marks को पूरे key की जरूरत है अतः यह एक Full functional dependency है।
@@@@@@@@
@@@@@@@@
Transitive Functional Dependency
Database management में एक, Transitive dependency उस समय होता है जब एक non-key attribute अन्य non-key attribute पर एक primary key के माध्यम से निर्भर होता है, जिससे एक indirect relationship का निर्माण होता है।उदाहरण के लिए यदि attribute A, B को determines करता है, और B, C को determines करता है, तब A C को transitively determines करता है।
Example:
EmployeeID | ProjectID | ProjectName |
---|---|---|
101 | P01 | BotDetect |
102 | P02 | WebMonitor |
103 | P03 | DataGuard |
Explanation:
EmployeeID → ProjectID EmployeeID, ProjectID को निर्धारित करता है।
ProjectID → ProjectName
ProjectID, ProjectName को निर्धारित करता है।
इसलिए EmployeeID→ProjectName
अतः ProjectID के माध्यम से EmployeeID, ProjectName को निर्धारित करता है।
यह एक Transitive functional dependency है क्योंकि EmployeeID, ProjectName को ProjectID के द्वारा अप्रत्यक्ष रूप से निर्धारित करता है।
Multivalued Functional Dependency
Database management, में एक Multivalued dependency तब होता है जब table में एक attribute अन्य attribute के स्वतंत्र मानो को निर्धारित करता है।उदाहरण के लिए यदि A स्वतंत्र रूप से B और C की values तय करता है, तो A की B और C पर multivalued dependency होती है।
Example
Table में EmployeeID, Skills, और Project तीन attributes है, यदि EmployeeID, कई Skills और Projects को निर्धारित करता है तब EmployeeID की दोनो Skill और Project पर multivalued dependency होती है।
EmployeeID | Skills | Project |
---|---|---|
101 | C++ | ProjectA |
101 | Pythan | ProjectA |
101 | C++ | ProjectB |
101 | Pythan | ProjectB |
102 | SQL | ProjectC |
102 | PHP | ProjectC |
102 | SQL | ProjectD |
102 | PHP | ProjectD |
Explanation:
EmployeeID, कई Skills को निर्धारित करता है।
EmployeeID कई Projects को निर्धारित करता है।
Skills और Projects एक दूसरे से स्वतंत्र है।
EmployeeID, कई Skills को निर्धारित करता है।
EmployeeID कई Projects को निर्धारित करता है।
Skills और Projects एक दूसरे से स्वतंत्र है।
यह एक Multivalued Functional Dependency है जहां
EmployeeID →→ Skill and EmployeeID →→ Project.
0 टिप्पणियाँ