परिचय: C# डेवलपर को डेटाबेस की आवश्यकता क्यों है?
कोई भी आधुनिक एप्लिकेशन — एक साधारण ब्लॉग से लेकर कॉर्पोरेट ERP-सिस्टम तक — डेटा संग्रहीत करता है। डेटाबेस (DB) के बिना स्थायी भंडारण, त्वरित खोज और जानकारी की अखंडता सुनिश्चित करना असंभव है। C# डेवलपर के लिए डेटाबेस के साथ काम करने की क्षमता केवल एक प्लस नहीं, बल्कि एक अनिवार्य कौशल है। इस लेख में हम दो लोकप्रिय DBMS का विश्लेषण करेंगे: रिलेशनल PostgreSQL और डॉक्यूमेंट-ओरिएंटेड MongoDB। आप सीखेंगे कि .NET एप्लिकेशन से उनसे कैसे जुड़ें और बुनियादी संचालन (CRUD) कैसे करें। लेख शुरुआती लोगों के लिए है, इसलिए हम स्थापना से लेकर पहले कार्यशील कोड तक आगे बढ़ेंगे।
1. पर्यावरण की तैयारी और ड्राइवरों की स्थापना
कोड लिखने से पहले, डेटाबेस को स्वयं स्थापित करना और C# प्रोजेक्ट में संबंधित NuGet पैकेज जोड़ना आवश्यक है।
1.1. PostgreSQL और MongoDB की स्थापना
- PostgreSQL: आधिकारिक वेबसाइट postgresql.org से नवीनतम संस्करण डाउनलोड करें। स्थापना के दौरान पोर्ट (डिफ़ॉल्ट 5432) और सुपरयूज़र
postgresका पासवर्ड याद रखें। - MongoDB: mongodb.com से Community Edition डाउनलोड करें। इसे सेवा के रूप में स्थापित करें। सुविधा के लिए, आप MongoDB Compass भी स्थापित कर सकते हैं — डेटा देखने के लिए एक ग्राफिकल इंटरफ़ेस।
स्थापना के बाद सुनिश्चित करें कि सेवाएँ चल रही हैं। जाँच के लिए कमांड लाइन का उपयोग करें (PostgreSQL के लिए: psql -U postgres, MongoDB के लिए: mongosh)।
1.2. प्रोजेक्ट बनाना और पैकेज स्थापित करना
.NET 8 कंसोल एप्लिकेशन बनाएँ:
dotnet new console -n DatabaseDemocd DatabaseDemoअब आवश्यक ड्राइवर स्थापित करें:
// PostgreSQL के लिएdotnet add package Npgsql
// MongoDB के लिएdotnet add package MongoDB.DriverNpgsql PostgreSQL के लिए एक पूर्ण .NET प्रदाता है। MongoDB.Driver MongoDB, Inc. का आधिकारिक ड्राइवर है।
2. C# में PostgreSQL के साथ कार्य
PostgreSQL एक ऑब्जेक्ट-रिलेशनल DBMS है। डेटा तालिकाओं में संग्रहीत होता है, जो विदेशी कुंजियों के माध्यम से एक दूसरे से जुड़ी होती हैं। कार्य के लिए हम Npgsql के माध्यम से कच्चे SQL क्वेरी का उपयोग करेंगे, ताकि आप कनेक्शन और कमांड निष्पादन की यांत्रिकी को समझ सकें।
2.1. सर्वर से कनेक्शन और तालिका बनाना
पहले psql या कोड के माध्यम से एक डेटाबेस (जैसे, shopdb) बनाएँ। कोड में हम पहले से मौजूद DB से जुड़ेंगे। Products तालिका बनाने के लिए एक विधि लिखें:
using Npgsql;
string connectionString = "Host=localhost;Port=5432;Database=shopdb;Username=postgres;Password=your_password";
using var connection = new NpgsqlConnection(connectionString);connection.Open();
string createTable = @"CREATE TABLE IF NOT EXISTS Products ( Id SERIAL PRIMARY KEY, Name VARCHAR(100) NOT NULL, Price DECIMAL(10,2) NOT NULL, Quantity INT DEFAULT 0);";
using var command = new NpgsqlCommand(createTable, connection);command.ExecuteNonQuery();Console.WriteLine("तालिका बनाई गई।");ध्यान दें: हम कनेक्शन को स्वचालित रूप से बंद करने के लिए using का उपयोग करते हैं। SERIAL प्रकार स्वचालित रूप से एक ऑटो-इन्क्रीमेंट फ़ील्ड बनाता है।
2.2. CRUD संचालन (Insert, Select, Update, Delete)
कुछ उत्पाद जोड़ें और उन्हें स्क्रीन पर प्रदर्शित करें:
// डेटा सम्मिलित करनाstring insert = "INSERT INTO Products (Name, Price, Quantity) VALUES (@n, @p, @q)";using var cmdInsert = new NpgsqlCommand(insert, connection);cmdInsert.Parameters.AddWithValue("@n", "लैपटॉप");cmdInsert.Parameters.AddWithValue("@p", 79999.99m);cmdInsert.Parameters.AddWithValue("@q", 10);cmdInsert.ExecuteNonQu