तिसरा सामान्य फॉर्म (3 एनएएफ) एक डेटाबेस सिद्धांत आहे जो प्रथम सामान्य फॉर्म (1 एनएफ) आणि सेकंद नॉर्मल फॉर्म (2 एनएएफ) द्वारे प्रदान केलेल्या डेटाबेस सामान्यीकरण तत्त्वांवर तयार करून डेटाच्या एकात्मतेस समर्थन करतो.
तृतीय सामान्य फॉर्म आवश्यकता
तिसर्या सामान्य स्वरूपातील डेटाबेससाठी दोन मूलभूत आवश्यकता आहेत:
- डेटाबेसने आधीपासूनच 1 एनएफ आणि 2 एनएएफ दोन्ही आवश्यकता पूर्ण करणे आवश्यक आहे.
- सर्व डेटाबेस स्तंभ प्राथमिक कीवर अवलंबून असणे आवश्यक आहे, म्हणजे कोणत्याही स्तंभाचे मूल्य केवळ प्राथमिक कीवरून घेतले जाऊ शकते.
प्राथमिक की अवलंबनाच्या बद्दल
चला सर्व गोष्टी शोधून बघ
एखाद्या स्तंभाचे मूल्य प्राथमिक की आणि टेबलमधील दुसर्या स्तंभातून मिळू शकते, तर ते 3NF चे उल्लंघन करते या स्तंभांसह कर्मचारी टेबलचा विचार करा:
- EmployeeID
- पहिले नाव
- आडनाव
LastName आणि FirstName दोन्ही केवळ एम्प्लॉइआयडीच्या मूल्यावर अवलंबून आहेत का? मग, LastName FirstName वर अवलंबून असू शकते? नाही, कारण LastName मध्ये काहीही अंतर्भूत नसल्याने FirstName चे मूल्य सूचित होईल प्रथमनाम LastName वर अवलंबून असू शकते? पुन्हा नाही, कारण ते खरे आहे: जे अंतिम नाव असू शकते, ते FirstName चे मूल्य म्हणून इशारा देऊ शकत नाही. म्हणून, हे टेबल 3 एनएफ सहत्व आहे.
परंतु या वाहनांच्या टेबलचा विचार करा:
- वाहन आयडी
- निर्माता
- मॉडेल
निर्माता आणि मॉडेल व्हेईलाइड कडून मिळू शकले - परंतु मॉडेल देखील उत्पादककडून मिळवू शकले कारण वाहन मॉडेल एका विशिष्ट उत्पादकानेच बनविले आहे. हे टेबल डिझाइन गैर-3 एनएफ सहत्व आहे, आणि यामुळे डेटा विसंगती होऊ शकतात. उदाहरणार्थ, आपण मॉडेल अद्ययावत न करता निर्माता सुधारित करू शकता, अयोग्यता ओळख
हे सहकार्य करण्यासाठी, अतिरिक्त अतिरिक्त स्तंभ दुसर्या टेबलमध्ये हलविण्यासाठी आणि परदेशी किल्ली वापरून संदर्भ द्यावा लागेल. हे दोन सारण्या करेल:
वाहने सारणी
खालील तक्त्यात, मॉडेलआयडी मॉडेल टेबलसाठी परदेशी की आहे:
- वाहन आयडी
- निर्माता
- ModelID
मॉडेल टेबल
उत्पादकांना हे नवीन सारणी नकाशे मॉडेल आपण एखाद्या मॉडेलसारखी कोणतीही वाहन माहिती अपडेट करू इच्छित असल्यास, आपण या वाणीत टेबल सारखी करू शकता
- ModelID
- निर्माता
- मॉडेल
3 एनएफ़ मॉडेलमध्ये तयार केलेली फील्ड
सारणीमध्ये एक व्युत्पन्न केलेले फील्ड असू शकते - जे सारणीत इतर स्तंभांवर आधारित गणना केलेले आहे. उदाहरणार्थ, विजेट ऑर्डरची ही सारणी विचारात घ्या:
- मागणी क्रमांक
- ग्राहक क्रमांक
- युनिट मूल्य
- प्रमाण
- एकूण
एकूण 3 एनएफ अनुपालन तोडले कारण हे प्राथमिक कीवर पूर्णपणे अवलंबून राहण्याऐवजी, प्रमाणानुसार युनिट किंमतीला गुणाकार करून मिळवता येते. तिसर्या सामान्य फॉर्मची पूर्तता करण्यासाठी आपण ते टेबलमधून काढून टाकणे आवश्यक आहे.
खरेतर, ते मिळालेले असल्याने, ते सर्व डाटाबेसमध्ये साठवून ठेवणे चांगले.
डेटाबेस क्वेरी केल्यावर आम्ही फक्त "फ्लाइट वर" याची गणना करू शकता उदाहरणार्थ, आम्ही क्रमवार संख्या आणि एकूण प्राप्त करण्यासाठी कदाचित या क्वेरीचा वापर केला असावा:
सिलेक्ट ऑर्डर नंबर, एकूण विजेट ऑर्डरआम्ही आता खालील क्वेरी वापरू शकतो:
सिलेक्ट ऑर्डर नंबर, युनिट पीईसी * मात्रा म्हणून एकूण विजेट ऑर्डरसामान्यीकरण नियमांचे उल्लंघन केल्याशिवाय समान परिणाम साध्य करण्यासाठी