Partager via


Utiliser des colonnes IDENTITY pour créer des clés de substitution dans Fabric Data Warehouse

S’applique à :✅ Entrepôt dans Microsoft Fabric

Ce tutoriel explique comment utiliser IDENTITY des colonnes dans Fabric Data Warehouse pour créer et gérer efficacement des clés de substitution.

Prerequisites

  • Disposez d’un accès à un élément d’entrepôt dans un espace de travail, avec des autorisations Contributeur ou ultérieures.
  • Choisissez votre outil de requête. Ce didacticiel présente l'éditeur de requête SQL dans le portail Microsoft Fabric, mais vous pouvez utiliser n'importe quel outil de requête T-SQL.
  • Compréhension de base de T-SQL.

Qu’est-ce qu’une colonne IDENTITY ?

Une IDENTITY colonne est une colonne numérique qui génère automatiquement des valeurs uniques pour les nouvelles lignes. Cela permet d’implémenter des clés de substitution, car elle garantit que chaque ligne reçoit un identificateur unique sans entrée manuelle.

Créer une colonne IDENTITY

Pour définir une IDENTITY colonne, spécifiez le mot clé IDENTITY dans la définition de colonne de la CREATE TABLE syntaxe T-SQL :

CREATE TABLE { warehouse_name.schema_name.table_name | schema_name.table_name | table_name } (
    [column_name] BIGINT IDENTITY,
    [ ,... n ],
    -- Other columns here
);

Note

Dans Fabric Data Warehouse, Bigint est le seul type de données pris en charge pour les IDENTITY colonnes. En outre, les propriétés seed et increment de T-SQL IDENTITY ne sont pas prises en charge. Pour plus d’informations, consultez les colonnes IDENTITY et IDENTITY (Transact-SQL). Pour plus d’informations sur la création de tables, consultez Créer des tables dans l’entrepôt dans Microsoft Fabric.

Créer une table avec une colonne IDENTITY

Dans ce tutoriel, nous allons créer une version plus simple de la table Trip à partir du jeu de données open NY Taxi et y ajouter une nouvelle colonne TripIDIDENTITY. Chaque fois qu’une nouvelle ligne est insérée, TripID elle est affectée à une nouvelle valeur unique dans la table.

  1. Définissez une table avec une IDENTITY colonne :

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Ensuite, nous utilisons COPY INTO pour ingérer certaines données dans cette table. Lorsque vous utilisez COPY INTO avec une IDENTITY colonne, vous devez fournir la liste des colonnes, correspondant aux colonnes des données sources.

    COPY INTO Trip (DateID 1, MedallionID 2, HackneyLicenseID 3, PickupTimeID 4, DropoffTimeID 5)
    FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013'
    WITH
    (
        FILE_TYPE = 'CSV',
        FIELDTERMINATOR = '|',
        COMPRESSION = 'GZIP'
    );
    
  3. Nous pouvons afficher un aperçu des données et des valeurs affectées à la IDENTITY colonne avec une requête simple :

    SELECT TOP 10 * 
    FROM Trip;
    

    La sortie inclut la valeur générée automatiquement pour la TripID colonne pour chaque ligne.

    Capture d’écran des résultats de la requête montrant une table avec les 10 premières lignes d’un jeu de données de trajet de taxi.

    Important

    Vos valeurs peuvent être différentes de celles observées dans cet article. IDENTITY les colonnes produisent des valeurs aléatoires qui sont garanties d’être uniques, mais il peut y avoir des lacunes dans les séquences, et les valeurs peuvent ne pas être dans l’ordre.

  4. Vous pouvez également utiliser INSERT INTO pour ingérer de nouvelles lignes dans votre table.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. La liste de colonnes peut être fournie avec INSERT INTO, mais elle n’est pas requise. Lorsque vous fournissez une liste de colonnes, spécifiez le nom de toutes les colonnes pour lesquelles vous fournissez des données d’entrée, à l’exception de la IDENTITY colonne :

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Nous pouvons examiner les lignes insérées avec une requête simple :

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Observez les valeurs affectées aux nouvelles lignes :

Tableau avec deux lignes et six colonnes montrant les données de trajet en taxi.