Partilhar via


Use colunas IDENTITY para criar chaves substitutas no Data Warehouse do Fabric.

Aplica-se para:✅ Armazém no Microsoft Fabric

Este tutorial explica como usar IDENTITY colunas no Fabric Data Warehouse para criar e gerir chaves substitutas de forma eficiente.

Pré-requisitos

  • Ter acesso a um item do Warehouse num espaço de trabalho, com permissões de Contribuidor ou superiores.
  • Escolha a 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 de T-SQL.

O que é uma coluna de IDENTIDADE?

Uma IDENTITY coluna é uma coluna numérica que gera automaticamente valores únicos para novas linhas. Isto torna-o ideal para implementar chaves substitutas, pois garante que cada linha recebe um identificador único sem necessidade de introdução manual.

Criar uma coluna IDENTIDADE

Para definir uma IDENTITY coluna, especifique a palavra-chave IDENTITY na definição da 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, bigint é o único tipo de dado suportado para IDENTITY colunas. Além disso, as seed propriedades e increment do T-SQL IDENTITY não são suportadas. Para mais informações, consulte colunas IDENTITY e IDENTITY (Transact-SQL). Para mais informações sobre a criação de tabelas, consulte Criar tabelas no Warehouse no Microsoft Fabric.

Crie uma tabela com uma coluna IDENTIDADE

Neste tutorial, vamos criar uma versão mais simples da tabela do conjunto de dados aberto do NY Taxi e adicionar-lhe uma nova coluna . Cada vez que uma nova linha é inserida, TripID é atribuído um novo valor que é único na tabela.

  1. Defina uma tabela com uma IDENTITY coluna:

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. De seguida, usamos COPY INTO para ingerir alguns dados nesta tabela. Ao usar COPY INTO com colunas IDENTITY 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 pré-visualizar os dados e os valores atribuídos à IDENTITY coluna com uma simples consulta:

    SELECT TOP 10 * 
    FROM Trip;
    

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

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

    Importante

    Os seus valores podem ser diferentes dos observados neste artigo. IDENTITY as colunas produzem valores aleatórios que são garantidamente únicos, mas podem existir lacunas nas sequências, e os valores podem não estar em ordem.

  4. Também podes usar INSERT INTO para ingerir novas linhas na tua 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 está a fornecer dados de entrada, exceto a IDENTITY coluna:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Podemos rever 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 das viagens de táxi.