적용 대상: Microsoft Fabric의✅ Warehouse
이 자습서에서는 Fabric Data Warehouse의 열을 사용하여 IDENTITY 서로게이트 키를 효율적으로 만들고 관리하는 방법을 설명합니다.
필수 조건
- 기여자 이상의 권한이 있는 작업 영역의 웨어하우스 항목에 액세스할 수 있습니다.
- 쿼리 도구를 선택합니다. 이 자습서에서는 Microsoft Fabric 포털의 SQL 쿼리 편집기를 소개하지만, 다른 T-SQL 쿼리 도구를 사용할 수도 있습니다.
- Microsoft Fabric 포털에서 SQL 쿼리 편집기를 사용합니다.
- T-SQL에 대한 기본 이해.
IDENTITY 열이 무엇인가요?
IDENTITY 열은 새 행에 대한 고유 값을 자동으로 생성하는 숫자 열입니다. 따라서 각 행이 수동 입력 없이 고유 식별자를 받도록 하기 때문에 서로게이트 키를 구현하는 데 적합합니다.
IDENTITY 열 생성하기
IDENTITY 열을 정의하려면, T-SQL 구문의 열 정의에서 키워드 IDENTITY 를 CREATE 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의 seed 및 increment 속성은 지원되지 않으며, IDENTITY 속성도 지원되지 않습니다. 자세한 내용은 IDENTITY 열 및 IDENTITY(Transact-SQL)를 참조하세요. 테이블을 만드는 방법에 대한 자세한 내용은 Microsoft Fabric의 Warehouse에서 테이블 만들기를 참조하세요.
IDENTITY 열이 있는 테이블 만들기
이 자습서에서는 Trip의 더 간단한 버전의 테이블을 만들고 여기에 새 TripIDIDENTITY 열을 추가합니다. 새 행을 삽입할 TripID 때마다 테이블에 고유한 새 값이 할당됩니다.
IDENTITY열이 있는 테이블을 정의하세요.CREATE TABLE dbo.Trip ( TripID BIGINT IDENTITY, DateID int, MedallionID int, HackneyLicenseID int, PickupTimeID int, DropoffTimeID int );다음으로, 이 테이블에 일부 데이터를 수집하는 데 사용합니다
COPY INTO.COPY INTO를IDENTITY열들과 함께 사용할 때는 반드시 원본 데이터에서의 열로 매핑되는 열 목록을 제공해야 합니다.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' );간단한 쿼리를 사용하여 열에 할당된
IDENTITY데이터 및 값을 미리 볼 수 있습니다.SELECT TOP 10 * FROM Trip;출력에는 각 행의 열에 대해 자동으로 생성된 값이
TripID포함됩니다.중요합니다
값은 이 문서에서 관찰된 값과 다를 수 있습니다.
IDENTITY열은 고유하게 보장되는 임의 값을 생성하지만 시퀀스에 간격이 있을 수 있으며 값이 순서대로 되지 않을 수 있습니다.새 행을 테이블에 추가하는 데
INSERT INTO를 사용할 수도 있습니다.INSERT INTO dbo.Trip VALUES (20251104, 3524, 28804, 51931, 52252);열 목록은
INSERT INTO를 사용해 제공할 수 있지만, 필수 사항은 아닙니다. 열 목록을 제공할 때는IDENTITY열을 제외하고 입력 데이터를 제공하는 모든 열의 이름을 지정하세요.INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID) VALUES (20251104, 8410, 24939, 74609, 49583);간단한 쿼리를 사용하여 삽입된 행을 검토할 수 있습니다.
SELECT * FROM dbo.Trip WHERE DateID = 20251104;
새 행에 할당된 값을 관찰합니다.