BCNF (Boyce-Codd Normal Form) in DBMS – आसान भाषा में समझें
Database को सही तरीके से व्यवस्थित (organized) और error-free बनाने के लिए Normalization तकनीक का प्रयोग किया जाता है। Normalization के अलग-अलग लेवल होते हैं – 1NF, 2NF, 3NF और BCNF (Boyce-Codd Normal Form)।
BCNF को 3NF का advanced और strict version कहा जाता है। इसे 3.5NF भी कहते हैं। इसका उद्देश्य है – redundancy (बार-बार data का दोहराव) को कम करना और data की integrity (सही और consistent रहना) को maintain करना।
BCNF क्या है? – BCNF (Boyce-Codd Normal Form) in DBMS
- BCNF, Third Normal Form (3NF) का extended रूप है।
- यह तब लागू होता है जब Functional Dependency (FD) के कारण anomalies (error या problem) database में आ रही हों।
- Simple शब्दों में, अगर किसी table में functional dependency इस नियम का पालन नहीं करती कि determinant हमेशा super key होना चाहिए, तो table BCNF में नहीं है।
Functional Dependency (FD) क्या है?
अगर किसी column (attribute) की value, दूसरे column की value को uniquely identify करे, तो इसे functional dependency कहते हैं।
- इसे arrow (→) चिन्ह से दिखाया जाता है।
- उदाहरण:
Roll_No → Name
इसका मतलब है कि Roll_No की हर value एक unique Name को identify करेगी।
BCNF के Rules
- Table पहले से 3NF में होना चाहिए।
- हर Functional Dependency (X → Y) में, X एक Super Key होना चाहिए।
Example: Non-BCNF Table
Student_ID | Course | Teacher |
---|---|---|
1 | Math | Mr. A |
2 | Science | Mr. B |
3 | Math | Mr. A |
Functional Dependencies
- Student_ID → Course
- Course → Teacher
यहाँ problem यह है कि Course → Teacher में “Course” super key नहीं है। इसलिए यह table BCNF में नहीं है।
BCNF में Convert करने के Steps
Step 1: Problematic FD को अलग करें
Course → Teacher dependency को अलग table में divide करें।
Step 2: नए Tables बनाए
अब हमारे पास दो tables होंगे –
Table 1 (Course-Teacher):
Course | Teacher |
---|---|
Math | Mr. A |
Science | Mr. B |
Table 2 (Student-Course):
Student_ID | Course |
---|---|
1 | Math |
2 | Science |
3 | Math |
इन्हें भी पढ़े –
- DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
- डेटाबेस यूजर्स क्या है?
- डेटा इंडिपेंडेंस क्या है
- DBMS के लाभ
- Characteristics Of DBMS In Hindi
- डेटा मॉडल क्या है?
- डेटाबेस स्कीमा क्या है
- इंस्टैंस क्या है
- डेटाबेस इंटरफ़ेस क्या है
- डेटाबेस लैंग्वेज क्या है
- Classification of DBMS in Hindi
- Entity Set in DBMS
- DBMS Architecture in Hindi
- Types of Data Models in Hindi
- Attributes in DBMS in Hindi
- Entity Set in DBMS (Hindi)
- Entity Types in DBMS (Hindi)
- Types of Attributes in DBMS
- ER Model in DBMS (E-R मॉडल) क्या है?
- Entities के बीच संबंध
- Domain in DBMS
- Tuples in DBMS
- SQL में Joins क्या हैं?
- Primary Key in DBMS
- DBMS Keys in Hindi
- DBMS Data Integrity in Hindi
- Relational Algebra in DBMS
BCNF क्यों जरूरी है?
- यह Data redundancy (duplicate data) को हटाता है।
- Database को anomalies (insertion, deletion, update problems) से बचाता है।
- Data हमेशा consistent और accurate रहता है।
निष्कर्ष
BCNF database normalization का एक advanced level है, जो हर functional dependency में यह सुनिश्चित करता है कि determinant एक super key हो। इससे database ज्यादा efficient, error-free और reliable बनता है।