Criando uma tabela usando um tipo de dados hierarchyid
O exemplo a seguir cria uma tabela com o nome EmployeeOrg, que inclui dados de funcionário junto com sua hierarquia de relatórios. O exemplo cria a tabela no banco de dados AdventureWorks, mas isso é opcional. Para manter o exemplo simples, essa tabela inclui somente cinco colunas:
OrgNode é uma coluna hierarchyid que armazena a relação hierárquica.
OrgLevel é uma coluna computada, com base na coluna OrgNode que armazena cada nível de nó na hierarquia. Será usado para um índice primeiro por abrangência.
EmployeeID contém o número de identificação de funcionário comum usado para aplicativos como folha de pagamento. No desenvolvimento de um novo aplicativo, os aplicativos podem usar a coluna OrgNode e a coluna EmployeeID separada não é necessária.
EmpName contém o nome do funcionário.
Title contém o cargo do funcionário.
Para criar a tabela EmployeeOrg
Em uma janela do Editor de Consultas, execute o seguinte código para criar a tabela EmployeeOrg. A especificação da coluna OrgNode como a chave primária com um índice clusterizado criará um índice primeiro por abrangência:
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
Execute o seguinte código para criar um índice composto nas colunas OrgLevel e OrgNode para oferecer suporte a pesquisas primeiro por abrangência eficientes:
CREATE UNIQUE INDEX EmployeeOrgNc1 ON HumanResources.EmployeeOrg(OrgLevel, OrgNode) ; GO
Agora a tabela está pronta para receber dados. A próxima tarefa populará a tabela usando métodos hierárquicos.