N1QL Language Reference
N1QL Language Reference
N1QL (pronounced "nickel") Couchbase डेटाबेस के साथ काम करने के लिए एक शक्तिशाली क्वेरी भाषा है। यह SQL से मिलती-जुलती है, लेकिन यह JSON दस्तावेजों के साथ काम करने के लिए डिज़ाइन की गई है और Couchbase के वितरित आर्किटेक्चर का लाभ उठाती है। यह शुरुआती लोगों के लिए एक जटिल भाषा लग सकती है, लेकिन इस लेख का उद्देश्य N1QL की बुनियादी अवधारणाओं और सिंटैक्स को सरल तरीके से समझाना है। यह लेख बाइनरी ऑप्शन ट्रेडिंग से सीधे संबंधित नहीं है, लेकिन डेटा विश्लेषण और डेटा प्रबंधन की बुनियादी बातों को समझने में मदद कर सकता है, जो कि ट्रेडिंग रणनीतियों को विकसित करने में उपयोगी हो सकता है।
N1QL का परिचय
N1QL, SQL के समान ही घोषणात्मक भाषा है। इसका मतलब है कि आप *क्या* प्राप्त करना चाहते हैं, यह बताते हैं, न कि *कैसे* प्राप्त करना है। Couchbase इंजन फिर आपके लिए सबसे कुशल तरीका खोजता है। N1QL का मुख्य लाभ इसकी लचीलापन और JSON दस्तावेजों के साथ काम करने की क्षमता है। यह जटिल डेटा संरचनाओं को आसानी से क्वेरी करने और हेरफेर करने की अनुमति देता है। यह तकनीकी विश्लेषण में उपयोग किए जाने वाले डेटा को संसाधित करने के लिए उपयोगी हो सकता है।
डेटा मॉडल
N1QL के साथ काम करने से पहले, आपको Couchbase के डेटा मॉडल को समझना होगा। Couchbase एक डॉक्यूमेंट डेटाबेस है, जिसका अर्थ है कि डेटा JSON दस्तावेजों के रूप में संग्रहीत किया जाता है। प्रत्येक दस्तावेज़ में कुंजी-मूल्य जोड़े होते हैं। उदाहरण के लिए:
कुंजी | मान | नाम | "जॉन डो" | उम्र | 30 | शहर | "न्यूयॉर्क" |
N1QL इन दस्तावेजों को क्वेरी करने के लिए डिज़ाइन किया गया है।
बुनियादी सिंटैक्स
N1QL सिंटैक्स SQL के समान है, लेकिन कुछ महत्वपूर्ण अंतर हैं। एक बुनियादी N1QL क्वेरी इस तरह दिखती है:
```sql SELECT <एक्सप्रेशन> FROM <डेटा स्रोत> WHERE <शर्त>; ```
- `SELECT`: यह निर्दिष्ट करता है कि आप कौन से डेटा को वापस पाना चाहते हैं।
- `FROM`: यह निर्दिष्ट करता है कि आप किस डेटा स्रोत से डेटा प्राप्त कर रहे हैं (आमतौर पर एक बकेट).
- `WHERE`: यह निर्दिष्ट करता है कि आप किन दस्तावेजों को वापस पाना चाहते हैं (एक फिल्टर)।
उदाहरण:
```sql SELECT नाम, उम्र FROM `travel-sample` WHERE शहर = "न्यूयॉर्क"; ```
यह क्वेरी `travel-sample` बकेट से उन सभी दस्तावेजों को वापस लाएगी जहां शहर "न्यूयॉर्क" है, और केवल नाम और उम्र फ़ील्ड वापस करेगी।
डेटा स्रोत
N1QL में डेटा स्रोत बकेट हैं। एक बकेट दस्तावेजों का एक संग्रह है। बकेट नाम आमतौर पर बैकटिक्स (`) से घिरा होता है, जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है।
चयन एक्सप्रेशन (Selection Expressions)
`SELECT` क्लॉज में, आप विभिन्न एक्सप्रेशन का उपयोग कर सकते हैं:
- फ़ील्ड नाम: `SELECT नाम`
- स्थिरांक: `SELECT "स्थिर मान"`
- एक्सप्रेशन: `SELECT उम्र + 5`
- फ़ंक्शन: `SELECT UPPER(नाम)`
WHERE क्लॉज
`WHERE` क्लॉज का उपयोग उन दस्तावेजों को फ़िल्टर करने के लिए किया जाता है जिन्हें आप वापस पाना चाहते हैं। आप विभिन्न ऑपरेटरों का उपयोग कर सकते हैं:
- `=`: बराबर
- `!=`: बराबर नहीं
- `>`: से बड़ा
- `<`: से छोटा
- `>=`: से बड़ा या बराबर
- `<=`: से छोटा या बराबर
- `LIKE`: पैटर्न मिलान
- `BETWEEN`: एक श्रेणी में
- `IN`: मानों की सूची में
उदाहरण:
```sql SELECT * FROM `travel-sample` WHERE उम्र > 25 AND शहर = "लंदन"; ```
यह क्वेरी `travel-sample` बकेट से उन सभी दस्तावेजों को वापस लाएगी जहां उम्र 25 से अधिक है और शहर "लंदन" है।
ऑपरेटर्स
N1QL विभिन्न प्रकार के ऑपरेटरों का समर्थन करता है, जिनमें शामिल हैं:
- अंकगणितीय ऑपरेटर: `+`, `-`, `*`, `/`
- तुलनात्मक ऑपरेटर: `=`, `!=`, `>`, `<`, `>=`, `<=`
- तार्किक ऑपरेटर: `AND`, `OR`, `NOT`
- स्ट्रिंग ऑपरेटर: `||` (concatenation)
फ़ंक्शंस
N1QL कई अंतर्निहित फ़ंक्शंस प्रदान करता है, जिनका उपयोग आप अपने क्वेरी में डेटा को हेरफेर करने के लिए कर सकते हैं। कुछ सामान्य फ़ंक्शंस में शामिल हैं:
- `UPPER()`: स्ट्रिंग को अपरकेस में बदलता है।
- `LOWER()`: स्ट्रिंग को लोअरकेस में बदलता है।
- `LENGTH()`: स्ट्रिंग की लंबाई लौटाता है।
- `SUBSTR()`: स्ट्रिंग का एक उपस्ट्रिंग लौटाता है।
- `TO_NUMBER()`: स्ट्रिंग को संख्या में बदलता है।
- `TO_STRING()`: संख्या को स्ट्रिंग में बदलता है।
उपक्वेरीज़ (Subqueries)
N1QL उपक्वेरीज़ का समर्थन करता है। एक उपक्वेरी एक क्वेरी है जो दूसरी क्वेरी के अंदर एम्बेडेड होती है। उपक्वेरीज़ का उपयोग जटिल फ़िल्टरिंग और डेटा हेरफेर के लिए किया जा सकता है।
उदाहरण:
```sql SELECT * FROM `travel-sample` WHERE शहर IN (SELECT शहर FROM `travel-sample` WHERE देश = "यूके"); ```
यह क्वेरी `travel-sample` बकेट से उन सभी दस्तावेजों को वापस लाएगी जहां शहर उन शहरों की सूची में है जो यूके में स्थित हैं।
JOINs
N1QL `JOIN` क्लॉज का समर्थन करता है, जिसका उपयोग आप दो या अधिक बकेट से डेटा को संयोजित करने के लिए कर सकते हैं। विभिन्न प्रकार के `JOIN` उपलब्ध हैं, जिनमें शामिल हैं:
- `INNER JOIN`: केवल उन दस्तावेजों को वापस लाता है जिनमें दोनों बकेट में मिलान करने वाली कुंजियाँ हैं।
- `LEFT OUTER JOIN`: पहले बकेट से सभी दस्तावेजों को वापस लाता है, और दूसरे बकेट से मिलान करने वाले दस्तावेजों को वापस लाता है। यदि दूसरे बकेट में कोई मिलान नहीं है, तो दूसरे बकेट के फ़ील्ड के लिए `NULL` मान वापस किए जाते हैं।
- `RIGHT OUTER JOIN`: दूसरे बकेट से सभी दस्तावेजों को वापस लाता है, और पहले बकेट से मिलान करने वाले दस्तावेजों को वापस लाता है। यदि पहले बकेट में कोई मिलान नहीं है, तो पहले बकेट के फ़ील्ड के लिए `NULL` मान वापस किए जाते हैं।
UNNEST
`UNNEST` क्लॉज का उपयोग सरणियों को विस्तारित करने के लिए किया जाता है। यह आपको सरणी के प्रत्येक तत्व के लिए एक पंक्ति बनाने की अनुमति देता है।
उदाहरण:
```sql SELECT t.नाम, u.ईमेल FROM `travel-sample` AS t UNNEST t.उपयोगकर्ता AS u; ```
यह क्वेरी `travel-sample` बकेट से नाम और उपयोगकर्ता सरणी में ईमेल वापस लाएगी।
LIKE ऑपरेटर
`LIKE` ऑपरेटर का उपयोग पैटर्न मिलान के लिए किया जाता है। आप वाइल्डकार्ड वर्णों का उपयोग कर सकते हैं:
- `%`: शून्य या अधिक वर्णों का प्रतिनिधित्व करता है।
- `_`: एक एकल वर्ण का प्रतिनिधित्व करता है।
उदाहरण:
```sql SELECT * FROM `travel-sample` WHERE नाम LIKE "ज%"; ```
यह क्वेरी `travel-sample` बकेट से उन सभी दस्तावेजों को वापस लाएगी जहां नाम "ज" से शुरू होता है।
ORDER BY
`ORDER BY` क्लॉज का उपयोग परिणामों को सॉर्ट करने के लिए किया जाता है। आप बढ़ते या घटते क्रम में सॉर्ट कर सकते हैं।
उदाहरण:
```sql SELECT * FROM `travel-sample` ORDER BY उम्र DESC; ```
यह क्वेरी `travel-sample` बकेट से सभी दस्तावेजों को उम्र के घटते क्रम में वापस लाएगी।
LIMIT और OFFSET
`LIMIT` क्लॉज का उपयोग परिणामों की संख्या को सीमित करने के लिए किया जाता है। `OFFSET` क्लॉज का उपयोग परिणामों को ऑफ़सेट करने के लिए किया जाता है।
उदाहरण:
```sql SELECT * FROM `travel-sample` LIMIT 10 OFFSET 20; ```
यह क्वेरी `travel-sample` बकेट से 20वें दस्तावेज़ से शुरू होने वाले अगले 10 दस्तावेजों को वापस लाएगी।
GROUP BY और एग्रीगेट फ़ंक्शंस
`GROUP BY` क्लॉज का उपयोग समान मानों वाले दस्तावेजों को समूहीकृत करने के लिए किया जाता है। आप एग्रीगेट फ़ंक्शंस का उपयोग प्रत्येक समूह के लिए गणना करने के लिए कर सकते हैं। कुछ सामान्य एग्रीगेट फ़ंक्शंस में शामिल हैं:
- `COUNT()`: समूह में दस्तावेजों की संख्या गिनता है।
- `SUM()`: समूह में मानों का योग करता है।
- `AVG()`: समूह में मानों का औसत निकालता है।
- `MIN()`: समूह में न्यूनतम मान लौटाता है।
- `MAX()`: समूह में अधिकतम मान लौटाता है।
उदाहरण:
```sql SELECT शहर, COUNT(*) FROM `travel-sample` GROUP BY शहर; ```
यह क्वेरी प्रत्येक शहर में दस्तावेजों की संख्या को वापस लाएगी।
इंडेक्सिंग
इंडेक्सिंग Couchbase में क्वेरी प्रदर्शन को बेहतर बनाने का एक महत्वपूर्ण तरीका है। इंडेक्स एक डेटा संरचना है जो आपको जल्दी से उन दस्तावेजों को खोजने की अनुमति देती है जो एक विशिष्ट मानदंड को पूरा करते हैं। N1QL स्वचालित रूप से इंडेक्स का उपयोग करने का प्रयास करेगा यदि यह उपलब्ध है। आप `CREATE INDEX` स्टेटमेंट का उपयोग करके इंडेक्स बना सकते हैं। इंडेक्सिंग रणनीतियाँ क्वेरी प्रदर्शन को अनुकूलित करने में मदद कर सकती हैं।
सुरक्षा
Couchbase सुरक्षा सुविधाओं का समर्थन करता है जो आपको अपने डेटा को अनधिकृत पहुंच से बचाने की अनुमति देती हैं। आप उपयोगकर्ता खातों, भूमिकाओं और अनुमतियों का उपयोग करके डेटा तक पहुंच को नियंत्रित कर सकते हैं। डेटा सुरक्षा आपके डेटा की गोपनीयता और अखंडता सुनिश्चित करने के लिए महत्वपूर्ण है।
N1QL और बाइनरी ऑप्शन
हालांकि N1QL सीधे तौर पर बाइनरी ऑप्शन ट्रेडिंग से संबंधित नहीं है, लेकिन यह डेटा विश्लेषण और प्रसंस्करण के लिए उपयोगी हो सकता है। उदाहरण के लिए, आप N1QL का उपयोग ऐतिहासिक ट्रेडिंग डेटा को क्वेरी करने, पैटर्न की पहचान करने और ट्रेडिंग रणनीतियों को विकसित करने के लिए कर सकते हैं। वॉल्यूम विश्लेषण, चार्ट पैटर्न और जोखिम प्रबंधन के लिए डेटा संसाधित करने में N1QL उपयोगी हो सकता है।
निष्कर्ष
N1QL Couchbase डेटाबेस के साथ काम करने के लिए एक शक्तिशाली और लचीली क्वेरी भाषा है। यह SQL से मिलती-जुलती है, लेकिन यह JSON दस्तावेजों और Couchbase के वितरित आर्किटेक्चर के लिए अनुकूलित है। यह लेख N1QL की बुनियादी अवधारणाओं और सिंटैक्स को कवर करता है। अधिक जानकारी के लिए, आप Couchbase दस्तावेज़ देख सकते हैं। डेटाबेस प्रबंधन और डेटा विश्लेषिकी के लिए N1QL एक महत्वपूर्ण उपकरण है। क्वेरी अनुकूलन और प्रदर्शन ट्यूनिंग N1QL के साथ काम करते समय महत्वपूर्ण विचार हैं। त्रुटि निवारण और डीबगिंग कौशल भी महत्वपूर्ण हैं।
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री