Teilen über


Verwenden von IDENTITY-Spalten zum Erstellen von Ersatzschlüsseln in Fabric Data Warehouse

Gilt für:✅ Warehouse in Microsoft Fabric

In diesem Lernprogramm wird erläutert, wie Sie IDENTITY Spalten im Fabric Data Warehouse effizient zum Erstellen und Verwalten von Ersatzschlüsseln verwenden.

Voraussetzungen

  • Zugriff auf einen Lagerartikel in einem Arbeitsbereich mit Mitwirkendenberechtigungen oder höher.
  • Wählen Sie Ihr Abfragetool aus. In diesem Tutorial wird der SQL-Abfrage-Editor im Microsoft Fabric-Portal genutzt, Sie können jedoch ein beliebiges T-SQL-Abfragetool verwenden.
  • Grundlegendes Verständnis von T-SQL.

Was ist eine IDENTITY-Spalte?

Eine IDENTITY Spalte ist eine numerische Spalte, die automatisch eindeutige Werte für neue Zeilen generiert. Dies macht es ideal für die Implementierung von Ersatzschlüsseln, da sichergestellt wird, dass jede Zeile einen eindeutigen Bezeichner ohne manuelle Eingabe erhält.

Erstellen einer IDENTITÄTsspalte

Um eine IDENTITY Spalte zu definieren, geben Sie das Schlüsselwort IDENTITY in der Spaltendefinition der CREATE TABLE T-SQL-Syntax an:

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

Hinweis

In Fabric Data Warehouse ist bigint der einzige unterstützte Datentyp für IDENTITY Spalten. Darüber hinaus werden die seed Eigenschaften und increment Eigenschaften von T-SQL IDENTITY nicht unterstützt. Weitere Informationen finden Sie unter IDENTITY-Spalten und IDENTITY (Transact-SQL). Weitere Informationen zum Erstellen von Tabellen finden Sie unter "Erstellen von Tabellen im Warehouse in Microsoft Fabric".

Erstellen einer Tabelle mit einer IDENTITY-Spalte

In diesem Lernprogramm erstellen wir eine einfachere Version der Trip Tabelle aus dem offenen Dataset von NY Taxi und fügen eine neue TripIDIDENTITY Spalte hinzu. Jedes Mal, wenn eine neue Zeile eingefügt wird, wird ein neuer Wert zugewiesen, TripID der in der Tabelle eindeutig ist.

  1. Definieren einer Tabelle mit einer IDENTITY Spalte:

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Als Nächstes übertragen wir mit COPY INTO einige Daten in diese Tabelle. Bei der Verwendung von COPY INTO mit einer Spalte IDENTITY müssen Sie die Spaltenliste angeben, die den Spalten in den Quelldaten zugeordnet ist.

    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. Wir können eine Vorschau der Daten und der Werte anzeigen, die der IDENTITY Spalte mit einer einfachen Abfrage zugewiesen sind:

    SELECT TOP 10 * 
    FROM Trip;
    

    Die Ausgabe enthält den automatisch generierten Wert für die TripID Spalte für jede Zeile.

    Screenshot der Abfrageergebnisse mit einer Tabelle mit den ersten 10 Zeilen eines Taxitrip-Datasets.

    Von Bedeutung

    Ihre Werte unterscheiden sich möglicherweise von den in diesem Artikel beobachteten Werten. IDENTITY Spalten erzeugen Zufallswerte, die garantiert eindeutig sind, aber es kann Lücken in den Sequenzen geben, und Werte sind möglicherweise nicht in der Reihenfolge.

  4. Sie können auch INSERT INTO neue Zeilen in Ihre Tabelle einfügen.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. Die Spaltenliste kann mit INSERT INTObereitgestellt werden, ist aber nicht erforderlich. Wenn Sie eine Spaltenliste angeben, geben Sie den Namen aller Spalten an, für die Sie Eingabedaten bereitstellen, mit Ausnahme der IDENTITY Spalte:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Wir können die zeilen überprüfen, die mit einer einfachen Abfrage eingefügt wurden:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Beobachten Sie die Werte, die den neuen Zeilen zugewiesen sind:

Eine Tabelle mit zwei Zeilen und sechs Spalten mit Taxitripdaten.