? En rekke unike identifikatorer (referert til som " uniqueidentifiers ") står til din disposisjon når du designer en database . Personnummer, telefonnumre og bestillingsnumre kan alle hjelpe deg å organisere mestre tabeller. Men du kan ha detalj tabeller som inneholder like data , og har ingen mulighet til å finne en bestemt post . Den UniqueIdentifier datatype er en industriell styrke løsning på dette problemet . Det garanterer at hver post i tabellen får en unik verdi som ikke er duplisert , selv om du bruker samme database på mange forskjellige datamaskiner . Formål
Noen tabeller i databasen kan inneholde mange rader med like data . For eksempel kan en kunde ha ringt deg tre ganger på samme dag . Din " kunde ringer " tabellen har dato , tid og kundenummer. En SELECT-setning med en av disse elementene vil trolig tilbake mange poster . Hvis du oppretter en fjerde element for denne tabellen - ring ID - bruker UniqueIdentifier datatype, lager datamaskinen en unik verdi automatisk for hver post . Ved å angi samtale ID i din velge , oppdatere og slette opplysninger , kan du få tilgang til enkelte poster i tabellen .
Unikt
UniqueIdentifier garanterer at ingen to datamaskiner hvor som helst i verden vil produsere den samme verdi . I tillegg til en tilfeldig kode generert av datamaskinen , inneholder identifikatoren informasjon fra datamaskinens nettverkskort og CPU klokke . Den garanterte global unikhet er attraktiv for store organisasjoner som har databaser på mange forskjellige datamaskiner . Data som ble oppbevart på en datamaskin kan alltid skilles fra data på en annen.
Bruker
Å ha en unik verdi i en tabell rad kan du finne en enkelt oppføring , endre innholdet , eller slette den. Hvis du har flere forekomster av de samme dataene med ingen unik identifikator, kan du ikke velge bare én post . Så rekord vedlikehold avhenger gi dine poster unike verdier . Mens du gjør merge replikering , en automatisk vedlikehold av databasen funksjon, vil Microsoft SQL Server-programvaren legger til en global unik identifikator til tabeller som mangler en unik ID . Den unike identifikatoren forsikrer at replikering kan utføres korrekt .
Ulemper
UniqueIdentifier datatype er en ganske lang ( 16 byte ) felt som genererer obskure verdier nyttig bare til datamaskinen. Lese gjennom den på skjermen din, vil du ikke se noen sammenheng mellom innholdet og innholdet i andre felt som navn , dato eller beskrivelse. Dens tilfeldig natur betyr at det ikke følger et forutsigbart mønster som du kan bruke i dine programmer . Det tar ekstra tid for serveren å generere UniqueIdentifier , noe som gjør behandlingen langsommere når du legger til poster.
Alternatives
p Hvis du trenger en rekord identifikator som er unik for tabellen bare , og gjelder ikke trenger å være globalt unik , er det enklere å sette opp et heltall eller lang heltall type og sette sin identitet eiendom. Dette gir en mindre felt som er lett å lese. Du kan sette den til å bruke som en sekvensiell ordrenummer eller noen andre kjente element.