Doku Veri Ambarı'nda vekil anahtarlar oluşturmak için IDENTITY sütunlarını kullanma

Şunlar için geçerlidir:✅ Warehouse in Microsoft Fabric

Bu öğretici, geçici anahtarları verimli bir şekilde oluşturmak ve yönetmek için Fabric Data Warehouse'daki sütunların nasıl kullanılacağını açıklar.

Önemli

Bu özellik önizleme aşamasındadır.

Önkoşullar

  • Çalışma alanında, Katkıda Bulunan veya daha yüksek izinlere sahip olarak bir ambar öğesine erişim sağlayın.
  • Sorgu aracınızı seçin. Bu öğreticide Microsoft Fabric portalında SQL sorgu düzenleyicisi bulunur, ancak herhangi bir T-SQL sorgulama aracını kullanabilirsiniz.
  • T-SQL hakkında temel bilgiler.

IDENTITY sütunu nedir?

Sütun IDENTITY , yeni satırlar için otomatik olarak benzersiz değerler oluşturan sayısal bir sütundur. Bu, her satırın el ile giriş olmadan benzersiz bir tanımlayıcı almasını sağladığı için vekil anahtarları uygulamak için ideal hale getirir.

IDENTITY sütunu oluşturma

Sütun IDENTITY tanımlamak için, T-SQL söz diziminin sütun tanımında IDENTITY anahtar sözcüğünü CREATE TABLE belirtin:

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

Uyarı

Fabric Veri Ambarı'nda, bigint sütunlar için desteklenen tek veri türüdür. Ayrıca, seed T-SQL'in increment ve IDENTITY özellikleri desteklenmez. Daha fazla bilgi için bkz . IDENTITY sütunları ve IDENTITY (Transact-SQL). Tablo oluşturma hakkında daha fazla bilgi için bkz. Microsoft Fabric'teki Ambar'da tablo oluşturma.

IDENTITY sütunuyla tablo oluşturma

Bu öğreticide, Trip bir tablonun daha basit bir sürümünü oluşturacak ve tabloya yeni bir TripID sütun ekleyeceğiz. Her yeni satır eklendiğinde, TripID tabloda benzersiz olan yeni bir değer atanır.

  1. Bir IDENTITY sütunlu tablo tanımlayın.

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. Ardından, bu tabloya veri almak için kullanacağız COPY INTO . COPY INTO ile sütunları kullanırken, kaynak verilerdeki sütunlara eşlenmesi için sütun listesini sağlamanız gerekir.

    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. Verileri ve sütuna IDENTITY atanan değerleri basit bir sorguyla önizleyebiliriz:

    SELECT TOP 10 * 
    FROM Trip;
    

    Çıkış, her satır için TripID sütununa ait otomatik olarak oluşturulan değeri içerir.

    Bir taksi yolculuğu veri kümesinin ilk 10 satırını içeren tabloyu gösteren sorgu sonuçlarının ekran görüntüsü.

    Önemli

    Değerleriniz bu makalede gözlemlenen değerlerden farklı olabilir. IDENTITY sütunlar benzersiz olması garanti edilen rastgele değerler üretir, ancak dizilerde boşluklar olabilir ve değerler sıralı olmayabilir.

  4. Tabloya yeni satır aktarmak için INSERT INTO de kullanabilirsiniz.

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. Sütun listesi INSERT INTO ile sağlanabilir, ancak bu gerekli değildir. Sütun listesi sağlarken, IDENTITY sütunu hariç, giriş verilerini sağladığınız tüm sütunların adını belirtin:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. Basit bir sorguyla eklenen satırları gözden geçirebiliriz:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

Yeni satırlara atanan değerleri gözlemleyin:

Taksi yolculuğu verilerini gösteren iki satır ve altı sütunlu bir tablo.