मी माझे डेटाबेस सामान्य करावे?

रिअल वर्ल्ड मध्ये सामान्यीकरण

डेटाबेस सामान्यीकरण अनुप्रयोग विकास पवित्र गायी आहे. प्रत्येक अंडरग्रॅज्युएट प्रोग्रॅमिंग कोर्स आपण घेतलेला आहे किंवा आपण वाचलेले पुस्तक कदाचित सामान्यीकृत डाटाबेसचे महत्व प्रकट करते .

हे सत्यवाद आव्हान करण्याची वेळ आली आहे काहीवेळा तो आपल्या डेटाबेस denormalize ठीक आहे!

आपण सामान्य कधी असावेत?

डेटाबेस सामान्यीकरण आपल्या डेटाच्या एकाग्रतेचे रक्षण करते. बर्याच बाबतीत ही एक चांगली कल्पना आहे आणि आपण कोणत्याही डेटाबेस डिझाइन करण्याचा प्रयत्न नेहमी लक्षात घेऊन केला पाहिजे. जर आपण आपल्या डेटाबेसचे सामान्यीकरण करू शकता, तर त्यासाठी जा. खरं तर, या साइटवर आपला डेटाबेस कसा सामान्य कसा करायचा याबद्दल येथे काही व्यावहारिक सल्ला दिला आहे:

खालची ओळ अशी आहे की आपण आपल्या डेटाबेसला सामान्य बनवायला हवे जोपर्यंत आपल्याला असे करणे पुरेसे चांगले कारण नाही. साधारणपणे सामान्यतः ध्वनी रचना सराव असते. हे अपरिहार्य माहिती कमी करते, कार्यक्षमतेला अनुकूल करते आणि आपल्याकडे डेटा एकाग्रता समस्यांसारखी शक्यता कमी होते ज्यामुळे आपल्या डेटाबेसमधील विविध कोपरांमध्ये समान डेटा येत असेल.

काही चांगले कारणे नॉर्मल करणे नाही

तुमच्या डेटाबेसचे सामान्यीकरण न करण्याच्या काही चांगल्या कारणे आहेत. चला काही बघूया:

  1. सामील होतात महाग आहेत . आपल्या डेटाबेसचे सामान्यकरण मध्ये बरेचदा बरेच सारण्या तयार करणे समाविष्ट असते. खरं तर, आपण सहजपणे विचार करू शकता की पाच किंवा 10 टेबलांपर्यंत एक साधी क्वेरी लिहिली पाहिजे. आपण कधीही पाच-टेबलमध्ये सहभागी होण्याचा प्रयत्न केला असेल तर आपल्याला हे समजते की हे तत्त्वतः कार्य करते, परंतु सरावाने ते फारच धीमे आहेत. आपण मोठ्या टेबलच्या विरूद्ध एकाधिक-जोडण्या क्वेरींवर अवलंबून असणार्या वेब अनुप्रयोग तयार करत असल्यास, आपण स्वत: ला विचारू शकता की "केवळ हा डेटाबेस सामान्यीकृत नाही!" जेव्हा आपण आपल्या डोक्यात हा विचार ऐकता तेव्हा हा एक चांगला वेळ आहे अपकीर्ती करण्यावर विचार करा आपण त्या क्वेरीद्वारे वापरलेल्या सर्व डेटा एकाच टेबलमध्ये चिकटवू शकत नसल्यास आपल्या डेटा एकाग्रताला धोकादायक बनवू शकता, त्यासाठी जा! बंडखोर बना आणि आपल्या डेटाबेसचे मूल्यनिर्धारण करा. आपण मागे पाहू शकणार नाही!
  2. सामान्य डिझाइन कठीण आहे . आपण जटिल डेटाबेस स्कीमासह कार्य करत असल्यास, आपण कदाचित सामान्यीकरण प्रक्रियेच्या जटिलतेपेक्षा आपल्या डोक्यावर टेबलाशी जुळवून घ्याल. थंबच्या सोप्या नियमाप्रमाणे, जर आपण चौथ्या सामान्य फॉर्मवर कसे जायचे हे ठरविण्याचा सर्व दिवस प्रयत्न करीत असाल, तर आपण कदाचित खूप दूरगामी बनू शकाल. मागे जा आणि स्वत: ला विचारात घ्या की खरोखरच चालू आहे का?
  1. जलद आणि गलिच्छ जलद आणि गलिच्छ असावा आपण फक्त एक प्रोटोटाइप विकसित करत असल्यास, जे काही लवकर कार्य करते ते करा. खरोखरच ठीक आहे. रॅपिड अॅप्लिकेशन डेव्हलपमेंट कधीकधी मोहक डिझाइनपेक्षा अधिक महत्वाचे आहे. परत एकदा लक्षात ठेवा आणि एकदा आपण प्रोटोटाइप टप्प्याच्या पलीकडे जाण्यासाठी सज्ज झाल्यावर आपल्या डिझाइनकडे लक्ष द्या. एक द्रुत आणि गलिच्छ डेटाबेस डिझाइनसाठी आपण देय किंमत ही आपल्याला तो फेकून देण्याची आवश्यकता असू शकते आणि उत्पादनासाठी तयार करण्याची वेळ असते तेव्हा प्रारंभ करणे आवश्यक आहे.
  2. आपण NoSQL डेटाबेस वापरत असल्यास , पारंपारिक सामान्यीकरण घेणे हितावह नाही. त्याऐवजी, BASE मॉडेल वापरून आपल्या डेटाबेसची रचना करा जे अधिक क्षमाशील आहे. हे उपयोगी आहे जेव्हा आपण असंरक्षित केलेला डेटा जसे की ईमेल, प्रतिमा किंवा व्हिडिओ संचयित करीत असता.

खबरदारी काही शब्द

डेटाबेस सामान्यीकरण साधारणपणे एक चांगली कल्पना आहे असे करणे योग्य वाटत असेल तेव्हा आपण सामान्यीकरण तत्त्वांचे अनुसरण करण्याचा प्रयत्न करावा. परंतु जर सर्व निर्देशक हे सांगण्याची अंमलबजावणी करण्यासाठी सामान्यीकरण करणे फारच क्लिष्ट आहे, तर आपल्या डेटाचे संरक्षण करीत असताना नोकरीला मिळेल असे एक दृष्टिकोन विचारात घ्या.

अखेरीस - जर आपण सामान्यीकरण नियमांपासून भटकण्याची निवड केल्यास, आपण डेटाबेस एकाग्रता कशी लागू कराल याबद्दल अधिक सावध रहा. आपण अनावश्यक माहिती संग्रहित केल्यास, ट्रिगर्स आणि अन्य नियंत्रणे ठेवण्यासाठी सुनिश्चित करा की माहिती सातत्यपूर्ण आहे.