2009-02-24 15 views
8

मुझे अभी एप्लिकेशन के लिए एक अच्छा विचार मिला है, लेकिन इसमें कुछ डेटाबेस कार्य और केंद्रीय सर्वर शामिल होगा।मुझे डेटाबेस सीखने के साथ कहां से शुरू किया जाना चाहिए?

मैंने पहले कभी डेटाबेस या सर्वर के साथ काम नहीं किया है। शुरुआती के लिए कुछ सलाह डेटाबेस क्वेरी भाषाएं क्या हैं? जिन भाषाओं में मैं अभी काम करता हूं वे सी #, सी ++, पर्ल और पायथन हैं, लेकिन मुझे कोई परवाह नहीं है कि मुझे एक और भाषा सीखनी है (जो हमेशा मजेदार होती है)।

  • मुझे किस भाषा का उपयोग करना चाहिए?
  • मैं सर्वर के साथ कैसे काम करूंगा?
  • यदि मैं अपने प्रोग्राम को वितरित करता हूं और सर्वर के रूप में अपने नेटवर्क पर कंप्यूटर का उपयोग करता हूं तो क्या यह सुरक्षा छेद खोलता है? यदि हां, तो मुझे इससे कैसे निपटना चाहिए?
  • और मैं सर्वर कैसे सेटअप करूं, बस इंस्टॉलर डाउनलोड करें और इसे चलाएं?
+1

@jimi, क्या आप अनुभवी हैं? –

+1

@ पॉल: क्या में? क्या आप थोड़ा सा विस्तार नहीं करना चाहिए? – GEOCHET

+5

@Rich - जाहिर है आप 60 के दशक के संगीत को अच्छी तरह से नहीं जानते हैं। –

उत्तर

5

एसक्यूएल जानें।

अपने सीखने सर्वर के रूप में SQLite डाउनलोड करें।

यह आपको शुरू कर देगा।

एक बार जब आप SQL सीख चुके हैं, तो आप अन्य प्रश्नों पर जा सकते हैं।

मैं सर्वर के साथ कैसे काम करूंगा? MySQL या पोस्टग्रेज़ अच्छे, सस्ती विकल्प होंगे। ओरेकल, एमएस एसक्यूएल/सर्वर और डीबी 2 अच्छे महंगे विकल्प हैं।

यदि मैं अपने प्रोग्राम को वितरित करता हूं और सर्वर के रूप में अपने नेटवर्क पर कंप्यूटर का उपयोग करता हूं तो क्या यह सुरक्षा छेद खोलता है?

यह एक बड़ा विषय है। व्यापक रूप से उपयोग की जाने वाली भेद्यता सूचियों में से एक के साथ शुरू करें। यहां कुछ पॉइंटर्स दिए गए हैं: http://homepage.mac.com/s_lott/iblog/architecture/C465799452/E20090124205231/index.html

+1

SQLite एक सर्वर नहीं है। – skypher

+2

@skypher: यह बहस योग्य है। यह एसक्यूएल सेवा प्रदान करता है। यह एक बड़ी, जटिल, हेवीवेट मुक्त चलने वाली प्रक्रिया नहीं है (या विंडोज़ "सेवा")। चूंकि यह SQL सेवा प्रदान करता है, यह सर्वर कैसे नहीं है? –

+0

हालांकि यह एक अंग्रेजी भाषा में बहस योग्य है, यह वास्तव में कंप्यूटर इंजीनियरिंग में "सर्वर" के उपयोग को प्रतिबिंबित नहीं करता है; एक एम्बेडेड लाइब्रेरी (SQLite) निश्चित रूप से उस अर्थ के तहत नहीं आती है। वास्तव में यह एक मुद्दा यह है कि दृढ़ता से अन्य एसक्यूएल सिस्टम से SQLite अलग करता है। – skypher

1

मुझे सलाह है कि आप .NET फ्रेमवर्क पर सी # से शुरू करें और एमएस एसक्यूएल सर्वर का उपयोग करें।

सबसे पहले, आपको get started with databases की आवश्यकता होगी। http://msdn.microsoft.com/en-us/library/aa256841.aspx

MS SQL Express आप जैसे लोगों के आप सीखने या मूल्यांकन कर रहे हैं थोड़ी देर के लिए एक नि: शुल्क संस्करण है:

यहाँ एमएस एसक्यूएल के साथ शुरू करने के लिए एक महान जगह है।

विजुअल स्टूडियो में सीखने के लिए express edition भी है।

इसके लिए आपके सीखने की आवश्यकता होगी Transact SQL, जो SQL का एक संवर्द्धन है।

यदि आप SQL सुरक्षा के बारे में चिंतित हैं तो वहां कुछ good articles हैं।

+0

उस साइट के बारे में बात यह है कि यह मुझे विषय के आधार पर किताबों के लिए निर्देशित करता है ... और मुझे नहीं पता कि उस सामान का क्या मतलब है –

+0

@ जिमी: आप यहां कुछ और बुनियादी प्राइमर पा सकते हैं: http://msdn.microsoft.com/ en-us/data/aa937718.aspx – GEOCHET

+0

आप उत्पादन चलाने के लिए संभावित रूप से एसक्यूएल सर्वर एक्सप्रेस का उपयोग कर सकते हैं। मुझे लाइसेंस में कुछ भी नहीं दिख रहा है जो आप कह सकते हैं। अगर मुझे गलत है तो कृपया मुझे सही करें –

2

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

मुझे यकीन नहीं है कि आप सर्वर के साथ कैसे काम करेंगे, इस बारे में मुझे यकीन नहीं है, लेकिन मुझे लगता है कि आप डेटाबेस के विकास/निर्माण के बारे में पूछ रहे हैं, SQL सर्वर के साथ यह डेटाबेस प्रबंधित करने के लिए क्लाइंट प्रोग्राम है जबकि MySQL के साथ प्रबंधन के लिए एक ओपन सोर्स PHP उपकरण है।

सुरक्षा का सवाल है, डेटाबेस बहुत सुरक्षित हैं अगर वे कॉन्फ़िगर किया गया है सही ढंग से, मैं डेटाबेस मंच है कि आपके पास यह चयनित अंत के लिए विन्यास लेख पर पढ़ने का सुझाव।

0

मैं SQL पहले सीखने की सलाह देते हैं। ऐसा करने का सबसे आसान तरीका है यदि आपके पास पहुंच है तो एक्सेस का उपयोग करना है। इस तरह आप पूरी तरह से एसक्यूएल वाक्यविन्यास और कोड सीखने पर ध्यान केंद्रित कर सकते हैं। सबसे अच्छा नमूना डेटाबेस और प्रश्न हैं जो आप देख सकते हैं। इसके अलावा आप एक जीयूआई का उपयोग कर प्रश्नों को एक साथ रख सकते हैं और फिर परिणामी एसक्यूएल कोड देख सकते हैं।

जब आप SQL के साथ अच्छे हैं, आप तो देख सकते हैं जो डेटाबेस पर आप उपयोग करना चाहते। यदि आप 'फ्री सॉफ्टवेयर की तलाश में हैं' डेवलपर की तरह हैं तो आप MySQL देख सकते हैं। अन्यथा मैं माइक्रोसॉफ्ट एसक्यूएल सर्वर की सिफारिश करता हूं।

यदि आप MySQL का उपयोग करते हैं तो पर्ल प्रारंभ करने के लिए एक आसान भाषा है। यदि आप एक अच्छा जीयूआई चाहते हैं हालांकि आप सी # या वीबी.नेट चाहते हैं।

-1

आप एक वेब एप्लिकेशन पर काम कर रहे हैं, तो मैं सुझाव है कि आप रेल ट्यूटोरियल पर रूबी के माध्यम से जा शुरू करते हैं। डेटाबेस मॉडल के लिए इतना सारणित और इतना अच्छी तरह से बाध्य है कि एसक्यूएल लगभग पूरी तरह से फैक्टर हो गया है और आप बस अपने व्यापार मॉडल के संदर्भ में सोचते हैं।

यदि आप किसी एप्लिकेशन पर काम कर रहे हैं, तो मैं समझता हूँ कि सी # कुछ प्रणाली है या तो कुछ बाध्यकारी प्रणाली या SQL सीखने को मिलता है (LINQ?) है कि जीवन आप के लिए आसान बना सकता है ...

+0

मैं आपके जैसे आरओआर प्रशंसक के रूप में बड़ा हूं लेकिन रेल में कुछ चीजें तब तक समझ में नहीं आती जब तक कि आप संबंध सिद्धांत के मूलभूत सिद्धांतों को समझ नहीं लेते। – Alan

+0

मैंने कहा था कि आपको एसक्यूएल सीखना नहीं था, यह वास्तव में कठिन हिस्सा है। तालिका संबंधों से निपटना इतना बुरा नहीं है, यह अच्छा ओओ प्रोग्रामिंग की तरह है, और यहां तक ​​कि यह सरलीकृत है क्योंकि RoR डोमेन ऑब्जेक्ट्स से संबंधित है और आपके लिए डेटाबेस ओओ बनाता है। –

1

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

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

आपके प्रश्न का अंतिम भाग उत्तर देना असंभव है। किसी नेटवर्क पर होस्ट किए गए किसी भी एप्लिकेशन में विभिन्न सुरक्षा चिंताओं को खुलता है। अधिक जानकारी की आवश्यकता होगी, और उम्मीद है कि डेटाबेस के बारे में कुछ सीखकर आप अपने लिए कुछ जवाब दे पाएंगे।

0

सीखना एसक्यूएल, ओ रेली लगभग किसी भी डेटाबेस काम करता है, एसक्यूएल सर्वर, MySQL, postgree उन सभी को एक अच्छा तरीका शुरू करने के लिए कर रहे हैं। आपको शायद अजगर के साथ शुरू करना चाहिए। सी # आपको सोचने देगा 'तो मैं यहां और यहां क्लिक करता हूं, अगला, अगला, समाप्त करें और मैं डेटाबेस से जुड़ा हूं' और जब आप माइक्रोसॉफ्ट की लिपि से कुछ अलग करने की कोशिश करते हैं तो आपको मुश्किल समय लगाना होगा बाहर माइक्रोसॉफ्ट के विज़ार्ड आपके कोड के साथ किया है। दूसरी तरफ सी # के साथ काम करने से काम पूरा हो सकता है (बुरी तरह से किया जाता है) जो प्रोग्रामिंग के बारे में पहला नियम है, इसलिए मूल रूप से जो कुछ भी आप चाहते हैं (लेकिन मैं पाइथन और माइस्क्ल की सलाह देता हूं)।

दूसरे प्रश्न के बारे में, यदि आप अपना आवेदन ऑनलाइन करना चाहते हैं तो आप हमेशा सर्वर के साथ काम करेंगे (यह सिर्फ एक मामला है)।

तीसरा सवाल के बारे में है, तो आप हमेशा खुला सुरक्षा संबंधी दोषों को आप ऑन लाइन आप इस के साथ सौदा काम करेंगे जब, पहले, अपने कार्यक्रम बनाने और उसके बाद अपने सुरक्षा खामियों studding।

0

आपको डेटाबेस मॉडलिंग के बारे में जानना चाहिए, विशेष रूप से एंटीटी-रिलेशन मॉडल। एसक्यूएल सिर्फ संबंधपरक डेटाबेस से बात करने की तकनीक है, और यह आसान है, लेकिन यह जानना कि आपके आवेदन की डेटा आवश्यकताओं को पूरा करने के लिए अपनी आवश्यकताओं को कैसे डिजाइन करना है, और एक सुविधाजनक तरीके से (यानी कम से कम दूसरे सामान्य रूप में) आपको बचाएगा बहुत परेशानी

2

E-R Modeling से शुरू करें और फिर आप एसक्यूएल सीखने के संसाधन के लिए एसक्यूएल सीखना शुरू कर सकेंगे, मैं वास्तव में आपको SQLZoo: A gentle Introduction to SQL की सलाह देता हूं, यह एक बहुत अच्छा इंटरैक्टिव ट्यूटोरियल है।

0

मुझे लगता है कि यदि आप डेटाबेस के साथ काम करेंगे तो आपको SQL भाषा को जानने की आवश्यकता है। एसक्यूएल सीखने के लिए एक अच्छी किताब O'Reilly के Learning SQL, second edition है।

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

+0

मैंने कभी भी SQLite का उपयोग नहीं किया है ... लेकिन यह एक सर्वर का उपयोग न करने के बारे में एक अच्छा मुद्दा है ... इस तरह का अनुकरण करता है कि आप अकादमिक सेटिंग में एसक्यूएल कैसे सीखेंगे। – dotjoe

+0

आपको डेटाबेस के साथ काम करने के लिए एसक्यूएल सीखने की आवश्यकता नहीं है। – skypher

-3

मैं किस भाषा का उपयोग करना चाहिए?

Common Lisp आप एक शिक्षाप्रद अनुभव के लिए कर रहे हैं और रिलेशनल डेटाबेस (SQL) लेकिन यह भी वस्तु उन्मुख लोगों के साथ साथ न केवल काम करने के लिए चाहते हैं।

अन्य भाषाएं केवल आरडीबीएमएस को अच्छी तरह से समर्थन देती हैं।

मैं एक सर्वर के साथ कैसे काम करेगा?

मेरी सलाह: एक सस्ते वर्चुअल जीएनयू/लिनक्स सर्वर किराए पर लें और एसएसएच का उपयोग करके उस पर काम करना सीखें।

यदि मैं अपने प्रोग्राम को वितरित करता हूं और सर्वर के रूप में अपने नेटवर्क पर कंप्यूटर का उपयोग करता हूं तो क्या यह सुरक्षा छेद खोलता है?

हो सकता है, शायद नहीं। यह आपके कार्यक्रम पर निर्भर करता है।

सवाल आपसे पूछा लगभग अनुरूप था "अगर मैं मेरे घर पर काम करते हैं, मैं यह आसान चोरों में प्राप्त करने के लिए? के लिए करते हैं"।

यदि हां, तो मैं कैसे इस समस्या से निपटने चाहिए?

सुरक्षित प्रोग्रामिंग और फ़ायरवॉल पर पढ़ें।

कचरा संग्रहण के साथ एक सेन प्रोग्रामिंग भाषा का उपयोग करें और किसी भी उपयोगकर्ता इनपुट के साथ सतर्कता से सौदा करें।

और मैं सर्वर कैसे स्थापित करूं, बस इंस्टॉलर डाउनलोड करें और इसे चलाएं?

यह उससे थोड़ा अधिक जटिल है। यह ऑपरेटिंग सिस्टम और सर्वर सॉफ़्टवेयर पर निर्भर करता है जिसका आप उपयोग करने जा रहे हैं।

और क्या सर्वर? एक डेटाबेस सर्वर (यदि आप एक का उपयोग कर रहे हैं), एक वेब सर्वर, आपका एप्लिकेशन सर्वर, कुछ और?

0

इस मुद्दे के अनुसार "मैं सर्वर के साथ कैसे काम करूंगा?" जो बहुत सी चीजों का मतलब हो सकता है। । ।

क्या आपने "लैंप" (लिनक्स-अपाचे-माईएसक्यूएल-पीएचपी (पर्ल, पायथन)) बंडल के बारे में सुना है?

यह एक सर्वर (अपाचे), डेटाबेस (mysql), और अपनी प्रोग्रामिंग भाषा पसंद करने के लिए एक काफी व्यापक तरीका है।

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

अपाचे यह जानने के लिए अच्छा है कि क्या आप वेब प्रोग्रामिंग में हैं या नहीं। आप इसे वेब सर्वर, डेटाबेस सर्वर, स्रोत नियंत्रण सर्वर इत्यादि के रूप में उपयोग कर सकते हैं।

0

LINQ माना जाता है कि एसक्यूएल हैंडलिंग का अगला बड़ा विकास है, तो हो सकता है कि आप इसे पहले थोड़ा सा Google करना चाहें।

0

उच्च उपलब्धता और ब्रोजर मेरे सहकर्मियों ने मुझे बताया है। उच्च स्थायित्व एक और है।

सुरक्षा = क्रेडिट के एक सेट के साथ पहला व्यक्ति सुनिश्चित करना भी क्रेडिट के उस सेट का उपयोग कर एक ही व्यक्ति है + यह सुनिश्चित करना कि अन्य अनधिकृत लोग अंदर नहीं आ सकें। अपने पहुंच बिंदुओं के बारे में सोचें।

कंप्यूटर ही है (लॉगिन क्रेडिट)। फिर यह तथ्य इंटरनेट पर है (फ़ायरवॉल/बंदरगाह/सेवाएं चल रही हैं)। फिर सर्वर (i) स्वयं (iis/SQL सर्वर) है जिसमें क्रेडिट भी है। और शायद एक एपीआई के माध्यम से एक इंटरफेस जो क्रेडिट (आरईएसटी टोकन) या कोई क्रेडिट का उपयोग करता है।

भले ही यह क्रेडिट का उपयोग करता है, सुनिश्चित करें कि आपके एपीआई फ़ंक्शन ठोस हैं। ईजी: गैथब के साथ हिट-अनुमति-सेटिंग जैसी किसी भी अंतर को न छोड़ें, बस सुनिश्चित करें कि आपके कार्य खुले अंत में नहीं हैं।

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

फिर एन्क्रिप्शन है, नमस्कार ... मैं कोई विशेषज्ञ नहीं हूं। मैं वही प्रश्न पूछने में बस हफ्तों में हूं जो आपने किया था। अन्य उत्तरों को मैंने उपयोगी पाया, लेकिन जैसा कि आप देख सकते हैं, मुझे इस स्तर का विवरण नहीं मिला, इसलिए सवाल यह है कि प्रश्न '0 9 era

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