2011-07-04 10 views
5

मुझे आश्चर्य है कि डेटाबेस मानचित्र और एसक्यूएल स्क्रिप्ट बनाने और बनाए रखने का सबसे अच्छा तरीका क्या है। मुझे पता है कि मैं पाठ संपादक पर हाथ से एसक्यूएल स्क्रिप्ट लिखने का एक प्रशंसक हूं (साथ ही पेपर के टुकड़े पर मेरे पास एक नक्शा तैयार करना), जबकि अन्य डेटाबेस मैप्स सॉफ्टवेयर (MySQL वर्कबेंच, विजुअल स्टूडियो) का उपयोग करना पसंद करते हैं ... कुछ this post में सूचीबद्ध) स्वचालित रूप से स्क्रिप्ट उत्पन्न करने के लिए।आप अपनी एसक्यूएल स्क्रिप्ट कैसे बनाते हैं और अपडेट करते हैं?

दोनों समाधानों में फायदे और कमी हैं। मैं इन फायदों देखें:

  • SQL स्क्रिप्ट हाथ द्वारा:
    1. तुम्हें पता है बिल्कुल आप जो लिखते हैं।
    2. आप एक स्वच्छ और आसानी से पठनीय एसक्यूएल कोड रखने में सक्षम हैं।
    3. कोड लिखना, आप अपने डेटाबेस विनिर्देशों का बेहतर दृश्य रखते हैं।
    4. कोड लिखना आपको अपने SQL ज्ञान का अभ्यास करने में सक्षम बनाता है।
  • स्वचालित रूप से तैयार किया गया मानचित्र से स्क्रिप्ट उत्पन्न:
    1. कुछ समय बचाता है।
    2. एसक्यूएल भाषा को जानने के बावजूद, आप एक स्क्रिप्ट उत्पन्न कर सकते हैं (भले ही मैंने इसे एसक्यूएल स्क्रिप्ट के हाथ से) के विपरीत लाभ के रूप में सूचीबद्ध किया हो।
    3. टाइपो रोकता है।

क्या आपको लगता है कि, किस तरह से आप आगे बढ़ते हैं करते हैं?

उत्तर

7

यदि कुछ स्वचालित करने से समय और मानव त्रुटि बचाती है तो आप ऐसा क्यों नहीं करेंगे? मैं स्वत: पैदा एसक्यूएल कोशिश करता है, तो होगा:

  1. मैं पहले से ही एक परीक्षण डेटाबेस आबादी थी और लेखन और क्रियान्वित करने तदर्थ एसक्यूएल गैर प्रश्नों जो मैं पर नज़र रखी नहीं किया था द्वारा एक कार्बनिक फैशन में स्कीमा का निर्माण किया; और
  2. तो डेटाबेस यथोचित सरल और सामान्यीकरण की एक कम राशि के साथ था

एक और दुर्लभ मामला है, तो आप डेटा सेट जिसके लिए स्कीमा एसक्यूएल के रूप में निकाले जाने की जरूरत है की एक विशाल सूची था हो सकता है ।

हाथ से लिखने के लाभ यह है कि आप डिज़ाइन के हर हिस्से से अवगत हैं और डेटा अखंडता को लागू करने में सक्षम हैं (उदाहरण के लिए विदेशी कुंजी के उपयोग या डेटा प्रकारों को सीमित करने के माध्यम से)। संक्षेप में, मैं आपकी पेशेवरों की सूची से सहमत हूं।

अपग्रेड स्क्रिप्ट के लिए मैं दृढ़ता से इन्हें हाथ से लिखना पसंद करता हूं क्योंकि वे आम तौर पर काफी कम होते हैं और उनके लिए उन लोगों के लिए अधिक पठनीय होना अच्छा होता है जो उन्हें चलाने के लिए समाप्त होते हैं।

अपग्रेड स्क्रिप्ट के लिए मेरे पास एक टिप यह सुनिश्चित करना है कि प्रत्येक स्क्रिप्ट एक तालिका में अपग्रेड संस्करण संख्या बताते हुए एक पंक्ति जोड़ती है जो डेटाबेस को सही ढंग से संस्करण सुनिश्चित करने के लिए विशेष रूप से वहां मौजूद है।की तरह कुछ:

INSERT INTO DB_VERSION (upgrade_time, version_from, version_to, comment) 
    VALUES ('2011-07-04T120320', '2.2.4', '2.3', 'add column x to table y.') 
+1

प्यार db_version विचार – Goran

+2

db_version (जो मैं भी उपयोग करें) एक और अधिक महत्वपूर्ण, उपयोग है। डीबी के लिए एक सरल अपग्रेड पथ की गारंटी के लिए इसकी आवश्यकता है। मैं आमतौर पर स्क्रिप्ट को अपग्रेड करता हूं जो केवल संस्करण एक्स से संस्करण वाई में अपग्रेड निष्पादित करता है और वर्तमान संस्करण की जांच करके ऐसा करता है। अगर मुझे पिछले संस्करणों से अपग्रेड करना है, तो मुझे अपग्रेड स्क्रिप्ट के सही अनुक्रम को निष्पादित करने की आवश्यकता है। – Frazz

संबंधित मुद्दे

 संबंधित मुद्दे