Udostępnij przez


Tworzenie tabeli za pomocą hierarchyid, typ danych

Poniższy przykład tworzy tabela o nazwie EmployeeOrg, który zawiera dane pracowników wraz z ich hierarchii raportowania.Przykład tworzy tabela w AdventureWorks2008R2 bazy danych, ale jest opcjonalny.Aby zachować przykład prostego, tabela zawiera tylko pięć kolumn:

  • OrgNodejest hierarchyid kolumna, która przechowuje hierarchicznej relacji.

  • OrgLeveljest to kolumna obliczana na podstawie OrgNode kolumny, która przechowuje każdego poziom węzłów w hierarchii.Będzie używany dla indeksu pierwszego szerokość.

  • EmployeeID zawiera numer identyfikacyjny pracownika typowy używany dla aplikacji, takich jak listy płac.W rozwoju nowych aplikacji, można użyć aplikacji OrgNode kolumna i to osobne EmployeeID kolumna nie jest potrzebna.

  • EmpName zawiera nazwisko pracownika.

  • Title zawiera tytuł pracownika.

Aby utworzyć tabela EmployeeOrg

  1. W oknie Edytora kwerend, uruchom następujący kod w celu utworzenia EmployeeOrg tabela.Określanie OrgNode kolumna jako klucz podstawowy z indeks klastrowany zostanie utworzony indeks pierwszego głębokość:

    USE AdventureWorks2008R2 ;
    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. Uruchom poniższy kod, aby utworzyć indeks złożony na OrgLevel i OrgNode kolumny do obsługi wydajne wyszukiwanie pierwszego szerokość:

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

Tabela jest teraz gotowy do danych.Kolejnym zadaniem będzie wypełnić tabela przy użyciu metod hierarchicznej.