Bit array

Et bitarray (på engelsk bitmap ) er en datastruktur , spesielt en tabell med binære data. Dette er en ordnet samling av booleske- lignende biter .

Valør

Visstnok antyder navnetabellen et rutenett som ligner på kryssord , men en bit tabell kan veldig godt være i tre dimensjoner eller mer. Imidlertid kan antall elementer være endelig, kjent eller til og med definert, og samlingen kan oppfylles i henhold til en bane som går gjennom hver "kolonne" og hver "rad". Dette polygrafområdet er redusert til en enkelt tråd av Ariane som ble brukt av Theseus i labyrinten til Daedalus . Dette er grunnen til at begrepene kart (kart), spill, sortiment (sett), sett eller nettverk (matrise), men også wire (streng) på engelsk møtes i et enkelt objekt som er nyttig for programmering .

applikasjon

En grafisk anvendelse av bitmatrisen er det binære bildet . Den Bloom filter , datastruktur, bruker en bit matrise.

Støtte av programmeringsspråk

Bitmap-indeks

En bitmap-type databaseindeks er en rekke bits som fungerer på prinsippet om kardinalitet . Denne tabellen har en rad for hver tuple i den indekserte tabellen og en kolonne for hver enkelt verdi i den indekserte kolonnen. Det anses generelt at bitmapindekser er å foretrekke fremfor andre indekser når kolonnen som skal indekseres har lav kardinalitet, selv om dette er omstridt. For eksempel er årene generelt få og ryddig.

Eksempel. Tenk på følgende persontabell som representerer mennesker med fødselsåret.

Ingen
Brukernavn fødselsår
1 1988
2 1990
3 1992
4 1990

Bitmapindeksen som tilsvarer indekseringen av fødselsårskolonnen , gir følgende tabell. Den første raden har verdien 1 for 1988-kolonnen og 0 for de andre kolonnene siden denne personen ble født i 1988.

Brukernavn 1988 1990 1992
1 1 0 0
2 0 1 0
3 0 0 1
4 0 1 0

Den forrige bitmapindeksen, kalt BIDX_PERS_ANNEE, er opprettet med kommandoen:

CREATE BITMAP INDEX BIDX_PERS_ANNEE ON Personne (anneeNaissance )

I praksis er hver rad med en bitmapindeks også knyttet til en fysisk adresse, noe som gjør det mulig å finne den raskt. Hele poenget med bitmapindekser er på den ene siden at de kan komprimeres ved hjelp av teknikker som områdekoding, og på den andre siden at de brukes til å svare på spørsmål ved å utføre bitvise operasjoner .

Merknader og referanser

  1. Christian Soutou, SQL for Oracle: Applikasjoner med Java, PHP og XML: Optimalisering av spørsmål og skjemaer - Med 50 korrigerte øvelser ( les online )
  2. Olivier Heurtel, Oracle 11g: Administrasjon ( les online )
  3. "  Bitmap Index vs. B-treindeks: Hvilken og når?  » , På www.oracle.com (åpnet 15. november 2016 )

Se også