GUID du serveur SQL

Guid Du Serveur Sql



Dans cet article, nous allons apprendre à utiliser le type uniqueidentifier dans SQL Server. Nous utiliserons également les fonctions NEWID() et NEWSEQUENTIALID() pour générer des valeurs GUID.

Type d'identifiant unique SQL Server

Il s'agit d'une valeur GUID de 16 octets utilisée dans une colonne ou une variable locale. Vous pouvez créer une valeur de type uniqueidentifier à l'aide des fonctions NEWID() et NEWSEQUENTIALID().

Vous pouvez également générer une valeur GUID en convertissant une valeur de chaîne au format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx où x est un chiffre hexadécimal compris entre 0 et 9.







En raison du caractère 'aléatoire' d'une valeur GUID, il est garanti qu'une valeur GUID peut être unique dans une base de données ou même des serveurs. Cela constitue un excellent type de données pour identifier de manière unique une valeur donnée.



Fonction SQL Server NEWID()

La fonction NEWID() permet de générer une nouvelle valeur unique de type uniqueidentifier. La syntaxe est comme indiqué :



MONNAIE ( )

Par exemple:





déclarer @gid identifiant unique ;
définir @gid = CHANGE();
sélectionnez @gid comme gid ;

Les instructions ci-dessus doivent renvoyer une valeur GUID comme :

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

Fonction SQL Server NEWSEQUENTIALID()

Cette fonction vous permet de générer séquentiellement des valeurs GUID uniques. Cela fonctionne en générant une valeur GUID supérieure au GUID généré précédemment.



Cela le rend utile pour une utilisation en tant qu'identificateur de ligne car il génère des valeurs de manière séquentielle plutôt que de déterminer manuellement la valeur GUID suivante à l'aide de la fonction NEWID().

La syntaxe de la fonction est la suivante :

NEWSEQUENTIALID ( )

Utilisation du GUID SQL Server comme identificateur de ligne

L'exemple suivant montre comment utiliser la fonction newsequentialid() comme identifiant de ligne pour une colonne donnée.

créer des entrées de table(
id uniqueidentifier non null par défaut newsequentialid() clé primaire,
nom_serveur varchar(50),
adresse_serveur varchar(255) non nul,
compression_method varchar(100) par défaut 'aucun',
size_on_disk flottant non nul,
size_compressed float,
total_records entier non nul,
init_date date
);
insérer
dans
ENTRIES(nom_serveur,
adresse du serveur,
méthode de compression,
taille sur le disque,
size_compressed,
total_records,
init_date)
valeurs
('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');

Dans l'exemple ci-dessus, nous définissons la colonne ID comme le type uniqueidentifier et la valeur par défaut comme la valeur générée par la fonction newsequentialid().

Le tableau obtenu est le suivant :

sélectionnez * parmi les entrées ;

Production:

Bien que l'utilisation de valeurs GUID puisse fournir une unicité stricte, cela peut être difficile lors du débogage ou de la sélection de valeurs spécifiques.

Conclusion

Dans ce guide, vous avez découvert le type uniqueidentifier dans SQL Server. Vous avez également appris à générer des valeurs GUID à l'aide des fonctions NEWID() et NEWSEQUENTIALID().