2009-03-29 17 views
9

एक प्रोग्रामर के रूप में मैं लेखन प्रश्नों पर एक मजबूत पकड़ प्राप्त करना चाहता हूं। मेरे कॉलेज के वर्षों में मैंने कुछ एसक्यूएल किताबें पढ़ी हैं और बाकी मैंने पिछले कुछ सालों से प्रोग्रामर के रूप में काम करना सीखा है। लेकिन जैसा कि उन प्रश्नों से संबंधित काम थे ... वे 'कठिन' या जटिल नहीं थे।एसक्यूएल प्रश्नों के साथ अच्छा पाने का सबसे अच्छा तरीका

आप क्या सुझाव देंगे? क्या कोई अच्छी उन्नत एसक्यूएल पुस्तक है जो कुछ प्रश्न देकर ज्ञान का परीक्षण करेगी और फिर परीक्षण करेगी?

धन्यवाद!

+0

उपयोग LINQ, और पिछड़े एसक्यूएल स्ट्रिंग मान ;-) –

उत्तर

17

आईएमएचओ एसक्यूएल कौशल, किसी अन्य प्रोग्रामिंग कौशल से अधिक, को सलाह देने की आवश्यकता है।

तीन प्राथमिक कारण हैं।

  1. एसक्यूएल कथन लिखना काफी संभव है (अक्सर आसान) जो आपको सही उत्तर देता है। तो डेवलपर्स अक्सर खुद को बताते हैं "अरे, यह काम करता है, (और सभी एक कथन में,) मैं कर रहा हूं।" आमतौर पर ऐसा नहीं होता है, और अगले चरण को लेने का एकमात्र प्रभावी तरीका यह है कि आपके काम की समीक्षा की जाए और सुझाव प्राप्त करें (और सुझावों के कारण)।

  2. कौशल "नियमित" प्रोग्रामिंग से स्थानांतरण के रूप में लगभग नहीं हैं जैसा कि आप उम्मीद कर सकते हैं। अपघटन, subroutines, आदि जैसे सिद्धांत आमतौर पर अंधेरे गलियों हैं।

  3. असली SQL कौशल के लिए उतना ही परीक्षण कौशल की आवश्यकता होती है। आप अपने एसक्यूएल क्वेरी विश्लेषण उपकरण को अंदर से जानकर और लगभग हर क्वेरी पर असफल होने के बिना उनका उपयोग करके SQL निष्पादन का सही मूल्यांकन कर सकते हैं।

तो आपके प्रश्न का उत्तर यह है: जितनी जल्दी हो सके उतनी जल्दी सहायता करें। और "क्यों" पूछने के लिए अनिच्छुक मत बनो।

+0

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

+0

सहमत, कोई सवाल नहीं। मुझे लगता है कि उन्हें छोड़कर एसक्यूएल के साथ आपको गहरी परेशानी होती है, हालांकि, यह ध्यान देने में अधिक समय लगता है कि पहिये गिर रहे हैं। – dkretz

+2

अच्छा जवाब, सिवाय इसके कि - अगर आपको सलाह देने के लिए कोई नहीं है तो आप क्या करते हैं? –

1

मुझे पता चला है कि टॉम साइट ने मुझे यह समझने में मदद की है कि आप उन्नत एसक्यूएल के साथ क्या कर सकते हैं। यह ओरेकल विशिष्ट है, लेकिन कड़वाहट से व्यंग्यात्मक और भयानक है!

Ask Tom

इसके अलावा, अपने डेटाबेस प्रशासकों से बात (यदि आप किसी भी है तो) वे अनुभव आप का उपयोग कर सकते के बहुत सारे है।

0

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

3

मैंने हमेशा महसूस किया है कि एसक्यूएल ऐसा कुछ था जिसे आपको करना सीखना था। मैंने एक परियोजना पर अपना आत्म पाया जो मुझे एसक्यूएल लिखने के लिए मजबूर करता था, काफी हद तक बड़े डेटाबेस के हर पहलू का विश्लेषण करने के लिए कई हफ्तों तक नहीं रुकता था। कई सिद्धांतों में मैंने कई एसक्यूएल लिखा है कि सभी के परिणाम एक ही परिणाम में थे लेकिन उन्हें विभिन्न तरीकों से प्राप्त करने के बारे में बताया गया। एसक्यूएल सर्वर प्रबंधन स्टूडियो के निष्पादन पथ उपकरण का उपयोग करके मैं क्वेरी विकल्पों की समीक्षा करने और प्रत्येक में सुधार करने और अंततः स्थिति के लिए "सर्वश्रेष्ठ" चुनने में सक्षम था। यदि आप एसक्यूएल I का एक गुच्छा लिखने का कोई कारण या उद्देश्य ढूंढ सकते हैं, तो डीबी से दुग्ध डेटा की कला सीखने के लिए आप सबसे अच्छे उत्प्रेरक होंगे।

3
  1. सेट सिद्धांत
  2. डेटाबेस सिद्धांत, esp।सामान्य के नियमों
  3. सीखें कि कैसे एक प्रश्न कार्य योजना लागू करके
0

यह आश्चर्यजनक है कि कैसे वैज्ञानिक विधि कई अलग अलग क्षेत्रों के लिए अधिक किया जाता है यह पढ़ने के लिए। संदेह में, वैज्ञानिक विधि का प्रयोग करें।
आपकी क्वेरी बनाने के लिए एक प्रश्न पूछें (मैं कैसे एसक्यूएल में अच्छा मिलता है?)

Do Background Research (Research the topic) 

Construct a Hypothesis  (If I research and practice a lot of different methods, test them, and ask for advice from peers, then I will be good at sql!) 

Test Your Hypothesis by Doing an Experiment (Do it and see if it works!) 

Analyze Your Data and Draw a Conclusion 
    (Did it work, and what happened) 

Communicate Your Results 
    (Tell us how you got good so we can get good too) 
+0

हाँ सही ..... नज़दीक टिप्पणी पर्याप्त है मुझे संदेह है – Caribou

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