Creating a Table Using the hierarchyid Data Type
Poniższy przykład tworzy tabela o nazwie EmployeeOrg, który zawiera dane dotyczące pracowników wraz z ich hierarchii raportowania.W przykładzie tworzy tabela w AdventureWorks bazy danych, ale jest opcjonalny. Aby zachować prosty przykład, tabela zawiera tylko pięć kolumn:
OrgNode is a hierarchyid kolumna, która przechowuje relacje hierarchiczne.
OrgLevel jest kolumna obliczana, oparte na OrgNode kolumnę, która przechowuje każdego poziom węzłów w hierarchii.Będzie ona używana dla indeksu pierwszego szerokość.
Pole IDPracownika zawiera numer identyfikacyjny pracownika typowe, używany w aplikacji, takich jak listy płac.W przypadku tworzenia nowej aplikacji, aplikacje mogą używać OrgNode kolumn i to oddzielne Pole IDPracownika kolumna nie jest konieczne.
EmpName zawiera nazwisko pracownika.
Tytuł zawiera tytuł pracownika.
Aby utworzyć tabela EmployeeOrg
W oknie Edytora kwerend, należy uruchomić następujący kod w celu utworzenia EmployeeOrg tabela.Określanie OrgNode kolumna jako klucz podstawowy z indeks klastrowany spowoduje utworzenie indeksu pierwszego głębokości:
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
Uruchom poniższy kod, aby utworzyć indeks złożony na OrgLevel and OrgNode kolumn do obsługi efektywne wyszukiwanie pierwszego szerokość:
CREATE UNIQUE INDEX EmployeeOrgNc1 ON HumanResources.EmployeeOrg(OrgLevel, OrgNode) ; GO
W tabela jest teraz gotowy do danych.Następnego zadania są powielane w tabela przy użyciu metod hierarchicznej.