Compartir a través de


Uso de columnas IDENTITY para crear claves suplentes en Fabric Data Warehouse

Esto se aplica a:✅ Almacén en Microsoft Fabric

En este tutorial se explica cómo usar IDENTITY columnas en Fabric Data Warehouse para crear y administrar claves suplentes de forma eficaz.

Prerrequisitos

  • Tener acceso a un elemento del almacén en un área de trabajo, con permisos de colaborador o superiores.
  • Elija la herramienta de consulta. En este tutorial se incluye el editor de consultas SQL en el portal de Microsoft Fabric, pero puede usar cualquier herramienta de consulta de T-SQL.
  • Conocimientos básicos de T-SQL.

¿Qué es una columna IDENTITY?

Una IDENTITY columna es una columna numérica que genera automáticamente valores únicos para las nuevas filas. Esto hace que sea ideal para implementar claves suplentes, ya que garantiza que cada fila recibe un identificador único sin entrada manual.

Creación de una columna IDENTITY

Para definir una IDENTITY columna, especifique la palabra clave IDENTITY en la definición de columna de la CREATE TABLE sintaxis de T-SQL:

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

Nota:

En Fabric Data Warehouse, bigint es el único tipo de datos admitido para IDENTITY las columnas. Además, no se admiten las propiedades seed y increment de T-SQL IDENTITY. Para obtener más información, vea IDENTITY columns and IDENTITY (Transact-SQL). Para obtener más información sobre la creación de tablas, consulte Creación de tablas en Warehouse en Microsoft Fabric.

Creación de una tabla con una columna IDENTITY

En este tutorial, crearemos una versión más sencilla de la Trip tabla a partir del conjunto de datos abierto NY Taxi y agregaremos una nueva TripIDIDENTITY columna a ella. Cada vez que se inserta una nueva fila, TripID se asigna con un nuevo valor único en la tabla.

  1. Defina una tabla con una IDENTITY columna:

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. A continuación, usamos COPY INTO para ingerir algunos datos en esta tabla. Cuando se usa COPY INTO con unas IDENTITY columnas, debe proporcionar la lista de columnas, mapeándolas a las columnas de los datos de origen.

    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 obtener una vista previa de los datos y los valores asignados a la IDENTITY columna con una consulta simple:

    SELECT TOP 10 * 
    FROM Trip;
    

    La salida incluye el valor generado automáticamente para la TripID columna para cada fila.

    Captura de pantalla de los resultados de la consulta que muestra una tabla con las primeras 10 filas de un conjunto de datos de viajes en taxi.

    Importante

    Los valores pueden ser diferentes de los observados en este artículo. IDENTITY Las columnas generan valores aleatorios que se garantiza que son únicos, pero puede haber huecos en las secuencias y es posible que los valores no estén en orden.

  4. También puede usar INSERT INTO para ingerir nuevas filas en la tabla.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. La lista de columnas se puede proporcionar con INSERT INTO, pero no es necesario. Al proporcionar una lista de columnas, especifique el nombre de todas las columnas para las que se proporcionan datos de entrada, excepto para la IDENTITY columna:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Podemos revisar las filas insertadas con una consulta simple:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Observe los valores asignados a las nuevas filas:

Una tabla con dos filas y seis columnas que muestra los datos de trayectos de taxi.