Privacy & Cookies
deze website maakt gebruik van cookies. Door verder te gaan, gaat u akkoord met het gebruik ervan. Meer informatie, waaronder het beheren van cookies.
Controlesom is berekende waarde met vaste lengte. Het wordt gebruikt om de toevallige fouten in de gegevensoverdracht te ontdekken.
gewoonlijk wordt een algoritme gebruikt om de checksumwaarde te berekenen en elk algoritme is ontworpen voor een specifiek doel.
Checksumfuncties of algoritmen zijn gerelateerd aan hashfuncties, vingerafdrukken, randomisatiefuncties en cryptografische hashfuncties
enkele Checksumalgoritmen
- Pariteitsbyte
- modulaire Som
- Positieafhankelijke checksums
Checksum() functie-SQL Server
deze hashfunctie wordt gebruikt om checksumwaarde te berekenen voor een hele rij of lijst met uitdrukkingen of kolommen. Het retourneert een berekende gehele waarde.
Controlesomargumenten zijn * om controlesomwaarde te berekenen voor volledige rij of specifieke kolommen of expressies gescheiden door komma ‘ s met geldige gegevenstypen.
ongeldige gegevenstypen zijn tekst, ntext, image, XML en cursor, en ook sql_variant.
uitvoering
0. Controlesom berekenen voor NULL-waarde.
1. Controlesom berekenen met behulp van expressie
selecteer controlesom (‘SQL’,’ Server’,’Rider’)
uitvoer: -1450562993
2. Bereken checksum met behulp van specifieke kolommen in Adventureworks tabel.
3. Controlesom berekenen voor hele rij
deze controlesomfunctie kan worden gebruikt in datawarehouse om veranderingen in een rij te detecteren. Maar de checksum () kan dezelfde waarde retourneren voor twee verschillende argumenten. Omdat, checksum () algoritme zal berekenen enkele bits in een byte en geeft ons slechts 4 byte (integer) waarde van voor de hele gegevens. Dus, de mogelijkheden van het krijgen van botsing of duplicaten is hoog.
eigenlijk is CHECKSUM bedoeld voor gebruik bij het bouwen van hash indexen in SQL Server.
dit probleem is heel duidelijk uitgelegd in een andere blog. U kunt verwijzen CHECKSUM zwakte uitgelegd.
SQL Server heeft andere hash functie zoals CHECKSUM_AGG (), HASHBYTES () en
BINARY_CHECKSUM (). Ik zal uitleggen over deze functies in mijn volgende blog post.