Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Applies to:✅ Warehouse i Microsoft Fabric
Denna artikel förklarar nyckelkoncept för att designa tabeller i Microsoft Fabric.
I tabeller organiserar du logiskt data i rad- och kolumnformat. Varje rad representerar en unik post och varje kolumn representerar ett fält i posten.
Fastställa tabellkategori
Ett star-schema organiserar data i faktatabeller och dimensionstabeller. Vissa tabeller används för integrering eller mellanlagring av data innan de flyttas till en fakta- eller dimensionstabell. När du utformar en tabell bestämmer du om tabelldata ska tillhöra en fakta-, dimensions- eller integrationstabell. Detta beslut påverkar den lämpliga tabellstrukturen.
Faktatabeller innehåller kvantitativa data som genereras av transaktionssystem och sedan laddas in i datalagret. Ett detaljhandelsföretag genererar till exempel försäljningstransaktioner varje dag och läser sedan in data i en faktatabell för informationslager för analys.
Dimensionstabeller innehåller attributdata som kan ändras men vanligtvis ändras sällan. Till exempel, lagra kundens namn och adress i en dimensionstabell och uppdatera dem endast när kundens profil ändras. För att minimera storleken på en stor faktatabell behöver kundens namn och adress inte finnas i varje rad i en faktatabell. I stället kan faktatabellen och dimensionstabellen dela ett kund-ID. En fråga kan koppla de två tabellerna för att associera en kunds profil och transaktioner.
Integreringstabeller är en plats för integrering eller mellanlagring av data. Du kan till exempel läsa in data till en mellanlagringstabell, utföra transformeringar på data i mellanlagringen och sedan infoga data i en produktionstabell.
En tabell lagrar data i OneLake som en del av datalagret. Tabellen och data bevaras oavsett om en session är öppen eller inte.
Tabeller i informationslagret
För att visa tabellernas organisation, använd fact, dim, eller int som prefix till tabellnamnen. Följande tabell visar några av schema- och tabellnamnen för WideWorldImportersDW :s exempeldatalager.
| WideWorldImportersDW Källtabellnamn | Tabelltyp | Data Warehouse tabellnamn |
|---|---|---|
| Stad | Mått | wwi.DimCity |
| Beställning | Fakta | wwi.FactOrder |
- Tabellnamn får inte innehålla
/eller\sluta med en.. - Du kan skapa sessionsbegränsade tillfälliga (
#temp) tabeller i Fabric Data Warehouse. För mer information, se Temp tables in Fabric Data Warehouse.
Skapa en tabell
För Warehouse kan du skapa en tabell som en ny tom tabell. Du kan också skapa och fylla i en tabell med resultatet av en select-instruktion. Följande tabell visar T-SQL-kommandon för att skapa en tabell.
| T-SQL-instruktion | beskrivning |
|---|---|
| SKAPA TABELL | Skapar en tom tabell genom att definiera alla tabellkolumner och alternativ. |
| SKAPA TABELL SOM SELECT | Fyller en ny tabell med resultatet av en SELECT-sats. Tabellkolumnerna och datatyperna baseras på select-instruktionsresultaten. För att importera data kan detta uttalande välja från en extern tabell. |
I det här exemplet skapas en tabell med två kolumner:
CREATE TABLE MyTable (col1 int, col2 int );
Fabric Data Warehouse stöder IDENTITY-kolumner i tabeller för att automatiskt infoga en ökande talsekvens. För att komma igång, se Use IDENTITY-kolumnerna i Fabric Data Warehouse.
På liknande sätt kan du modifiera befintliga tabeller med ALTER TABLE (Transact-SQL) T-SQL-syntaxen.
Metadata för vyer i lagret kan bli föråldrade på grund av ändringar i de underliggande tabellerna som vyn är beroende av. För att uppdatera en vys metadata, använd sys.sp_refreshview (Transact-SQL). Vyer skapade med SCHEMABINDING blockerar ändringar av underliggande objekt när dessa ändringar påverkar vydefinitionen. Om du inte skapar en vy med SCHEMABINDING, kör sp_refreshview när du gör ändringar i de objekt som vyn bygger på och som påverkar definitionen av vyn. Annars kan vyn ge oväntade resultat när du kör en fråga mot den.
Schemanamn
Warehouse har stöd för att skapa anpassade scheman. Precis som i SQL Server är scheman ett bra sätt att gruppera objekt som används på liknande sätt. Följande kod skapar ett användardefinierat schema med namnet wwi.
- Schemanamn får inte innehålla
/eller\sluta med en..
CREATE SCHEMA wwi;
Datatyper
Microsoft Fabric stöder de vanligaste T-SQL-datatyperna.
- Mer information om datatyper finns i Datatyper i Fabric Data Warehouse.
- När du skapar en tabell i Warehouse granskar du referensen datatyper i CREATE TABLE (Transact-SQL).
- En guide för att skapa en tabell i Warehouse finns i Skapa tabeller.
Sortering
Fabric-lager konfigureras baserat på arbetsytans sorteringsinställning, vilket som standard är en skiftlägeskänslig sortering (CS) Latin1_General_100_BIN2_UTF8. När man skapar ett new warehouse används sorteringen av arbetsytan. Mer information finns i Data Warehouse sortering.
Stödda lagersorteringsordningar är:
-
Latin1_General_100_BIN2_UTF8(standardinställning) Latin1_General_100_CI_AS_KS_WS_SC_UTF8
Du kan skapa ett lager med en icke-standardsortering genom att använda REST API:et. För mer information, se Hur man skapar ett lager med skiftlägesokänslig (CI) sortering.
Efter att du ställt in sorteringsordningen under databasskapandet ärver alla efterföljande objekt (tabeller, kolumner och så vidare) denna standardsorteringsordning. När du har skapat ett datalager kan du inte ändra sorteringsordningsinställningen.
Statistik
Frågeoptimeraren använder statistik på kolumnnivå när den skapar planen för att köra en fråga. För att förbättra frågeprestandan är det viktigt att ha statistik om enskilda kolumner, särskilt kolumner som används i frågekopplingar. Warehouse har stöd för automatisk skapande av statistik.
Statistisk uppdatering sker inte automatiskt. Uppdatera statistik efter att ett stort antal rader har lagts till eller ändrats. Du kan till exempel uppdatera statistik efter en laddning. Mer information finns i Statistik i Fabric Data Warehouse.
Primärnyckel, främmande nyckel och unik nyckel
För Warehouse kan du använda PRIMARY KEY och UNIQUE begränsningar endast när du använder både NONCLUSTERED och NOT ENFORCED.
Du kan bara använda FOREIGN KEY när du använder NOT ENFORCED.
- För syntax, se ALTER TABLE.
- Mer information finns i Primära nycklar, sekundärnycklar och unika nycklar.
Justera källdata med informationslagret
Du kan fylla Warehouse-tabeller genom att ladda data från en annan datakälla. För att framgångsrikt ladda data måste antalet och datatyperna för kolumnerna i källdatan stämma överens med tabelldefinitionen i lagret.
Om data kommer från flera datakällor kan du överföra datan till lagret och lagra den i en integrationstabell. När datan finns i integrationstabellen kan du använda datalagrets kraft för att implementera transformationsoperationer. När datan är förberedd kan du infoga den i produktionstabeller.
Begränsningar
Warehouse har stöd för många, men inte alla, tabellfunktioner som erbjuds av andra databaser.
- Globala temporära tabeller stöds inte för tillfället.
I följande lista visas några av tabellfunktionerna som för närvarande inte stöds.
- Maximalt 1 024 kolumner per tabell
- Beräknade kolumner
- Indexerade vyer
- Partitionerade tabeller
- Sekvens
- Glesa kolumner
- Synonymer
- Utlösare
- Unika index
- Användardefinierade typer
- Externa tabeller
Fabric Data Warehouse lagrar objektmetadata i cache för att ge snabb åtkomst till objekt och deras definitioner. För mycket stora datalager med mer än 750 000 objekt (till exempel tabeller, vyer, lagrade procedurer och funktioner) cachar systemet inte längre metadata. Schemaåtgärder gör i stället förfrågan till metadatalagret direkt. Denna design säkerställer systemstabilitet och förhindrar cache-svält i extremt stora databaser. Schemauppdateringsåtgärder kan dock ta längre tid jämfört med mindre lager där cachelagring av metadata är aktiverat.
Viktigt!
Det finns begränsningar med att lägga till tabellbegränsningar eller kolumner när man använder Git-integration för Fabric Warehouse Development.