logo

PostgreSQL UUID

في هذا القسم، سوف نفهم عمل نوع بيانات PostgreSQL UUID . ونحن نرى أيضا أمثلة التابع نوع البيانات UUID، ونرى أيضًا بعض كيفية إنشاء قيم UUID بمساعدة الوحدة المتوفرة.

ما هو نوع بيانات PostgreSQL UUID؟

في PostgreSQL، نوع البيانات التالي هو a معرف فريد عالميًا ، والذي يعرف أيضًا باسم UUID المحدد من قبل آر إف سي 4122 ومعيار آخر متصل.

ال UUID القيمة هي قيمة بطول 128 بت تم إنشاؤها بواسطة خوارزمية، مما يجعلها فريدة من نوعها في المعرفة كون بمساعدة خوارزمية مماثلة لتحديد المعلومات.

دعونا نرى بعض الأمثلة النموذجية لقيم UUID كما يمكننا أن نرى في التمثيل أدناه:

 6ecd8c99-4036-403d-bf84-cf8400f67836 c81d4e2e-bcf2-11e6-869b-7df92533d2db 237e9877-e79b-12d4-a765-321741963000 

كما يمكننا أن نرى في الأمثلة المذكورة أعلاه، UUID هو ترتيب 32 رقما ل أرقام سداسية عشرية جنبا إلى جنب مع أربع واصلات (-). قد يكون UUID لا شيء ، حيث تم ضبط جميع البتات صفر .

نقوم في كثير من الأحيان بتحديد UUID في الأنظمة الموزعة لميزاته الفريدة. كما أنه يضمن تفردًا أفضل مقارنةً بنوع بيانات PostgreSQL SERIAL، مما يؤدي إلى إنشاء قيم فريدة داخل قاعدة بيانات واحدة.

ملاحظة: في قاعدة بيانات PostgreSQL، يمكننا استخدام نوع بيانات UUID لتخزين قيم UUID وتقديم الوحدات النمطية لإنتاجها.

كيفية إنشاء قيم UUID في PostgreSQL

يمكّننا PostgreSQL من تخزين قيم UUID ومعادلتها، لكنه لا يحتوي على الوظائف، ويقوم بإنشاء قيم UUID في جوهره.

يعني مقابل المتوسط

وبدلا من ذلك يعتمد على وحدات الطرف الثالث التي تقدم خوارزميات معينة لإنشاء UUIDs، مثل uuid-ossp تحتوي الوحدة النمطية على بعض الوظائف التي يمكن الوصول إليها، والتي تنفذ خوارزميات قياسية لإنشاء UUIDs.

سوف نستخدم ما يلي إنشاء امتداد أمر لتثبيت uuid-ossp الوحدة النمطية في جافاتبوينت قاعدة البيانات.

 CREATE EXTENSION IF NOT EXISTS 'uuid-ossp'; 

انتاج |

بعد تنفيذ الأمر أعلاه، سنحصل على الرسالة التالية: the uuid_ossp تم التثبيت بنجاح مع إنشاء ملحق يأمر.

PostgreSQL UUID

لقد استخدمنا إذا لم يكن موجودا بند في الأمر أعلاه، والذي يوفر لنا تجنب إعادة تثبيت الوحدة.

يمكننا استخدام وظيفة uuid_generate_v1() لإنشاء قيم UUID يعتمد على الطابع الزمني الحالي، وتجميع عنوان MAC للكمبيوتر، وقيمة عشوائية:

 SELECT uuid_generate_v1(); 

انتاج |

سنحصل على النتيجة التالية عند تنفيذ الأمر أعلاه، والذي يعرض قيمة UUID التي تم إنشاؤها بواسطة ملف وظيفة uuid_generate_v1().

PostgreSQL UUID

في الأمر التالي، سوف نستخدم uuid_generate_v4() تعتمد الدالة لإنشاء قيمة UUID بشكل فريد على أرقام عشوائية:

 SELECT uuid_generate_v4(); 

انتاج |

بعد تنفيذ الأمر أعلاه بنجاح، سنحصل على النتيجة التالية، والتي تعرض قيمة UUID التي تم إنشاؤها بواسطة ملف وظيفة uuid_generate_v1().

PostgreSQL UUID

مثال على نوع بيانات PostgreSQL UUID

دعونا نرى أمثلة عينة واحدة لفهم كيفية نوع بيانات PostgreSQL UUID يعمل.

نحن إنشاء جدول واحد جديد مثل الزبون و أعمدة UUID بمساعدة الأمر CREATE وإدراج بعض القيم باستخدام الأمر INSERT.

جافا سلسلة سلسلة

ال عميل يحتوي الجدول على أعمدة مختلفة مثل Client_id وclient_first_name وclient_last_name وclient_email_id وclient_address.

ل معرف العميل العمود، نستخدم نوع البيانات UUID، والذي هو أيضا المفتاح الأساسي. علاوة على ذلك، قيم الأعمدة الأساسية الأساسية سيتم إنشاؤه تلقائيًا باستخدام uuid_generate_v4() وظيفة.

لخلق عميل الجدول في مماثلة قاعدة البيانات وهي Javatpoint، حيث نقوم بتثبيت وحدة uuid_ossp, نحن نستخدم ال يخلق الأمر كما نرى في الأمر التالي:

 CREATE TABLE Client ( Client_id uuid DEFAULT uuid_generate_v4 (), client_first_name VARCHAR NOT NULL, client_last_name VARCHAR NOT NULL, client_email_id VARCHAR NOT NULL, Client_address VARCHAR, PRIMARY KEY (Client_id) ); 

انتاج |

عند تنفيذ الأمر أعلاه، سوف نحصل على الرسالة التالية، والتي توضح أن عميل تم إنشاء الجدول بنجاح.

PostgreSQL UUID

في الأمر أعلاه، استخدمنا نوع البيانات UUID لـ Client_id العمود حيث Client_id يحتوي العمود على قيمة افتراضية مقدمة من uuid_generate_v4() وظيفة.

وبالتالي، سوف يقوم PostgreSQL باستدعاء uuid_generate_v4() وظيفة لإنشاء Client_id القيمة إذا قمنا بإدراج صف جديد دون تحديد Client_id قيمة العمود.

عندما عميل تم إنشاء الجدول بنجاح، وسوف نقوم بإدراج بعض القيم فيه باستخدام الملف إدراج مساعدة الأمر.

 INSERT INTO Client (client_first_name, client_last_name, client_email_id, Client_address) VALUES('Mike','Ross', '[email protected]','Houston'), ('Hannah','Garcia','[email protected]','San Diego'), ('Maria ','Hernandez','[email protected]','Seattle'), ('Robert','Smith','[email protected]','Dallas'); 

انتاج |

بعد تنفيذ الأمر أعلاه، سنحصل على نافذة الرسالة التالية، والتي توضح أنه تم إدراج القيم المحددة بنجاح في الملف عميل طاولة.

PostgreSQL UUID

بعد إنشاء وإدراج عميل قيم الجدول، سوف نستخدم يختار الأمر لإرجاع جميع صفوف الملف عميل طاولة:

ما هو نظام ملفات لينكس
 SELECT * FROM Client; 

انتاج |

بعد تنفيذ الأمر أعلاه بنجاح، سنحصل على الإخراج أدناه، الذي يعرض جميع البيانات الموجودة في الملف عميل طاولة:

PostgreSQL UUID

كما يمكننا أن نرى في لقطة الشاشة أعلاه أن Client_id تم ملء العمود بواسطة قيم UUID تم إنشاؤها بواسطة وظيفة uuid_generate_v4() .

ملخص

في ال نوع بيانات PostgreSQL UUID القسم، تعلمنا المواضيع التالية:

  • ال بيانات PostgreSQL UUID يتم استخدام النوع لتخزين قيم UUID لعمود محدد.
  • يمكننا استخدام إنشاء ملحق أمر لتثبيت وحدة uuid-ossp لإنشاء قيم UUID.
  • يمكننا استخدام وظيفة uuid_generate_v4() لاسترداد قيم UUID تلقائيًا لعمود معين في الجدول.