Forståelse Hierarchyid Data Skriv inn SQL Server

Denne artikkelen tar for seg betydningen og bruken av hierarchyid datatype og metoden som brukes i SQL Server.

Hierarchyid kan defineres som en systemdatatype eller en variabel lengde. Som navnet antyder brukes det til å representere forskjellige posisjoner i en hierarchy. Imidlertid kolonnetype hierarchyid representerer ikke automatisk en hierarchy tre. Det avhenger helt av applikasjonen, å tildele og generere hierarchyid-verdier på en måte at verdiene er i stand til å gjenspeile deres forhold til rader. Alle data der ett element kan betraktes som en forelder til et annet element, danner en Hierarelegant forhold.

Hierarchyid datatype

Hierarchyid-datatypeverdien representerer en posisjon i hietrarchy tre. Her er noen av de grunnleggende egenskapene til hierarchyid verdier:

Ekstremt kompakt

Hierarchyid datatype komprimerer dataene til små biter som kan bidra betydelig til å lagre dataene effektivt i systemet. I gjennomsnitt avhenger bitene som kreves for å representere en trenode for X-noder av fanout, gjennomsnittlig underinndeling eller relaterte verdier til en node. Så hvis en organisasjon med en hierarchy på over 100,000 6 mennesker med en fanout på 38 nivåer vil bare ta omtrent XNUMX biter.

Dybde – første ordens sammenligning

Hvis to errarchyid er gitt X og Z, X < Z, dette betyr at X vil komme foran i dybden-første traversering av hieenrarchy tre. All indeks over hierarchy datatype lagres i dybde-første rekkefølge. Og noder som er plassert i dybde-først traversering nær hverandre, er også lagret i nærheten av hverandre. For eksempel vil de ansatte i en avdeling bli lagret ved siden av sin lederpost.

Meglingrary Sletting og innsetting

GetDescendant-metoden lar brukere generere søsken i høyre/venstre seksjon eller mellom en hvilken som helst node eller to søskennoder. Systemet sørger også for å opprettholde sammenligningsegenskapen, selv når en node er slettet eller satt inn irarchy. Most slettinger og innsettinger bevares av egenskapen compactness. Men hvis en bruker setter inn mellom to eksisterende noder, vil den produsere hierarchyid-verdier med en litt ukompakt representasjon.

Kodingen som brukes i hierarchyid-typen er begrenset til 892 byte. Så noder med et høyere representasjonsområde som overstiger 892 byte vil ikke bli representert av hierarchyid type.

Konvertering av datatype

Brukere kan konvertere hirarchyid datatype inn i andre datatyper ved å bruke følgende metoder:

  • Brukeren kan bruke ToString () metode for å konvertere hierarchyid-verdi til en logisk representasjon av en nvarchar(4000) datatype.
  • For å skjule hierarchyid til varbinary, kan brukere bruke datatypene Les () og Skriv ().
  • Brukere må konvertere Hierarchyid-data skriv inn i strenger før overføring av hierarchyid-parametere via SOAP.

Hierarchyid-typen bruker logikk for å kode informasjon om en enkelt node fra hietrarchy-treet ved å kode banen gjennom alle kanalertarting fra roten til noden. Denne banen skaper en logisk representert sekvens, der alle noder følger en standardbane som starts fra roten. Sammenligningen mellom disse barna er utført basert på deres heltallssekvenser som er atskilt med prikker og er representert i ordbokrekkefølge. Heirarchyid er en enkel måte å lage spørringer og lagre data pårarchik orden.

Hvis du kjører en kommersiell applikasjon på SQL Server, må du sørge for at du grundig adresserer scenarier for tap av data som oppstår ved en databasekrasj. Vurder å få en toppmoderne sql reparasjon verktøyet.

Forfatterintroduksjon:

Victor Simon er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert tilgangsgjenoppretting og sql-programvareprodukter. For mer informasjon besøk www.datanumen. Med

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *