SQL سرور GUID

Sql Srwr Guid



اس پوسٹ میں، ہم سیکھیں گے کہ کس طرح ایس کیو ایل سرور میں منفرد شناخت کنندہ قسم کو استعمال کرنا ہے۔ ہم NEWID() اور NEWSEQUENTIALID() فنکشنز کو بھی GUID ویلیوز بنانے کے لیے استعمال کریں گے۔

ایس کیو ایل سرور منفرد شناخت کنندہ کی قسم

یہ ایک 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 قدر کو دستی طور پر متعین کرنے کے بجائے ترتیب وار اقدار پیدا کرتا ہے۔

فنکشن نحو جیسا دکھایا گیا ہے:

NEWSEQUENTIALID ( )

SQL سرور GUID کو قطار شناخت کنندہ کے طور پر استعمال کرنا

درج ذیل مثال سے پتہ چلتا ہے کہ newsequentialid() فنکشن کو کسی مخصوص کالم کے لیے قطار کے شناخت کنندہ کے طور پر کیسے استعمال کیا جائے۔

ٹیبل اندراجات بنائیں (
id uniqueidentifier null default newsequentialid() بنیادی کلید نہیں،
سرور_نام ورچار(50)،
سرور_پتہ varchar(255) کالعدم نہیں،
compression_method varchar(100) ڈیفالٹ 'کوئی نہیں'،
سائز_پر_ڈسک فلوٹ کالعدم نہیں ہے،
سائز_کمپریسڈ فلوٹ،
کل_ریکارڈز نٹ نہیں ہیں،
init_date تاریخ
);
داخل کریں
میں
ENTRIES(سرور_نام،
سرور کا پتہ،
کمپریشن_طریقہ،
سائز_پر_ڈسک،
سائز_کمپریسڈ،
کل_ریکارڈز،
init_date)
اقدار
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02')
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19')
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000,'2022-11-11')
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08')
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12')
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

مندرجہ بالا مثال میں، ہم ID کالم کو منفرد شناخت کنندہ قسم کے طور پر اور ڈیفالٹ ویلیو کو newsequentialid() فنکشن کے ذریعے تیار کردہ قدر کے طور پر سیٹ کرتے ہیں۔

نتیجہ کی میز کے طور پر دکھایا گیا ہے:

اندراجات سے * منتخب کریں؛

آؤٹ پٹ:

اگرچہ GUID اقدار کا استعمال سخت انفرادیت فراہم کر سکتا ہے، لیکن مخصوص اقدار کو ڈیبگ کرنے یا منتخب کرتے وقت یہ مشکل ہو سکتا ہے۔

نتیجہ

اس گائیڈ میں، آپ نے SQL سرور میں منفرد شناخت کنندہ قسم کے بارے میں سیکھا۔ آپ نے یہ بھی سیکھا کہ NEWID() اور NEWSEQUENTIALID() فنکشنز کا استعمال کرتے ہوئے GUID ویلیوز کیسے تیار کی جاتی ہیں۔