Compartilhar via


Usar colunas IDENTITY para criar chaves substitutas no Fabric Data Warehouse

Aplica-se a:✅Armazém de dados no Microsoft Fabric

Este tutorial explica como usar IDENTITY colunas no Fabric Data Warehouse para criar e gerenciar chaves substitutas com eficiência.

Pré-requisitos

  • Para ter acesso a um item do Warehouse em um workspace, com permissão de Colaborador ou superior.
  • Escolha sua ferramenta de consulta. Este tutorial apresenta o editor de consultas SQL no portal do Microsoft Fabric, mas você pode usar qualquer ferramenta de consulta T-SQL.
  • Compreensão básica do T-SQL.

O que é uma coluna IDENTITY?

Uma IDENTITY coluna é uma coluna numérica que gera automaticamente valores exclusivos para novas linhas. Isso o torna ideal para implementar chaves substitutas, pois garante que cada linha receba um identificador exclusivo sem entrada manual.

Criar uma coluna IDENTITY

Para definir uma IDENTITY coluna, especifique a palavra-chave IDENTITY na definição de coluna da CREATE TABLE sintaxe T-SQL:

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

Observação

No Fabric Data Warehouse, o bigint é o único tipo de dados com suporte para IDENTITY colunas. Além disso, não há suporte para as propriedades seed e increment do T-SQL IDENTITY. Para obter mais informações, consulte as colunas IDENTITY e IDENTITY (Transact-SQL). Para obter mais informações sobre como criar tabelas, consulte Criar tabelas no Warehouse no Microsoft Fabric.

Criar uma tabela com uma coluna IDENTITY

Neste tutorial, criaremos uma versão mais simples da tabela a Trip partir do conjunto de dados aberto do NY Taxi e adicionaremos uma nova TripIDIDENTITY coluna a ela. Cada vez que uma nova linha é inserida, TripID é atribuída com um novo valor exclusivo na tabela.

  1. Definir uma tabela com uma IDENTITY coluna:

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Em seguida, usamos COPY INTO para ingerir alguns dados nesta tabela. Ao usar COPY INTO com uma IDENTITY coluna, você deve fornecer a lista de colunas, mapeando para colunas nos dados de origem.

    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. Podemos visualizar os dados e os valores atribuídos à IDENTITY coluna com uma consulta simples:

    SELECT TOP 10 * 
    FROM Trip;
    

    A saída inclui o valor gerado automaticamente para a TripID coluna para cada linha.

    Captura de tela dos resultados da consulta mostrando uma tabela com as primeiras 10 linhas de um conjunto de dados de corrida de táxi.

    Importante

    Seus valores podem ser diferentes dos observados neste artigo. IDENTITY as colunas produzem valores aleatórios que têm a garantia de serem exclusivos, mas podem haver lacunas nas sequências e os valores podem não estar em ordem.

  4. Você também pode usar INSERT INTO para ingerir novas linhas em sua tabela.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. A lista de colunas pode ser fornecida com INSERT INTO, mas não é obrigatória. Ao fornecer uma lista de colunas, especifique o nome de todas as colunas para as quais você está fornecendo dados de entrada, exceto para a IDENTITY coluna:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Podemos examinar as linhas inseridas com uma consulta simples:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Observe os valores atribuídos às novas linhas:

Uma tabela com duas linhas e seis colunas mostrando dados de corrida de táxi.