Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
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.
- For mer om datatyper, se Datatyper i Fabric datalager.
- Når du oppretter en tabell i Warehouse, se på referansen til datatyper i CREATE TABLE (Transact-SQL).
- Hvis du vil ha en veiledning for å opprette en tabell i Warehouse, kan du se Opprette tabeller.
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.
- For syntaks, se ALTER TABLE.
- Hvis du vil ha mer informasjon, kan du se Primærnøkler, sekundærnøkler og unike nøkler.
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.