एसक्यूएल सर्वर GUID

Esakyu Ela Sarvara Guid



इस पोस्ट में, हम सीखेंगे कि SQL सर्वर में अद्वितीय पहचानकर्ता प्रकार का उपयोग कैसे करें। हम GUID मान उत्पन्न करने के लिए NEWID() और NEWSEQUENTIALID() फ़ंक्शंस का भी उपयोग करेंगे।

SQL सर्वर अद्वितीय पहचानकर्ता प्रकार

यह एक 16-बाइट GUID मान है जिसका उपयोग स्तंभ या स्थानीय चर में किया जाता है। आप NEWID() और NEWSEQUENTIALID() फ़ंक्शंस का उपयोग करके एक अद्वितीय पहचानकर्ता प्रकार मान बना सकते हैं।

आप xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx प्रारूप में एक स्ट्रिंग मान को परिवर्तित करके एक GUID मान भी उत्पन्न कर सकते हैं, जहाँ x 0 - 9 की सीमा में एक हेक्साडेसिमल अंक है।







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



SQL सर्वर NEWID () फ़ंक्शन

NEWID() फ़ंक्शन हमें अद्वितीय पहचानकर्ता प्रकार का एक नया अनूठा मान उत्पन्न करने की अनुमति देता है। सिंटैक्स दिखाया गया है:



परिवर्तन ( )

उदाहरण के लिए:





@gid अद्वितीय पहचानकर्ता घोषित करें;
सेट @gid = बदलें ();
@gid को gid के रूप में चुनें;

उपर्युक्त बयानों को एक GUID मान वापस करना चाहिए:

gid
873412E2-A926-4EAB-B99F-A1E47E727355

SQL सर्वर NEWSEQUENTIALID () फ़ंक्शन

यह फ़ंक्शन आपको अनुक्रमिक रूप से अद्वितीय GUID मान उत्पन्न करने की अनुमति देता है। यह एक GUID मान उत्पन्न करके काम करता है जो पहले से उत्पन्न GUID से अधिक है।



यह पंक्ति पहचानकर्ता के रूप में उपयोग के लिए इसे उपयोगी बनाता है क्योंकि यह NEWID() फ़ंक्शन का उपयोग करके अगले GUID मान को मैन्युअल रूप से निर्धारित करने के बजाय क्रमिक रूप से मान उत्पन्न करता है।

फ़ंक्शन सिंटैक्स जैसा दिखाया गया है:

न्यूसक्वेंशियलिड ( )

पंक्ति पहचानकर्ता के रूप में SQL सर्वर GUID का उपयोग करना

निम्न उदाहरण दिखाता है कि दिए गए कॉलम के लिए पंक्ति पहचानकर्ता के रूप में newsequentialid() फ़ंक्शन का उपयोग कैसे करें।

तालिका प्रविष्टियाँ बनाएँ (
आईडी अद्वितीय पहचानकर्ता शून्य नहीं है डिफ़ॉल्ट newsequentialid () प्राथमिक कुंजी,
सर्वर_नाम वर्कर (50),
सर्वर_एड्रेस वर्कर (255) शून्य नहीं है,
कंप्रेशन_मेथोड वर्कर (100) डिफ़ॉल्ट 'कोई नहीं',
size_on_disk फ्लोट शून्य नहीं है,
size_compressed फ्लोट,
कुल_रिकॉर्ड्स शून्य नहीं है,
init_date तारीख
);
डालना
में
प्रविष्टियां (सर्वर_नाम,
सर्वर पता,
संपीड़न विधि,
डिस्क का माप,
size_compressed,
कुल रिकॉर्ड,
init_date)
मूल्यों
('MySQL', 'लोकलहोस्ट: 3306', 'lz77', 90.66,40.04,560000, '2022-01-02'),
('रेडिस', 'लोकलहोस्ट: 6307', 'स्नैपी', 3.55,998.2,100000, '2022-03-19'),
('PostgreSQL', 'लोकलहोस्ट: 5432', 'pglz', 101.2,98.01,340000, '2022-11-11'),
('एलिस्टिक्स खोज', 'लोकलहोस्ट: 9200', 'एलजेड 4', 333.2,300.2,1200000, '2022-10-08'),
('मोंगोडीबी', 'लोकलहोस्ट: 27017', 'स्नैपी', 4.55,4.10,620000, '2021-12-12'),
('अपाचे कैसेंड्रा', 'लोकलहोस्ट: 9042', 'zstd', 300.3,200.12,10000000,'2020-03-21');

उपरोक्त उदाहरण में, हम आईडी कॉलम को अद्वितीय पहचानकर्ता प्रकार और डिफ़ॉल्ट मान को newsequentialid() फ़ंक्शन द्वारा उत्पन्न मान के रूप में सेट करते हैं।

परिणामी तालिका को दिखाया गया है:

प्रविष्टियों में से * चुनें;

आउटपुट:

हालांकि GUID मानों का उपयोग सख्त विशिष्टता प्रदान कर सकता है, विशिष्ट मानों को डिबगिंग या चयन करते समय यह मुश्किल हो सकता है।

निष्कर्ष

इस गाइड में, आपने SQL सर्वर में अद्वितीय पहचानकर्ता प्रकार के बारे में सीखा। आपने यह भी सीखा कि NEWID() और NEWSEQUENTIALID() फ़ंक्शन का उपयोग करके GUID मान कैसे उत्पन्न करें।