בסעיף זה, אנו הולכים להבין את פעולתו של סוג נתונים PostgreSQL UUID . וגם אנחנו רואים דוגמאות של ה סוג נתונים של UUID, ואנחנו גם רואים כמה איך ליצור ערכי UUID בעזרת מודול שסופק.
מהו סוג הנתונים PostgreSQL UUID?
ב-PostgreSQL, סוג הנתונים הבא הוא a מזהה ייחודי אוניברסלי , אשר ידוע גם בשם UUID שצוין על ידי RFC 4122 ועוד תקן מחובר.
ה UUID value הוא ערך ארוך של 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 מודול ב- Javatpoint מאגר מידע.
CREATE EXTENSION IF NOT EXISTS 'uuid-ossp';
תְפוּקָה
לאחר יישום הפקודה לעיל, נקבל את ההודעה הבאה: ה uuid_ossp הותקן בהצלחה עם צור הרחבה פקודה.
השתמשנו ב- אם לא קיים סעיף בפקודה לעיל, המספק לנו להימנע מהתקנה מחדש של המודול.
אנחנו יכולים להשתמש ב uuid_generate_v1() פונקציה כדי ליצור את ערכי ה-UUID תלוי בחותמת הזמן הנוכחית, בקיבוץ כתובת ה-MAC של המחשב ובערך אקראי:
SELECT uuid_generate_v1();
תְפוּקָה
נקבל את התוצאה הבאה בביצוע הפקודה לעיל, המציגה את הערך של UUID שנוצר על ידי uuid_generate_v1() פונקציה.
בפקודה הבאה, נשתמש ב- uuid_generate_v4() פונקציה ליצירת ערך UUID תלויה באופן ייחודי במספרים אקראיים:
SELECT uuid_generate_v4();
תְפוּקָה
לאחר ביצוע מוצלח של הפקודה לעיל, נקבל את התוצאה הבאה, המציגה את הערך של UUID שנוצר על ידי uuid_generate_v1() פונקציה.
דוגמה לסוג הנתונים 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, אנו משתמשים ב- לִיצוֹר פקודה כפי שאנו יכולים לראות בפקודה הבאה:
מחרוזת של int
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) );
תְפוּקָה
בביצוע הפקודה לעיל, נקבל את ההודעה הבאה, המציגה כי לָקוּחַ הטבלה נוצרה בהצלחה.
בפקודה לעיל, השתמשנו בסוג הנתונים UUID עבור מזהה_לקוח עמודה שבה מזהה_לקוח לעמודה יש ערך ברירת מחדל שניתן על ידי ה- uuid_generate_v4() פוּנקצִיָה.
לפיכך, ה-PostgreSQL יקרא ל- uuid_generate_v4() פונקציה ליצירת ה מזהה_לקוח ערך אם נוסיף שורה חדשה מבלי להגדיר את מזהה_לקוח ערך העמודה.
כאשר לָקוּחַ הטבלה נוצרה בהצלחה, נכניס אליה כמה ערכים עם ה- לְהַכנִיס עזרה של הפקודה.
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');
תְפוּקָה
לאחר יישום הפקודה לעיל, נקבל את חלון ההודעה הבא, המציג כי הערכים שצוינו הוכנסו בהצלחה ל- לָקוּחַ שולחן.
לאחר יצירת והכנסת ה לָקוּחַ ערכי הטבלה, נשתמש ב- בחר הפקודה כדי להחזיר את כל השורות של לָקוּחַ שולחן:
SELECT * FROM Client;
תְפוּקָה
לאחר יישום מוצלח של הפקודה לעיל, נקבל את הפלט שלהלן, המציג את כל הנתונים הקיימים ב- לָקוּחַ שולחן:
כפי שאנו יכולים לראות בצילום המסך לעיל כי מזהה_לקוח העמודה אוכלסה על ידי ה ערכי UUID נוצר על ידי ה uuid_generate_v4() פונקציה .
סקירה כללית
בתוך ה סוג נתונים PostgreSQL UUID בסעיף, למדנו את הנושאים הבאים:
- ה נתוני PostgreSQL UUID סוג משמש לאחסון ערכי UUID עבור עמודה שצוינה.
- אנחנו יכולים להשתמש ב צור הרחבה הפקודה להתקנת המודול uuid-ossp כדי ליצור את ערכי ה-UUID.
- אנחנו יכולים להשתמש ב uuid_generate_v4() פונקציה כדי לאחזר אוטומטית את ערכי ה-UUID עבור העמודה הספציפית של הטבלה.