다음을 통해 공유


IDENTITY 열을 사용하여 패브릭 데이터 웨어하우스에서 서로게이트 키 만들기

적용 대상: Microsoft Fabric의✅ Warehouse

이 자습서에서는 Fabric Data Warehouse의 열을 사용하여 IDENTITY 서로게이트 키를 효율적으로 만들고 관리하는 방법을 설명합니다.

필수 조건

  • 기여자 이상의 권한이 있는 작업 영역의 웨어하우스 항목에 액세스할 수 있습니다.
  • 쿼리 도구를 선택합니다. 이 자습서에서는 Microsoft Fabric 포털의 SQL 쿼리 편집기를 소개하지만, 다른 T-SQL 쿼리 도구를 사용할 수도 있습니다.
  • T-SQL에 대한 기본 이해.

IDENTITY 열이 무엇인가요?

IDENTITY 열은 새 행에 대한 고유 값을 자동으로 생성하는 숫자 열입니다. 따라서 각 행이 수동 입력 없이 고유 식별자를 받도록 하기 때문에 서로게이트 키를 구현하는 데 적합합니다.

IDENTITY 열 생성하기

IDENTITY 열을 정의하려면, T-SQL 구문의 열 정의에서 키워드 IDENTITYCREATE TABLE 로 지정합니다.

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

비고

Fabric Data Warehouse에서 bigint는 열에서 유일하게 지원되는 데이터 유형입니다. 또한 T-SQL의 seedincrement 속성은 지원되지 않으며, IDENTITY 속성도 지원되지 않습니다. 자세한 내용은 IDENTITY 열 및 IDENTITY(Transact-SQL)를 참조하세요. 테이블을 만드는 방법에 대한 자세한 내용은 Microsoft Fabric의 Warehouse에서 테이블 만들기를 참조하세요.

IDENTITY 열이 있는 테이블 만들기

이 자습서에서는 Trip의 더 간단한 버전의 테이블을 만들고 여기에 새 TripIDIDENTITY 열을 추가합니다. 새 행을 삽입할 TripID 때마다 테이블에 고유한 새 값이 할당됩니다.

  1. IDENTITY 열이 있는 테이블을 정의하세요.

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. 다음으로, 이 테이블에 일부 데이터를 수집하는 데 사용합니다 COPY INTO . COPY INTOIDENTITY 열들과 함께 사용할 때는 반드시 원본 데이터에서의 열로 매핑되는 열 목록을 제공해야 합니다.

    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. 간단한 쿼리를 사용하여 열에 할당된 IDENTITY 데이터 및 값을 미리 볼 수 있습니다.

    SELECT TOP 10 * 
    FROM Trip;
    

    출력에는 각 행의 열에 대해 자동으로 생성된 값이 TripID 포함됩니다.

    택시 여정 데이터 세트의 처음 10개 행이 있는 테이블을 보여 주는 쿼리 결과의 스크린샷.

    중요합니다

    값은 이 문서에서 관찰된 값과 다를 수 있습니다. IDENTITY 열은 고유하게 보장되는 임의 값을 생성하지만 시퀀스에 간격이 있을 수 있으며 값이 순서대로 되지 않을 수 있습니다.

  4. 새 행을 테이블에 추가하는 데 INSERT INTO를 사용할 수도 있습니다.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. 열 목록은 INSERT INTO를 사용해 제공할 수 있지만, 필수 사항은 아닙니다. 열 목록을 제공할 때는 IDENTITY 열을 제외하고 입력 데이터를 제공하는 모든 열의 이름을 지정하세요.

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. 간단한 쿼리를 사용하여 삽입된 행을 검토할 수 있습니다.

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

새 행에 할당된 값을 관찰합니다.

택시 여정 데이터를 보여 주는 2개의 행과 6개의 열이 있는 테이블입니다.