Tabeller i Fabric datalager

Gjelder for:✅ Warehouse i Microsoft Fabric

Denne artikkelen forklarer nøkkelkonsepter for utforming av tabeller i Microsoft Fabric.

I tabeller organiserer du logisk data i rad-og-kolonne-format. Hver rad representerer en unik post, og hver kolonne representerer et felt i posten.

Bestemme tabellkategori

Et stjerneskjema organiserer data i faktatabeller og dimensjonstabeller. Noen tabeller brukes til integrering eller oppsamling av data før du flytter til en fakta- eller dimensjonstabell. Når du utformer en tabell, må du bestemme om tabelldataene hører til i en fakta-, dimensjons- eller integreringstabell. Denne beslutningen informerer riktig tabellstruktur.

  • Faktatabeller inneholder kvantitative data generert av transaksjonssystemer og deretter lastet inn i datalageret. En detaljhandel genererer for eksempel salgstransaksjoner hver dag, og laster deretter inn dataene i en faktatabell for datalager for analyse.

  • Dimensjonstabeller inneholder attributtdata som kan endres, men som vanligvis endres sjelden. For eksempel, lagre kundens navn og adresse i en dimensjonstabell og oppdater dem kun når kundens profil endres. Hvis du vil minimere størrelsen på en stor faktatabell, trenger ikke kundens navn og adresse å være i hver rad i en faktatabell. I stedet kan faktatabellen og dimensjonstabellen dele en kunde-ID. En spørring kan bli med i de to tabellene for å knytte en kundes profil og transaksjoner.

  • Integreringstabeller er et sted der du kan integrere eller sette opp data. Du kan for eksempel laste inn data til en oppsamlingstabell, utføre transformasjoner på dataene i oppsamling og deretter sette inn dataene i en produksjonstabell.

En tabell lagrer data i OneLake som en del av lageret. Tabellen og dataene vedvarer uansett om en økt er åpen eller ikke.

Bord på lageret

For å vise organiseringen av tabellene, bruk fact, dim, eller int som prefikser til tabellnavnene. Tabellen nedenfor viser noen av skjema- og tabellnavnene for WideWorldImportersDW eksempeldatavarehuset.

Navn på WideWorldImportersDW-kildetabell Tabelltype datalager-tabellnavn
City Dimensjon wwi.DimCity
Ordne Fakta wwi.FactOrder
  • Tabellnavn kan ikke inneholde / eller \ slutte med en ..
  • Du kan lage session-scoped midlertidige (#temp) tabeller i Fabric datalager. For mer informasjon, se Midlertidige tabeller i Fabric datalager.

Opprett en tabell

For Warehouse kan du opprette en tabell som en ny tom tabell. Du kan også opprette og fylle ut en tabell med resultatene av en utvalgt setning. Tabellen nedenfor viser T-SQL-kommandoene for å lage en tabell.

T-SQL-setning Bekrivelse
OPPRETT TABELL Oppretter en tom tabell ved å definere alle tabellkolonnene og alternativene.
OPPRETT TABELL SOM UTVALG Fyller ut en ny tabell med resultatene av en utvalgt setning. Tabellkolonnene og datatypene er basert på resultatene fra utvalgssetningen. Hvis du vil importere data, kan denne setningen velge fra en ekstern tabell.

Dette eksemplet oppretter en tabell med to kolonner:

CREATE TABLE MyTable (col1 int, col2 int );

Fabric datalager støtter IDENTITY-kolonner i tabeller for automatisk å sette inn en økende tallsekvens. For å komme i gang, se Use IDENTITY-kolonnene i Fabric datalager.

På samme måte kan du endre eksisterende tabeller med ALTER TABLE (Transact-SQL) T-SQL-syntaksen.

Metadata for visninger i lageret kan bli utdatert på grunn av endringer i de underliggende tabellene som visningen er avhengig av. For å oppdatere en visnings metadata, bruk sys.sp_refreshview (Transact-SQL). Visninger opprettet med SCHEMABINDING blokkerer endringer i underliggende objekter når disse endringene påvirker visningsdefinisjonen. Hvis du ikke lager en visning med SCHEMABINDING, kjør sp_refreshview når du gjør endringer i objektene under visningen som påvirker definisjonen av visningen. Ellers kan visningen gi uventede resultater når du spør om den.

Skjemanavn

Lageret støtter oppretting av egendefinerte skjemaer. Som i SQL Server er skjemaer en god måte å gruppere objekter som brukes på lignende måte. Følgende kode oppretter et brukerdefinert skjema kalt wwi.

  • Skjemanavn kan ikke inneholde / eller \ slutte med en ..
CREATE SCHEMA wwi;

Datatyper

Microsoft Fabric støtter de mest brukte T-SQL-datatypene.

Sortering

Fabric lagrene konfigureres basert på arbeidsområdets samlingsinnstilling, som som standard er den case-sensitive (CS) samlingen Latin1_General_100_BIN2_UTF8. Når man oppretter et nytt lager, brukes sortering av arbeidsområdet. For mer informasjon, se datalager collation.

Støttede lagersorteringer er:

  • Latin1_General_100_BIN2_UTF8 (standard)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Du kan lage et lager med en ikke-standard sortering ved å bruke REST API. Hvis du vil ha mer informasjon, kan du se Opprette et lager med sortering som ikke skiller mellom store og små bokstaver.

Etter at du har satt sorteringen under databaseopprettelsen, arver alle påfølgende objekter (tabeller, kolonner osv.) denne standardsorteringen. Etter at du har opprettet et lager, kan du ikke endre sorteringsinnstillingen.

statistikk

Spørringsoptimalisering bruker statistikk på kolonnenivå når den oppretter planen for kjøring av en spørring. For å forbedre spørringsytelsen er det viktig å ha statistikk på individuelle kolonner, spesielt kolonner som brukes i spørringskoblinger. Warehouse støtter automatisk oppretting av statistikk.

Statistisk oppdatering skjer ikke automatisk. Oppdater statistikk etter at et betydelig antall rader er lagt til eller endret. For eksempel, oppdater statistikk etter en lasting. For mer informasjon, se Statistikk i Fabric datalager.

Primærnøkkel, sekundærnøkkel og unik nøkkel

For Warehouse kan du bruke PRIMARY KEY og UNIQUE begrensninger kun når du bruker både NONCLUSTERED og NOT ENFORCED.

Du kan bare bruke FOREIGN KEY når du bruker NOT ENFORCED.

Justere kildedata med datalageret

Du kan fylle Warehouse-tabeller ved å laste inn data fra en annen datakilde. For å laste inn data på en vellykket måte, må antall og datatyper for kolonnene i kildedataene samsvare med tabelldefinisjonen i lageret.

Hvis data kommer fra flere datalagre, kan du portere dataene inn i lageret og lagre dem i en integrasjonstabell. Når dataene er i integrasjonstabellen, kan du bruke kraften i lageret til å implementere transformasjonsoperasjoner. Når dataene er forberedt, kan du sette dem inn i produksjonstabeller.

Begrensninger

Lageret støtter mange, men ikke alle, av tabellfunksjonene som tilbys av andre databaser.

  • Globale midlertidige tabeller støttes ikke for øyeblikket.

Listen nedenfor viser noen av tabellfunksjonene som for øyeblikket ikke støttes.

  • Maksimalt 1 024 kolonner per tabell
  • Beregnede kolonner
  • Indekserte visninger
  • Partisjonerte tabeller
  • Forløp
  • Sparsomme kolonner
  • Synonymer
  • Utløsere
  • Unike indekser
  • Brukerdefinerte typer
  • Eksterne tabeller

Fabric datalager cacher objektmetadata for å gi rask tilgang til objekter og deres definisjoner. For svært store lagre med mer enn 750 000 objekter (for eksempel tabeller, visninger, lagrede prosedyrer og funksjoner), cacher ikke systemet lenger metadata. I stedet spør skjemaoperasjoner direkte i metadatalageret. Dette designet sikrer systemstabilitet og forhindrer cache-sult i ekstremt store databaser. Skjemaoppdateringsoperasjoner kan imidlertid ta lengre tid sammenlignet med mindre lagre der metadatabufring er aktivert.

Viktig

Det er begrensninger ved å legge til tabellbegrensninger eller kolonner når man bruker Git-integrasjon for Fabric Warehouse Development.