2-1단원 - hierarchyid 데이터 형식을 사용하여 테이블 만들기Lesson 2-1 - Creating a Table Using the hierarchyid Data Type

다음 예에서는 직원 데이터와 보고 계층을 포함하는 EmployeeOrg라는 테이블을 만듭니다.The following example creates a table named EmployeeOrg, which includes employee data together with their reporting hierarchy. 이 테이블은 선택 사항인 AdventureWorks2012AdventureWorks2012 데이터베이스에 만듭니다.The example creates the table in the AdventureWorks2012AdventureWorks2012 database, but that is optional. 예를 간단히 유지하기 위해 테이블에는 다음 5개 열만 포함합니다.To keep the example simple, this table includes only five columns:

  • OrgNode는 계층 관계를 저장하는 hierarchyid 열입니다.OrgNode is a hierarchyid column that stores the hierarchical relationship.

  • OrgLevel은 계산 열이며 계층의 각 노드 수준을 저장하는 OrgNode 열을 기반으로 합니다.OrgLevel is a computed column, based on the OrgNode column that stores each nodes level in the hierarchy. 이는 너비 우선 인덱스에 사용됩니다.It will be used for a breadth-first index.

  • EmployeeID에는 급여와 같은 응용 프로그램에 사용되는 일반적인 직원 ID가 포함됩니다.EmployeeID contains the typical employee identification number that is used for applications such as payroll. 새 응용 프로그램 개발 시 응용 프로그램에서 OrgNode를 사용할 수 있으므로 이러한 별도의 EmployeeID 열은 필요하지 않습니다.In new application development, applications can use the OrgNode column and this separate EmployeeID column is not needed.

  • EmpName에는 직원의 이름이 포함됩니다.EmpName contains the name of the employee.

  • Title에는 직원의 직책이 포함됩니다.Title contains the title of the employee.

EmployeeOrg 테이블을 만들려면To create the EmployeeOrg table

  1. 쿼리 편집기 창에서 다음 코드를 실행하여 EmployeeOrg 테이블을 만듭니다.In a Query Editor window, run the following code to create the EmployeeOrg table. OrgNode 열을 클러스터형 인덱스가 있는 기본 키로 지정하면 깊이 우선 인덱스가 생성됩니다.Specifying the OrgNode column as the primary key with a clustered index will create a depth-first index:

    USE AdventureWorks2012 ;  
    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. 다음 코드를 실행하여 OrgLevelOrgNode 열에 복합 인덱스를 만들어 효율적인 너비 우선 검색을 지원합니다.Run the following code to create a composite index on the OrgLevel and OrgNode columns to support efficient breadth-first searches:

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

이제 테이블에 데이터를 채울 준비가 되었습니다.The table is now ready for data. 다음 태스크에서는 계층 메서드를 사용하여 테이블을 채웁니다.The next task will populate the table by using hierarchical methods.

단원의 다음 태스크Next Task in Lesson

계층 메서드를 사용하여 계층적 테이블 채우기Populating a Hierarchical Table Using Hierarchical Methods