SQL Server GUID

Sql Server Guid



في هذا المنشور ، سوف نتعلم كيفية استخدام نوع المعرف الفريد في SQL Server. سنستخدم أيضًا الدالتين NEWID () و NEWSEQUENTIALID () لإنشاء قيم GUID.

نوع معرف خادم SQL الفريد

هذه قيمة GUID ذات 16 بايت تُستخدم في عمود أو متغير محلي. يمكنك إنشاء قيمة نوع معرف فريد باستخدام الدالتين NEWID () و NEWSEQUENTIALID ().

يمكنك أيضًا إنشاء قيمة GUID عن طريق تحويل قيمة سلسلة بالتنسيق xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx حيث x هو رقم سداسي عشري في النطاق من 0 إلى 9.







نظرًا لـ 'العشوائية' لقيمة GUID ، فمن المؤكد أن قيمة GUID يمكن أن تكون فريدة عبر قاعدة بيانات أو حتى خوادم. هذا يجعل نوع بيانات ممتاز لتحديد قيمة معينة بشكل فريد.



وظيفة SQL Server NEWID ()

تسمح لنا الوظيفة NEWID () بإنشاء قيمة فريدة جديدة لنوع المعرف الفريد. بناء الجملة كما هو موضح:



يتغيرون ( )

فمثلا:





التصريح عنgid معرّف فريد ؛
تعيينgid = أختر () ،
حددgid كـ gid ؛

يجب أن تُرجع العبارات أعلاه قيمة GUID على النحو التالي:

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

وظيفة NEWSEQUENTIALID () SQL Server

تتيح لك هذه الوظيفة إنشاء قيم GUID فريدة بالتتابع. إنه يعمل عن طريق إنشاء قيمة GUID أكبر من GUID الذي تم إنشاؤه مسبقًا.



هذا يجعله مفيدًا للاستخدام كمعرف صف لأنه يولد القيم بالتسلسل بدلاً من تحديد قيمة GUID التالية يدويًا باستخدام وظيفة NEWID ().

صيغة الوظيفة كما هو موضح:

NEWSEQUENTIALID ()

استخدام SQL Server GUID كمعرّف الصف

يوضح المثال التالي كيفية استخدام الدالة newsequentialid () كمعرف صف لعمود معين.

إنشاء إدخالات الجدول (
المعرف الفريد ليس مفتاحًا أساسيًا افتراضيًا جديدًا متسلسلًا جديدًا ،
server_name varchar (50) ،
server_address varchar (255) ليس فارغًا ،
compression_method varchar (100) افتراضي 'لا شيء' ،
تعويم size_on_disk ليس فارغًا ،
حجم_تعويم مضغوط ،
total_records int ليست فارغة ،
init_date التاريخ
) ؛
إدراج
داخل
المدخلات (اسم_الخادم ،
عنوان المستقبل،
طريقة الضغط
الحجم على القرص،
الحجم_مضغوط ،
إجمالي السجلات ،
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') ؛

في المثال أعلاه ، قمنا بتعيين عمود المعرف كنوع المعرف الفريد والقيمة الافتراضية كقيمة تم إنشاؤها بواسطة دالة newsequentialid ().

الجدول الناتج كما هو موضح:

حدد * من الإدخالات ؛

انتاج:

على الرغم من أن استخدام قيم GUID يمكن أن يوفر تفردًا صارمًا ، إلا أنه قد يكون صعبًا عند تصحيح الأخطاء أو تحديد قيم معينة.

استنتاج

في هذا الدليل ، تعرفت على نوع المعرف الفريد في SQL Server. لقد تعلمت أيضًا كيفية إنشاء قيم GUID باستخدام الدالتين NEWID () و NEWSEQUENTIALID ().