Hva er en uniqueIdentifier i SQL?

Hva er en uniqueIdentifier i SQL?


En rekke unike identifikatorer (referert til som "uniqueidentifiers") står til din disposisjon når du utformer en database. Personnummer, telefonnummer, og ordrenumre kan alle hjelpe deg å organisere mestre tabeller. Men du kan ha detalj tabeller som inneholder dupliserte 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.

Hensikt

Noen tabeller i databasen kan inneholde mange rader med like data. For eksempel kan en kunde har kalt deg tre ganger på samme dag. Din "kunde call" tabellen har dato, tid og kunde-ID. En utvalgt uttalelse med en av disse elementene vil trolig returnere mange poster. Hvis du oppretter en fjerde element for denne tabellen - ring ID - bruker uniqueIdentifier datatype, oppretter maskinen en unik verdi automatisk for hver post. Ved å angi samtale ID i din velger, oppdatere og slette uttalelser, kan du få tilgang til enkelte poster i tabellen.

unikhet

Den uniqueIdentifier garanterer at to datamaskiner hvor som helst i verden vil produsere samme verdi. I tillegg til en tilfeldig kode generert av datamaskinen, inneholder identifikatoren informasjon fra datamaskinens nettverkskort og CPU klokke. Den garanterte globale unikhet er attraktivt for store organisasjoner som har databaser på mange forskjellige datamaskiner. Data holdt på en datamaskin kan alltid skilles fra data på en annen.

Bruker

Å ha en unik verdi i en tabell rad lar deg finne en enkelt oppføring, endre innholdet eller slette det. 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 postene unike verdier. Mens du gjør flette replikering, en automatisk vedlikehold av databasen funksjonen, vil Microsoft SQL Server programvare legge et globalt unik identifikator til tabeller som mangler en unik ID. Den unike identifikatoren forsikrer at replikering kan utføres riktig.

ulemper

Den uniqueIdentifier datatype er en ganske lang (16 byte) felt som genererer obskure verdier nyttige 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 tregere når du legger til poster.

Alternatives

Hvis du trenger en rekord identifikator som er unik for bare tabellen, og trenger ikke å være globalt unik, er det enklere å sette opp et helt eller lang heltall type og sette sin identitet eiendom. Dette gir et mindre felt som er lett å lese. Du kan sette den i bruk som en sekvensiell ordrenummer eller en annen kjent element.