Tables dans Fabric Data Warehouse

Applies to :✅ Entrepôt dans Microsoft Fabric

Cet article explique les concepts clés pour concevoir des tables dans Microsoft Fabric.

Dans les tableaux, on organise logiquement les données sous forme de lignes et colonnes. Chaque ligne représente un enregistrement unique et chaque colonne représente un champ dans l'enregistrement.

Déterminer la catégorie des tables

Un schéma en étoile organise les données en tables de faits et tables de dimension. Certaines tables sont utilisées pour l’intégration ou la mise en lots des données avant leur transfert dans une table de faits ou de dimension. Quand vous concevez une table, déterminez si les données de la table sont contenues dans une table de faits, de dimension ou d’intégration. Ceci est important pour choisir une structure appropriées pour la table.

  • Les tables de faits contiennent des données quantitatives générées par des systèmes transactionnels puis chargées dans l’entrepôt de données. Par exemple, une entreprise de vente au détail génère des transactions de ventes chaque jour et charge ensuite ces données dans une table de faits de l’entrepôt de données pour les analyser.

  • Les tables de dimension contiennent des données d’attribut qui peuvent changer, mais qui changent généralement rarement. Par exemple, stockez le nom et l’adresse d’un client dans une table des dimensions et ne les mettez à jour que lorsque le profil du client change. Pour réduire la taille d’une table de faits volumineuse, il est inutile d’indiquer le nom et l’adresse du client dans chaque ligne d’une table de faits. Au lieu de cela, la table de faits et la table de dimension peuvent partager un ID client. Vous pouvez alors créer une requête de jointure entre les deux tables pour associer le profil d’un client et les transactions qui le concernent.

  • Les tables d’intégration fournissent un emplacement pour l’intégration ou la mise en lots de données. Vous pouvez, par exemple, charger des données dans une table de mise en lots, effectuer des transformations sur ces données, puis insérer les données dans une table de production.

Une table stocke les données dans OneLake dans le cadre de l’entrepôt. La table et les données sont persistantes, qu’une session soit ouverte ou non.

Tables dans l’entrepôt

Pour montrer l’organisation des tableaux, utilisez fact, dim ou int comme préfixes des noms des tableaux. Le tableau suivant présente certains des noms de schémas et de tables pour l’entrepôt de données d’exemple WideWorldImportersDW .

WideWorldImportersDW Nom de la table source Type de table nom de la table Data Warehouse
Ville Dimension wwi.DimCity
Commande Fait wwi.FactOrder
  • Les noms de tables ne peuvent pas contenir / ou \, ou se terminer par un ..
  • Vous pouvez créer des tables temporaires#temp () à portée de session dans Fabric Data Warehouse. Pour plus d’informations, voir Tables temporaires dans Fabric Data Warehouse.

Créer une table

Pour l’entrepôt, vous pouvez créer une table à partir d’une nouvelle table vide. Vous pouvez aussi créer une table et la remplir avec les résultats d’une instruction select. Le tableau suivant présente les commandes T-SQL pour créer une table.

Instruction T-SQL Descriptif
CRÉER TABLE Crée une table vide en définissant toutes les colonnes et options de la table.
CRÉER TABLE COMME SÉLECTIONNER Crée une table et la remplit avec les résultats d’une instruction select. Les colonnes et les types de données de la table sont basés sur les résultats de l’instruction select. Pour importer des données, cette instruction peut sélectionner les données dans une table externe.

Cet exemple crée une table contenant deux colonnes :

CREATE TABLE MyTable (col1 int, col2 int );

Fabric Data Warehouse prend en charge les colonnes IDENTITY dans les tables pour insérer automatiquement une séquence de nombres incrémentaires. Pour commencer, voir Utiliser les colonnes IDENTITY dans Fabric Data Warehouse.

De même, vous pouvez modifier des tables existantes avec la syntaxe T-SQL ALTER TABLE (Transact-SQL).

Les métadonnées des vues dans l’entrepôt peuvent devenir obsolètes en raison de modifications apportées aux tables sous-jacentes dont la vue dépend. Pour rafraîchir les métadonnées d'une vue, utilisez sys.sp_refreshview (Transact-SQL). Les vues créées avec SCHEMABINDING bloquent les modifications apportées aux objets sous-jacents lorsque ces modifications affectent la définition de la vue. Si vous ne créez pas de vue avec SCHEMABINDING, exécutez sp_refreshview lorsque vous effectuez des modifications aux objets sous-jacents à la vue qui affectent la définition de la vue. Sinon, la vue peut donner des résultats inattendus lorsque vous l’interrogez.

Noms de schémas

L’entrepôt prend en charge la création de schémas personnalisés. Comme dans SQL Server, les schémas constituent un bon moyen de regrouper des objets utilisés de manière similaire. Le code suivant crée un schéma défini par l’utilisateur appelé wwi.

  • Les noms de schémas ne peuvent pas contenir / ou \, ou se terminer par un ..
CREATE SCHEMA wwi;

Types de données

Microsoft Fabric prend en charge les types de données T-SQL les plus couramment utilisés.

Classement

Les entrepôts Fabric sont configurés en fonction du paramètre de collationnement de l'espace de travail, qui est par défaut le classement sensible à la casse (CS) Latin1_General_100_BIN2_UTF8. Lors de la création d’un nouvel entrepôt, on utilise le classement de l’espace de travail. Pour plus d’informations, consultez la collation de l'entrepôt de données.

Les classements d’entrepôt pris en charge sont les suivants :

  • Latin1_General_100_BIN2_UTF8 (valeur par défaut)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Vous pouvez créer un entrepôt avec une collation non par défaut en utilisant l’API REST. Pour plus d’informations, consultez Comment : Créer un entrepôt avec une collation insensible à la casse (CI)

Après avoir défini la collation lors de la création de la base de données, tous les objets suivants (tables, colonnes, etc.) héritent de cette collation par défaut. Après avoir créé un entrepôt, vous ne pouvez pas modifier le paramètre de classement.

Statistiques

L’optimiseur de requête utilise des statistiques au niveau des colonnes quand il crée le plan d’exécution d’une requête. Pour améliorer les performances des requêtes, il est important d’avoir des statistiques sur des colonnes individuelles, en particulier les colonnes utilisées dans les jointures de requête. L’entrepôt prend en charge la création automatique de statistiques.

La mise à jour statistique ne se fait pas automatiquement. Mettez à jour les statistiques après l’ajout ou la modification d’un nombre significatif de lignes. Par exemple, effectuez une mise à jour des statistiques après un chargement. Pour plus d’informations, consultez Statistiques dans l'entrepôt de données Fabric.

Clé primaire, clé étrangère et clé unique

Pour Warehouse, vous pouvez utiliser les contraintes PRIMARY KEY et UNIQUE uniquement lorsque vous utilisez à la fois NONCLUSTERED et NOT ENFORCED.

Vous pouvez utiliser FOREIGN KEY uniquement lorsque vous utilisez NOT ENFORCED.

Aligner les données sources avec l’entrepôt de données

Vous pouvez remplir les tables Warehouse en chargeant des données provenant d’une autre source de données. Pour charger les données avec succès, le nombre et les types de données des colonnes dans les données sources doivent s’aligner avec la définition de la table dans l’entrepôt.

Si les données proviennent de plusieurs sources de données, vous pouvez les transférer dans l’entrepôt et les stocker dans une table d’intégration. Lorsque les données sont dans la table d’intégration, vous pouvez utiliser la puissance de l’entrepôt de données pour mettre en œuvre des opérations de transformation. Lorsque les données sont préparées, vous pouvez les insérer dans des tables de production.

Limites

L’entrepôt prend en charge beaucoup des fonctionnalités de table proposées par d’autres bases de données, mais pas toutes.

  • Les tables temporaires globales ne sont pas actuellement prises en charge.

La liste suivante répertorie certaines fonctionnalités de table qui ne sont actuellement pas prises en charge.

  • 1 024 colonnes maximales par table
  • Colonnes calculées
  • Vues indexées
  • tables partitionnées
  • Séquence
  • Colonnes éparses
  • Synonymes
  • Déclencheurs
  • Indexes uniques
  • Types définis par l'utilisateur
  • Tables externes

Fabric Data Warehouse met en cache les métadonnées des objets de l’entrepôt afin de fournir un accès rapide aux objets et à leurs définitions. Pour les très grands entrepôts de plus de 750 000 objets (par exemple, tables, vues, procédures stockées et fonctions), le système ne met plus en cache les métadonnées. Au lieu de cela, les opérations de schéma interrogent directement le magasin de métadonnées. Cette conception assure la stabilité du système et évite la sous-alimentation du cache dans les bases de données extrêmement volumineuses. Toutefois, les opérations d’actualisation du schéma peuvent prendre plus de temps par rapport aux entrepôts plus petits où la mise en cache des métadonnées est activée.

Important

Il existe des limitations concernant l’ajout de contraintes sur les tables ou de colonnes lors de l’utilisation de l’intégration Git pour le développement de Fabric Warehouse.