Delen via


Tabellen in datawarehousing in Microsoft Fabric

Van toepassing op: Warehouse in Microsoft Fabric

In dit artikel worden belangrijke concepten beschreven voor het ontwerpen van tabellen in Microsoft Fabric.

In tabellen worden gegevens logisch ingedeeld in een rij- en kolomindeling. Elke rij vertegenwoordigt een unieke record en elke kolom vertegenwoordigt een veld in de record.

  • In Warehouse zijn tabellen databaseobjecten die alle transactionele gegevens bevatten.

Tabelcategorie bepalen

Een stervormig schema ordent gegevens in feiten- en dimensietabellen. Sommige tabellen worden gebruikt voor integratie- of faseringsgegevens voordat u naar een feiten- of dimensietabel gaat. Wanneer u een tabel ontwerpt, bepaalt u of de tabelgegevens deel uitmaken van een feiten-, dimensie- of integratietabel. Deze beslissing informeert de juiste tabelstructuur.

  • Feitentabellen bevatten kwantitatieve gegevens die vaak worden gegenereerd in een transactioneel systeem en vervolgens in het datawarehouse worden geladen. Een retailbedrijf genereert bijvoorbeeld elke dag verkooptransacties en laadt de gegevens vervolgens in een feitentabel van een datawarehouse voor analyse.

  • Dimensietabellen bevatten kenmerkgegevens die mogelijk worden gewijzigd, maar meestal onregelmatig worden gewijzigd. De naam en het adres van een klant worden bijvoorbeeld opgeslagen in een dimensietabel en worden alleen bijgewerkt wanneer het profiel van de klant wordt gewijzigd. Als u de grootte van een grote feitentabel wilt minimaliseren, hoeft de naam en het adres van de klant zich niet in elke rij van een feitentabel te bevinden. In plaats daarvan kunnen de feitentabel en de dimensietabel een klant-id delen. Een query kan de twee tabellen samenvoegen om het profiel en de transacties van een klant te koppelen.

  • Integratietabellen bieden een plaats voor het integreren of faseren van gegevens. U kunt bijvoorbeeld gegevens laden in een faseringstabel, transformaties uitvoeren op de gegevens in fasering en de gegevens vervolgens invoegen in een productietabel.

In een tabel worden gegevens opgeslagen in OneLake als onderdeel van het magazijn. De tabel en de gegevens blijven behouden of een sessie al dan niet is geopend.

Tabellen in het magazijn

Als u de organisatie van de tabellen wilt weergeven, kunt u de tabelnamen gebruiken factof dimint als voorvoegsels gebruiken. In de volgende tabel ziet u enkele schema- en tabelnamen voor WideWorldImportersDW-voorbeelddatawarehouse .

Naam van brontabel WideWorldImportersDW Tabeltype Naam van datawarehouse-tabel
Plaats Dimensie wwi.DimCity
Volgorde Feit wwi.FactOrder
  • Tabelnamen zijn hoofdlettergevoelig.
  • Tabelnamen mogen geen tabelnamen bevatten / of \ eindigen met een ..

Een tabel maken

Voor Warehouse kunt u een tabel maken als een nieuwe lege tabel. U kunt ook een tabel maken en vullen met de resultaten van een select-instructie. Hier volgen de T-SQL-opdrachten voor het maken van een tabel.

T-SQL-instructie Beschrijving
CREATE TABLE Hiermee maakt u een lege tabel door alle tabelkolommen en -opties te definiëren.
CREATE TABLE AS SELECT Hiermee wordt een nieuwe tabel gevuld met de resultaten van een select-instructie. De tabelkolommen en gegevenstypen zijn gebaseerd op de resultaten van de select-instructie. Als u gegevens wilt importeren, kunt u deze instructie selecteren uit een externe tabel.

In dit voorbeeld wordt een tabel met twee kolommen gemaakt:

CREATE TABLE MyTable (col1 int, col2 int );  

Schemanamen

Warehouse ondersteunt het maken van aangepaste schema's. Net als in SQL Server zijn schema's een goede manier om objecten te groeperen die op een vergelijkbare manier worden gebruikt. Met de volgende code maakt u een door de gebruiker gedefinieerd schema met de naam wwi.

  • Schemanamen zijn hoofdlettergevoelig.
  • Schemanamen kunnen geen schemanamen bevatten / of \ beëindigen met een ..
CREATE SCHEMA wwi;

Data types

Microsoft Fabric ondersteunt de meest gebruikte T-SQL-gegevenstypen.

Sortering

Latin1_General_100_BIN2_UTF8 Momenteel is dit de standaardinstelling en wordt alleen ondersteund voor sortering voor zowel tabellen als metagegevens.

statistieken

De queryoptimalisatie maakt gebruik van statistieken op kolomniveau wanneer het plan voor het uitvoeren van een query wordt gemaakt. Om de queryprestaties te verbeteren, is het belangrijk dat u statistieken hebt over afzonderlijke kolommen, met name kolommen die worden gebruikt in querydeelnames. Warehouse ondersteunt het automatisch maken van statistieken.

Statistische updates worden niet automatisch uitgevoerd. Statistieken bijwerken nadat een aanzienlijk aantal rijen is toegevoegd of gewijzigd. Werk bijvoorbeeld statistieken bij na een belasting. Zie Statistieken voor meer informatie.

Primaire sleutel, refererende sleutel en unieke sleutel

Voor warehouse, PRIMAIRE SLEUTEL en UNIEKE beperking worden alleen ondersteund wanneer NIET-GECLUSTERD en NIET AFGEDWONGEN beide worden gebruikt.

REFERERENDE SLEUTEL wordt alleen ondersteund wanneer NIET AFGEDWONGEN wordt gebruikt.

Brongegevens uitlijnen op het datawarehouse

Magazijntabellen worden gevuld door gegevens uit een andere gegevensbron te laden. Als u een geslaagde belasting wilt bereiken, moeten het aantal en de gegevenstypen van de kolommen in de brongegevens worden afgestemd op de tabeldefinitie in het datawarehouse.

Als gegevens afkomstig zijn uit meerdere gegevensarchieven, kunt u de gegevens overzetten naar het datawarehouse en opslaan in een integratietabel. Zodra gegevens zich in de integratietabel bevinden, kunt u de kracht van het datawarehouse gebruiken om transformatiebewerkingen te implementeren. Zodra de gegevens zijn voorbereid, kunt u deze invoegen in productietabellen.

Beperkingen

Warehouse ondersteunt veel, maar niet alle, tabelfuncties die door andere databases worden aangeboden.

In de volgende lijst ziet u enkele tabelfuncties die momenteel niet worden ondersteund.

  • Maximaal 1024 kolommen per tabel
  • Berekende kolommen
  • Geïndexeerde weergaven
  • Gepartitioneerde tabellen
  • Sequence
  • Sparse-kolommen
  • Surrogaatsleutels voor nummerreeksen met identiteitskolommen
  • Synoniemen
  • Tijdelijke tabellen
  • Triggers
  • Unieke indexen
  • Door de gebruiker gedefinieerde typen