Domain Key Normal Form (DKNF) क्या है? | DKNF in Hindi


Database Normalization में जब हम 1NF, 2NF, 3NF, BCNF और 5NF तक पहुँच जाते है, तो उसके बाद एक और advanced level आता है Domain Key Normal Form (DKNF)

यह Normal Form बाकी सभी forms से अलग और अधिक कठोर (strict) होती है। इसका उद्देश्य database में सभी types की anomalies (विसंगतियों) को पूरी तरह खत्म करना है।

 

Domain Key Normal Form (DKNF) क्या है?

Domain Key Normal Form (DKNF) एक ऐसी highest-level normalization form है, जिसे Ronald Fagin ने 1981 में प्रस्तावित किया था। DKNF यह सुनिश्चित करती है कि database में जो भी constraint (सीमाएँ) हो वे सिर्फ दो चीज़ो से संबंधित हो –

  1. Domain constraints
  2. Key constraints

यानी कि अगर किसी टेबल में कोई भी rule या restriction है, तो वह या तो किसी column (domain) से संबंधित हो या किसी key से।

DKNF की परिभाषा –

कोई relation (टेबल) Domain Key Normal Form में तब होती है, जब उसके सभी constraints सिर्फ domain और key definitions से निकले हो।

इसका मतलब है कि –

  • Table में कोई ऐसा constraint मौजूद न हो जो domain या key के बाहर define किया गया हो।
  • हर dependency या rule domain और key के आधार पर explain किया जा सके।

 

Domain और Key Constraints क्या है?

Domain Constraints

Domain constraints यह तय करते है कि किसी column में किस प्रकार का data store किया जा सकता है।

उदाहरण –

  • Age column में केवल संख्यात्मक (numeric) value हो।
  • Email column में ‘@’ symbol ज़रूर हो।
  • Date_of_Birth केवल valid date format में हो।

Key Constraints

Key constraints यह तय करते हैं कि कौन सा attribute (column) unique होगा और null नही हो सकता।

उदाहरण –

  • Student_ID primary key है, इसलिए दो students का ID एक जैसा नहीं हो सकता।
  • Employee_ID हर row में unique रहेगा।

 

DKNF का उद्देश्य 

DKNF का मुख्य उद्देश्य यह है कि –

  • Database में किसी भी प्रकार की Insert, Update या Delete anomalies न रहे।
  • सभी नियम (constraints) स्पष्ट रूप से keys और domains द्वारा नियंत्रित हो।
  • किसी भी dependency को manually define करने की जरूरत न पड़े।

 

DKNF Example 

मान लीजिए हमारे पास एक टेबल है –

Student_IDNameCourseFee
101RamBCA25000
102PriyaMCA40000

अब मान लीजिए हमारे database में यह नियम है कि BCA course की fee हमेशा 25000 और MCA की 40000 होनी चाहिए। यह नियम न तो key constraint है और न ही domain constraint, यह एक business rule constraint है।

इसलिए यह table DKNF में नही है, क्योंकि इसमें ऐसा rule है जो domain और key से बाहर है।अगर हम इस rule को remove कर दे या इसे domain के अंदर define कर दे (जैसे Course के लिए fee domain में specify कर दे),
तो table DKNF में आ जाएगा।

 

DKNF की Conditions

किसी relation को DKNF में होने के लिए निम्न conditions पूरी करनी होती है –

  1. Relation के सभी constraints domain और key से derive होने चाहिए।
  2. कोई non-key dependency या business rule constraint नहीं होना चाहिए।
  3. Table में सभी dependencies logic के अनुसार key/domain से explain होनी चाहिए।

 

DKNF के फायदे 

  • Anomalies समाप्त होती हैं – Insert, Delete और Update समस्याएँ खत्म होती है।
  • Data Integrity बेहतर रहती है।
  • Constraints का नियंत्रण आसान हो जाता है।
  • Database Clean और Logical बन जाता है।

 

इन्हें भी पढ़े –

  1. DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
  2. डेटाबेस यूजर्स क्या है?
  3. डेटा इंडिपेंडेंस क्या है
  4. DBMS के लाभ
  5. Characteristics Of DBMS In Hindi
  6. डेटा मॉडल क्या है?
  7. डेटाबेस स्कीमा क्या है
  8. इंस्टैंस क्या है
  9. डेटाबेस इंटरफ़ेस क्या है
  10. डेटाबेस लैंग्वेज क्या है
  11. Classification of DBMS in Hindi
  12. Entity Set in DBMS
  13. DBMS Architecture in Hindi
  14. Types of Data Models in Hindi
  15. Attributes in DBMS in Hindi
  16. Entity Set in DBMS (Hindi)
  17. Entity Types in DBMS (Hindi)
  18. Types of Attributes in DBMS
  19. ER Model in DBMS (E-R मॉडल) क्या है?
  20. Entities के बीच संबंध
  21. Domain in DBMS
  22. Tuples in DBMS
  23. SQL में Joins क्या हैं?
  24. Primary Key in DBMS
  25. DBMS Keys in Hindi
  26. DBMS Data Integrity in Hindi
  27. Relational Algebra in DBMS
  28. Normalization in DBMS क्या है?
  29. BCNF (Boyce-Codd Normal Form) in DBMS
  30. Functional Dependency in DBMS
  31. Non-Loss Decomposition in DBMS
  32. SQL Data Types in Hindi
  33. Create Table in SQL in Hindi
  34. SQL DROP TABLE और ALTER TABLE in Hindi
  35. SQL Indexes in Hindi
  36. SDLC in Hindi
  37. DBLC in Hindi
  38. SQL Views in Hindi
  39. PL/SQL PROCEDURES in hindi
  40. Database Normalization in Hindi

 

निष्कर्ष (Conclusion)

Domain Key Normal Form (DKNF) normalization का सबसे ऊँचा स्तर है। इसका उद्देश्य है database को पूरी तरह error-free और logically consistent बनाना। हालांकि practically, ज़्यादातर databases 3NF या BCNF तक normalize किए जाते है, लेकिन DKNF एक ideal स्थिति है  जहाँ हर rule domain और key से नियंत्रित होता है।

Leave a Comment