Privacy & Cookie
Questo sito utilizza cookie. Continuando, accetti il loro utilizzo. Ulteriori informazioni, tra cui come controllare i cookie.
Il checksum è un valore calcolato a lunghezza fissa. Viene utilizzato per rilevare gli errori accidentali nella trasmissione dei dati.
Di solito, un algoritmo viene utilizzato per calcolare il valore di checksum e ogni algoritmo è progettato per un obiettivo specifico.
Checksum funzioni o algoritmi correlati a funzioni di hash, impronte digitali, la randomizzazione funzioni, e funzioni di hash crittografico
Alcuni algoritmi di Checksum
- Parità di byte
- Modulare somma
- Posizione-dipendente checksum
Checksum() Funzione – SQL Server
Questa funzione di hash utilizzata per calcolare il valore di checksum per un’intera riga o una lista di espressioni o delle colonne. Restituisce un valore intero calcolato.
Gli argomenti di checksum sono * per calcolare il valore di checksum per l’intera riga o colonne o espressioni specifiche separate da virgola con tipi di dati validi.
I tipi di dati non validi sono text, ntext, image, XML e cursor e anche sql_variant.
Implementazione
0. Calcola checksum per valore NULL.
1. Calcola checksum usando expression
Seleziona checksum (‘SQL’, ‘Server’, ‘Rider’)
Output: -1450562993
2. Calcola checksum utilizzando colonne specifiche nella tabella Adventureworks.
3. Calcola checksum per l’intera riga
Questa funzione di checksum può essere utilizzata nel data warehouse per rilevare le modifiche di una riga. Ma, il checksum () può restituire lo stesso valore per due argomenti diversi. Perché, checksum () algoritmo calcolerà pochi bit in un byte e ci dà solo 4 byte (intero) valore da per l’intero dato. Quindi, le possibilità di ottenere collisioni o duplicati sono alte.
In realtà, CHECKSUM è destinato all’uso nella creazione di indici hash in SQL Server.
Questo problema è stato spiegato molto chiaramente in un altro blog. È possibile fare riferimento debolezza CHECKSUM spiegato.
SQL Server ha altre funzioni hash come CHECKSUM_AGG (), HASHBYTES () e
BINARY_CHECKSUM (). Spiegherò su queste funzioni nel mio prossimo post sul blog.