Tabeller i Fabric data warehouse

Gælder for:✅ Warehouse i Microsoft Fabric

Denne artikel forklarer nøglebegreber til design af tabeller i Microsoft Fabric.

I tabeller organiserer du logisk data i række-og-kolonne-format. Hver række repræsenterer en entydig post, og hver kolonne repræsenterer et felt i posten.

Bestem tabelkategori

Et stjerneskema organiserer data i faktatabeller og dimensionstabeller. Nogle tabeller bruges til integration eller lagring af data, før du flytter til en fakta- eller dimensionstabel. Når du designer en tabel, skal du beslutte, om tabeldataene tilhører en fakta-, dimensions- eller integrationstabel. Denne beslutning informerer den relevante tabelstruktur.

  • Faktatabeller indeholder kvantitative data genereret af transaktionssystemer og derefter indlæst i datawarehouset. En detailvirksomhed genererer f.eks. salgstransaktioner hver dag og indlæser derefter dataene i en faktatabel for data warehouse til analyse.

  • Dimensionstabeller indeholder attributdata, der kan ændres, men som regel sjældent ændres. For eksempel gemmer du kundens navn og adresse i en dimensionstabel og opdater dem kun, når kundens profil ændres. Hvis du vil minimere størrelsen på en stor faktatabel, behøver kundens navn og adresse ikke at være i hver række i en faktatabel. I stedet kan faktatabellen og dimensionstabellen dele et kunde-id. En forespørgsel kan joinforbinde de to tabeller for at knytte en kundes profil og transaktioner.

  • Integrationstabeller giver mulighed for at integrere eller gemme data. Du kan f.eks. indlæse data i en midlertidig tabel, udføre transformationer af dataene i midlertidig lagring og derefter indsætte dataene i en produktionstabel.

En tabel gemmer data i OneLake som en del af lageret. Tabellen og dataene bevares, uanset om en session er åben eller ej.

Tabeller på lageret

For at vise organiseringen af tabellerne, brug fact, dim, eller int som præfikser til tabelnavnene. Følgende tabel viser nogle af skema- og tabelnavnene for WideWorldImportersDW eksempeldatalageret.

Navn på WideWorldImportersDW-kildetabel Tabeltype data warehouse-tabelnavn
By Dimension wwi.DimCity
Ordre Fakta wwi.FactOrder

Opret en tabel

For Warehouse kan du oprette en tabel som en ny tom tabel. Du kan også oprette og udfylde en tabel med resultaterne af en select-sætning. Følgende tabel viser T-SQL-kommandoerne til oprettelse af en tabel.

T-SQL-sætning Beskrivelse
OPRET TABEL Opretter en tom tabel ved at definere alle tabelkolonner og -indstillinger.
OPRET TABEL SOM VÆLG Udfylder en ny tabel med resultaterne af en select-sætning. Tabelkolonnerne og datatyperne er baseret på resultaterne af select-sætningen. Hvis du vil importere data, kan denne sætning vælge fra en ekstern tabel.

I dette eksempel oprettes en tabel med to kolonner:

CREATE TABLE MyTable (col1 int, col2 int );

Fabric data warehouse understøtter IDENTITY-kolonner i tabeller for automatisk at indsætte en stigende talsekvens. For at komme i gang, se Use IDENTITY-kolonnerne i Fabric data warehouse.

På samme måde kan du ændre eksisterende tabeller med ALTER TABLE (Transact-SQL) T-SQL-syntaksen.

Metadata for visninger i lageret kan blive forældede på grund af ændringer i de underliggende tabeller, som visningen er afhængig af. For at opdatere en visnings metadata, brug sys.sp_refreshview (Transact-SQL). Visninger oprettet med SCHEMABINDING blokerer ændringer til underliggende objekter, når disse ændringer påvirker visningsdefinitionen. Hvis du ikke opretter en visning med SCHEMABINDING, kør sp_refreshview når du laver ændringer i objekterne under visningen, som påvirker definitionen af visningen. Ellers kan visningen give uventede resultater, når du forespørger den.

Skemanavne

Lageret understøtter oprettelse af brugerdefinerede skemaer. Ligesom i SQL Server er skemaer en god måde at gruppere objekter, der bruges på lignende vis. Følgende kode opretter et brugerdefineret skema med navnet wwi.

  • Skemanavne må ikke indeholde / eller \ slutte med en ..
CREATE SCHEMA wwi;

Datatyper

Microsoft Fabric understøtter de mest almindeligt anvendte T-SQL-datatyper.

Sortering

Fabric lagre konfigureres baseret på arbejdsområdets samlingsindstilling, som som standard er den store og skrivefølsomme (CS) samling Latin1_General_100_BIN2_UTF8. Når man opretter et nyt lager, anvendes sammenstillingen af arbejdsområdet. For mere information, se data warehouse collation.

Understøttede lagersorteringer er:

  • Latin1_General_100_BIN2_UTF8 (standard)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Du kan oprette et lager med en ikke-standard kollation ved at bruge REST API'en. Du kan få mere at vide under Sådan opretter du et lager med ci-sortering (ikke forskel på store og små bogstaver).

Efter du har sat kollationen under databaseoprettelsen, arver alle efterfølgende objekter (tabeller, kolonner osv.) denne standard-kollation. Når du har oprettet et lager, kan du ikke ændre sorteringsindstillingen.

Statistik

Forespørgselsoptimering bruger statistik på kolonneniveau, når den opretter planen for udførelse af en forespørgsel. For at forbedre ydeevnen af forespørgsler er det vigtigt at have statistikker for individuelle kolonner, især kolonner, der bruges i forespørgselsjoinforbindelser. Lageret understøtter automatisk oprettelse af statistikker.

Statistisk opdatering sker ikke automatisk. Opdater statistik, når et betydeligt antal rækker er tilføjet eller ændret. For eksempel opdatere statistikker efter en belastning. For mere information, se Statistik i Fabric data warehouse.

Primær nøgle, fremmed nøgle og entydig nøgle

For Warehouse kan du kun bruge PRIMARY KEY og UNIQUE begrænsninger, når du bruger både NONCLUSTERED og NOT ENFORCED.

Du kan kun bruge, FOREIGN KEY når du bruger NOT ENFORCED.

Juster kildedata i forhold til data warehouse

Du kan udfylde lagertabeller ved at indlæse data fra en anden datakilde. For at indlæse data med succes skal antallet og datatyperne af kolonnerne i kildedataene stemme overens med tabeldefinitionen i lageret.

Hvis data kommer fra flere datalagre, kan du portere dataene ind i lageret og gemme dem i en integrationstabel. Når dataene er i integrationstabellen, kan du bruge lagerets kraft til at implementere transformationsoperationer. Når dataene er forberedt, kan du indsætte dem i produktionstabeller.

Begrænsninger

Warehouse understøtter mange, men ikke alle, tabelfunktioner, der tilbydes af andre databaser.

  • Globale midlertidige tabeller understøttes ikke i øjeblikket.

På følgende liste vises nogle af de tabelfunktioner, der ikke understøttes i øjeblikket.

  • 1.024 maksimale kolonner pr. tabel
  • Beregnede kolonner
  • Indekserede visninger
  • Partitionerede tabeller
  • Gennemløb
  • Sparsomme kolonner
  • Synonymer
  • Udløsere
  • Entydige indeks
  • Brugerdefinerede typer
  • Eksterne tabeller

Fabric data warehouse cacher metadata fra lagerobjekter for at give hurtig adgang til objekter og deres definitioner. For meget store lagre med mere end 750.000 objekter (for eksempel tabeller, visninger, lagrede procedurer og funktioner) cacher systemet ikke længere metadata. I stedet forespørger skemahandlinger direkte til metadatalageret. Dette design sikrer systemstabilitet og forhindrer cache-sult i ekstremt store databaser. Skemaopdateringshandlinger kan dog tage længere tid sammenlignet med mindre lagersteder, hvor cachelagring af metadata er aktiveret.

Vigtigt

Der er begrænsninger ved at tilføje tabelbegrænsninger eller kolonner, når man bruger Git Integration til Fabric Warehouse Development.