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

फर्स्ट नॉर्मल फॉर्म (1NF)

1NF क्या है?

1NF DBMS में फर्स्ट नॉर्मल फॉर्म है, जिसे अननॉर्मलाइज्ड टेबल पर लागू करके इसे नॉर्मलाइज किया जाता है। एक अननॉर्मलाइज्ड टेबल में निम्नलिखित मुद्दे होते हैं जिन्हें एक आदर्श डेटाबेस डिजाइन प्राप्त करने के लिए टालने की आवश्यकता होती है:

अननॉर्मलाइज्ड टेबल के साथ समस्याएं

डेटा रिडंडेंसी (Data Redundancy)

एक ही डेटा आइटम को कई बार संग्रहीत करना डेटा रिडंडेंसी के रूप में जाना जाता है।

आइए एक उदाहरण देखें:

हमारे पास एक <Employee> टेबल है जिसमें कर्मचारियों के वर्तमान पते को संग्रहीत करने के लिए एक फील्ड है। इनमें से कुछ कर्मचारियों को कंपनी द्वारा रहने के लिए जगह दी गई है; इसलिए, उनका पता समान है। पता डेटाबेस में दोहराया जाएगा:

Table 1.1

EmpIDEmpNameEmpAddress
001Amit11, VA Street, New York
002Tom11, VA Street, New York
003David11, VA Street, New York
004Steve13, HG Block, Philadelphia
005Jeff13, HG Block, Philadelphia

इसे हल करने के लिए, कर्मचारी के पते को एक अलग टेबल में संग्रहीत करें और टेबल में पॉइंट करें।

अपडेशन एनोमली (Updation Anomaly)

यह तब होता है जब आप टेबल को अपडेट करते समय समस्याओं का सामना करते हैं।

Table 1.2

EmpIDEmpNameEmpAddressEmpDept
001Amit11, VA Street, New YorkA
002Tom11, VA Street, New YorkB
003Tom11, VA Street, New YorkC
004Steve13, HG Block, PhiladelphiaD
005Jeff27, ZR Block, VirginiaE

यदि हमें कर्मचारी Tom का पता अपडेट करने की आवश्यकता है, जो दो विभागों से है, तो हमें दो पंक्तियों को अपडेट करने की आवश्यकता है। यदि हम केवल एक पंक्ति अपडेट करते हैं, तो Tom के दो अलग-अलग पते होंगे जो डेटा में असंगति पैदा करेंगे।

डिलीशन एनोमली (Deletion Anomaly)

मान लीजिए कंपनी विभाग D को बंद करने का फैसला करती है, तो पंक्ति का डिलीशन कर्मचारी Steve के डेटा को भी डिलीट कर देगा।

इंसर्शन एनोमली (Insertion Anomaly)

यह तब होता है जब आप किसी ऐसे रिकॉर्ड में डेटा डालने का प्रयास करते हैं जो मौजूद नहीं है।

नॉर्मलाइजेशन उपरोक्त सभी मुद्दों/एनोमली को हटा देता है और आपको एक नॉर्मलाइज्ड परफेक्ट डेटाबेस डिजाइन देता है जिसे एक डेटाबेस एडमिनिस्ट्रेटर पसंद करता है।

आइए देखें कि फर्स्ट नॉर्मल फॉर्म (1NF) का उपयोग करके डेटा को कैसे नॉर्मलाइज किया जाए।

क्यों 1NF

फर्स्ट नॉर्मल फॉर्म (1NF) डेटा रिडंडेंसी के मुद्दे और डेटाबेस की एनोमली को हटाने में उपयोगी है जैसा कि उपरोक्त अनुभाग में दिखाया गया है। 1NF में सभी एट्रिब्यूट के एटॉमिक डोमेन होने चाहिए। यदि यह एटॉमिक नहीं है, तो आपके डेटाबेस का डिजाइन खराब है। यह नॉर्मलाइजेशन में पहला कदम है।

इसलिए, एक टेबल के नॉर्मलाइज्ड फॉर्म में होने का सबसे महत्वपूर्ण नियम यह है कि इसमें केवल एटॉमिक मान होने चाहिए।

उदाहरण

नीचे दिए गए उदाहरण में एक टेबल है जिसमें हर कॉलम एटॉमिक मानों से बना है, सिवाय DeptRole कॉलम के। इसलिए, DeptRole कॉलम विभाग A, B, और C के लिए एटॉमिक मान नियम का उल्लंघन करता है।

Table 1.3

DeptIdDeptNameDeptRole
001AFinance, HR
002BProgramming, Networking
003CManagement, Marketing
004DOperations

आइए अब इसे सही करें और 1NF में बदलें:

DeptIdDept NameDeptRole
001AFinance
001AHR
002BProgramming
002BNetworking
003CManagement
003CMarketing
004DOperations

अब उपरोक्त टेबल 1NF में है और हमारे पास हर कॉलम में एटॉमिक मान हैं।

  1. सेकंड नॉर्मल फॉर्म (2NF) सेकंड नॉर्मल फॉर्म (2NF)

    2NF क्या है? नॉर्मलाइजेशन में दूसरा चरण 2NF है। एक टेबल 2NF में है, केवल तभी जब एक रिलेशन 1NF में है और सभी नियमों को पूरा करता है, और हर नॉन-की एट्रिब्यूट प्राइमरी की पर फुली डिपेंडेंट है। सेकंड नॉर्मल फॉर्म प्राइमरी की पर पार्शियल डिपेंडेंसी को समाप्त करता है। आइए एक उदाहरण देखें: उदाहरण (टेबल 2NF

  1. थर्ड नॉर्मल फॉर्म (3NF) थर्ड नॉर्मल फॉर्म (3NF)

    3NF क्या है?नॉर्मलाइज़ेशन में तीसरा चरण 3NF है।एक टेबल 3NF में तभी होती है जब रिलेशन 2NF में हो और उसमें कोई ट्रांजिटिव फंक्शनल डिपेंडेंसी न हो।आइए एक उदाहरण देखें:उदाहरण (टेबल 3NF का उल्लंघन करती है)<MovieListing>Movie_IDListing_IDListing_TypeDVD_Price ($)0089007Comedy1000090003Action15000910

  1. Windows में MySQL तालिका डेटा कहाँ संग्रहीत होता है? Windows में MySQL तालिका डेटा कहाँ संग्रहीत होता है?

    Windows में MySQL तालिका डेटा की डिफ़ॉल्ट संग्रहण स्थान जानने के लिए @@datadir सिस्टम वेरिएबल या SHOW VARIABLES कमांड का उपयोग करें। विधि 1: @@datadir वेरिएबल SELECT @@datadir; आउटपुट: +---------------------------------------------+ | @@datadir | +----------------