Udostępnij przez


Tworzenie kluczy zastępczych w usłudze Fabric Data Warehouse przy użyciu kolumn IDENTITY

Dotyczy:✅ Magazyn w systemie Microsoft Fabric

W tym samouczku wyjaśniono, jak efektywnie tworzyć klucze zastępcze i zarządzać nimi przy użyciu IDENTITY kolumn w usłudze Fabric Data Warehouse.

Wymagania wstępne

  • Mieć dostęp do elementu magazynu w obszarze roboczym z uprawnieniami współautora lub wyższymi.
  • Wybierz narzędzie do wykonywania zapytań. Ten samouczek zawiera edytor zapytań SQL w portalu usługi Microsoft Fabric, ale możesz użyć dowolnego narzędzia do wykonywania zapytań T-SQL.
  • Podstawowa wiedza na temat języka T-SQL.

Co to jest kolumna IDENTITY?

Kolumna IDENTITY jest kolumną liczbową, która automatycznie generuje unikatowe wartości dla nowych wierszy. To sprawia, że idealnie nadaje się do implementowania kluczy zastępczych, ponieważ zapewnia, że każdy wiersz otrzymuje unikatowy identyfikator bez ręcznego wprowadzania danych wejściowych.

Utwórz kolumnę IDENTITY

Aby zdefiniować kolumnę IDENTITY , określ słowo kluczowe IDENTITY w definicji CREATE TABLE kolumny składni języka T-SQL:

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

Uwaga / Notatka

W Fabric Data Warehouse bigint jest jedynym obsługiwanym typem danych dla IDENTITY kolumn. Ponadto właściwości seed i increment języka T-SQL IDENTITY nie są obsługiwane. Aby uzyskać więcej informacji, zobacz IDENTITY columns and IDENTITY (Transact-SQL). Aby uzyskać więcej informacji na temat tworzenia tabel, przeczytaj Tworzenie tabel w środowisku usługi Microsoft Fabric.

Tworzenie tabeli z kolumną IDENTITY

W tym samouczku utworzymy prostszą wersję Trip tabeli z zestawu danych NY Taxi open i dodamy do niej nową TripIDIDENTITY kolumnę. Za każdym razem, gdy zostanie wstawiony nowy wiersz, TripID jest przypisywany z nową wartością unikatową w tabeli.

  1. Zdefiniuj tabelę z kolumną IDENTITY :

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Następnie użyjemy COPY INTO do załadowania danych do tej tabeli. Podczas używania COPY INTO z kolumnami IDENTITY, należy podać listę kolumn, które będą mapowane na kolumny w danych źródłowych.

    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. Możemy wyświetlić podgląd danych i wartości przypisane do IDENTITY kolumny przy użyciu prostego zapytania:

    SELECT TOP 10 * 
    FROM Trip;
    

    Dane wyjściowe zawierają automatycznie wygenerowaną wartość dla kolumny TripID dla każdego wiersza.

    Zrzut ekranu przedstawiający wyniki zapytania z tabelą z pierwszymi 10 wierszami zestawu danych przejazdu taksówką.

    Ważne

    Wartości mogą się różnić od tych obserwowanych w tym artykule. IDENTITY kolumny generują wartości losowe, które mają być unikatowe, ale mogą występować luki w sekwencjach, a wartości mogą nie być w kolejności.

  4. Możesz również użyć INSERT INTO do pozyskiwania nowych wierszy w tabeli.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. Listę kolumn można podać za pomocą INSERT INTOelementu , ale nie jest wymagana. Podczas podawania listy kolumn określ nazwę wszystkich kolumn, dla których podajesz dane wejściowe, z wyjątkiem kolumny IDENTITY :

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Możemy przejrzeć wiersze wstawione za pomocą prostego zapytania:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Obserwuj wartości przypisane do nowych wierszy:

Tabela z dwoma wierszami i sześcioma kolumnami przedstawiającymi dane przejazdu taksówką.