Aracılığıyla paylaş


Bir tablo kullanarak, veri türü hierarchyid oluşturma

Aşağıdaki örnek, adlı bir tablo oluşturur. EmployeeOrgkendi raporlama hiyerarşisi birlikte çalışan verilerini içeren. Örnek oluşturur tablo, AdventureWorks Veritabanı, ancak isteğe bağlıdır. Bu örnek, basit tutmak için , bu tablo, yalnızca beş sütun içerir:

  • OrgNode is a hierarchyid sütun hiyerarşik bir ilişki depolar.

  • OrgLevel üzerinde göre hesaplanan bir sütun olur.OrgNode sütunu her bir düğüm düzey sıradüzeni içinde saklar.Bir etki derecesini ilk dizin için kullanılır.

  • ÇalışanNo Bordro gibi uygulamalar için kullanılan tipik bir çalışan kimlik numarasını içerir.Yeni uygulama geliştirme, uygulamaların kullanabileceği OrgNode sütun ve bu ayırın.ÇalışanNo sütun gerekli değildir.

  • EmpName çalışanın adını içerir.

  • TITLE , çalışanın unvanını içerir.

EmployeeOrg tablo oluşturmak için

  1. Query Düzenleyicisi penceresinde, oluşturmak için şu kodu çalıştırın EmployeeOrg tablosudur.Belirtme OrgNode sütun ile kümelenmiş dizin birincil anahtar olarak derinliği ilk bir dizin oluşturur:

    USE AdventureWorks
    GO
    CREATE TABLE HumanResources.EmployeeOrg
    (
       OrgNode hierarchyid PRIMARY KEY CLUSTERED,
       OrgLevel AS OrgNode.GetLevel(),
       EmployeeID int UNIQUE NOT NULL,
       EmpName varchar(20) NOT NULL,
       Title varchar(20) NULL
    ) ;
    GO
    
  2. bileşik dizin oluşturmak için aşağıdaki kodu çalıştırın OrgLevel and OrgNode sütun verimli etki derecesini ilk aramalar destekler:

    CREATE UNIQUE INDEX EmployeeOrgNc1 
    ON HumanResources.EmployeeOrg(OrgLevel, OrgNode) ;
    GO
    

Tablo için veri hazır.Sonraki görev, sıradüzensel yöntemleri kullanarak tablo dolduracaktır.