Somme de contrôle et fonction de somme de contrôle – SQL Server

X

Confidentialité & Cookies

Ce site utilise des cookies. En continuant, vous acceptez leur utilisation. En savoir plus, y compris comment contrôler les cookies.

Compris!

Annonces

La somme de contrôle est une valeur calculée de longueur fixe. Il est utilisé pour détecter les erreurs accidentelles dans la transmission de données.

Habituellement, un algorithme est utilisé pour calculer la valeur de la somme de contrôle et chaque algorithme est conçu pour un objectif spécifique.

Les fonctions ou algorithmes de somme de contrôle sont liés aux fonctions de hachage, aux empreintes digitales, aux fonctions de randomisation et aux fonctions de hachage cryptographiques

Quelques algorithmes de somme de contrôle

  • Octet de parité
  • Somme modulaire
  • Somme de contrôle dépendante de la position

Fonction Checksum() – SQL Server

Cette fonction de hachage est utilisée pour calculer la valeur de somme de contrôle d’une ligne entière ou d’une liste d’expressions ou de colonnes. Il renvoie une valeur entière calculée.Les arguments de somme de contrôle

sont * pour calculer la valeur de somme de contrôle pour une ligne entière ou des colonnes ou expressions spécifiques séparées par une virgule avec des types de données valides.

Les types de données non valides sont text, ntext, image, XML et cursor, ainsi que sql_variant.

Implémentation

0. Calculez la somme de contrôle pour la valeur NULLE.

pic1

1. Calculez la somme de contrôle à l’aide de l’expression

Sélectionnez la somme de contrôle(‘SQL’, ‘Server’, ‘Rider’)

Sortie: -1450562993

2. Calculez la somme de contrôle à l’aide de colonnes spécifiques dans la table Adventureworks.

pic13. Calcul de la somme de contrôle pour une ligne entière

pic2 Cette fonction de somme de contrôle peut être utilisée dans data Warehouse pour détecter les changements dans une ligne. Mais, la somme de contrôle() peut renvoyer la même valeur pour deux arguments différents. Parce que l’algorithme checksum() calculera quelques bits dans un octet et ne nous donnera que la valeur de 4 octets (entier) pour l’ensemble des données. Ainsi, les possibilités d’obtenir des collisions ou des doublons sont élevées.

En fait, la SOMME de contrôle est destinée à être utilisée dans la construction d’index de hachage dans SQL Server.

Ce problème a été expliqué très clairement dans un autre blog. Vous pouvez vous référer à la faiblesse de la SOMME de CONTRÔLE expliquée.

SQL Server a d’autres fonctions de hachage telles que CHECKSUM_AGG(), HASHBYTES() et
BINARY_CHECKSUM(). Je vais vous expliquer ces fonctions dans mon prochain article de blog.

Annonces

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.