? En mängd unika identifierare ( kallad " uniqueidentifiers " ) finns till ditt förfogande när du utformar en databas . Personnummer , telefonnummer och beställningsnummer kan alla hjälpa dig att organisera huvudtabeller . Däremot kan du behöva specificera tabeller som innehåller dubblerade data , och har ingen möjlighet att hitta en viss post . Den uniqueidentifier datatypen är en industriell styrka lösning på detta problem . Den garanterar att varje post i tabellen får ett unikt värde som inte är duplicerade även om du använder samma databas på flera olika datorer . Syfte
Vissa tabeller i din databas kan innehålla flera rader med dubbla uppgifter . Till exempel kan en kund ha ringt tre gånger på samma dag . Din " kundsamtal " tabellen har datum , tid och kundnummer . En select-sats med hjälp av någon av dessa poster kommer sannolikt tillbaka många poster . Om du skapar en fjärde punkt i denna tabell - samtal ID - med typen uniqueidentifier data skapar datorn ett unikt värde automatiskt för varje post . Genom att ange samtal ID i din välja , uppdatera och ta bort uttalanden , kan du komma åt enskilda poster i tabellen . Addera unika
uniqueidentifier garanterar att det inte finns två datorer som helst i världen kommer att producera samma värde . Förutom en slumpmässig kod som genereras av datorn , innehåller märkningen information från datorns nätverkskort och CPU klockan . Den garanterade globala unika är attraktivt för stora organisationer som har databaser på flera olika datorer . Uppgifter som hålls på en dator kan alltid skiljas från uppgifter om en annan .
Använder
ha ett unikt värde i en tabellrad kan du hitta en enda post , ändra dess innehåll , eller radera det . Om du har flera förekomster av samma data utan unik identifierare , kan du inte välja bara en post . Så arkiveringssystem beror på att ge dina poster unika värden . Medan du gör merge-replikering , en automatisk databas underhåll funktion , kommer Microsoft SQL Server lägger till en global unik identifierare till tabeller som saknar ett unikt ID . Den unika identifierare försäkrar att replikering kan utföras korrekt .
Nackdelar
uniqueidentifier datatyp är en ganska lång ( 16 - byte ) fält som genererar obskyra värden användbart endast till datorn. Läsa igenom det på skärmen , ser du inte något samband mellan dess innehåll och innehållet i andra områden såsom namn , datum eller beskrivning . Dess slumpmässiga naturen betyder att det inte följer ett förutsägbart mönster som du kan använda i dina program . Det tar extra tid för servern att generera uniqueidentifier , vilket gör bearbetningen långsammare när du lägger till poster .
Alternatives
p Om du behöver en registeridentifierare som är unik för tabellen endast , och inte behöver vara världsunikt , det är enklare att ställa in ett heltal eller långa heltal typ och ange sin identitet egendom . Detta ger en mindre fält som är lätt att läsa . Du kan ta den i bruk som en sekventiell ordning nummer eller någon annan bekant objekt .