1-1단원 - Employee 테이블의 현재 구조 검사Lesson 1-1 - Examining the Current Structure of the Employee Table

AdventureWorks2012AdventureWorks2012 예제 데이터베이스의 HumanResources 스키마에 Employee 테이블이 있습니다.The sample AdventureWorks2012AdventureWorks2012 database contains an Employee table in the HumanResources schema. 원래 테이블이 변경되지 않도록 이 단계에서는 EmployeeDemo 라는 Employee테이블의 복사본을 만듭니다.To avoid changing the original table, this step makes a copy of the Employee table named EmployeeDemo. 예를 단순화하기 위해 원래 테이블에서 5개의 열만 복사합니다.To simplify the example, you only copy five columns from the original table. 그런 다음 HumanResources.EmployeeDemo 테이블을 쿼리하여 hierarchyid 데이터 형식을 사용하지 않고 한 테이블에서 데이터가 구조화되는 방식을 검토합니다.Then, you query the HumanResources.EmployeeDemo table to review how the data is structured in a table without using the hierarchyid data type.

Employee 테이블을 복사하려면To copy the Employee table

  1. 쿼리 편집기 창에서 다음 코드를 실행하여 테이블 구조와 데이터를 Employee 테이블에서 EmployeeDemo라는 새 테이블로 복사합니다.In a Query Editor window, run the following code to copy the table structure and data from the Employee table into a new table named EmployeeDemo.

    USE AdventureWorks ;  
    GO  
    
    SELECT EmployeeID, LoginID, ManagerID, Title, HireDate   
    INTO HumanResources.EmployeeDemo   
    FROM HumanResources.Employee ;  
    GO  
    

EmployeeDemo 테이블의 구조와 데이터를 검사하려면To examine the structure and data of the EmployeeDemo table

  • 이 새 EmployeeDemo 테이블은 새 구조로 마이그레이션할 수 있는 기존 데이터베이스의 일반적인 테이블을 나타냅니다.This new EmployeeDemo table represents a typical table in an existing database that you might want to migrate to a new structure. 쿼리 편집기 창에서 다음 코드를 실행하여 테이블이 자체 조인을 통해 직원/관리자 관계를 나타내는 방법을 표시합니다.In a Query Editor window, run the following code to show how the table uses a self join to display the employee/manager relationships:

    SELECT   
         Mgr.EmployeeID AS MgrID, Mgr.LoginID AS Manager,   
         Emp.EmployeeID AS E_ID, Emp.LoginID, Emp.Title  
    FROM HumanResources.EmployeeDemo AS Emp  
    LEFT JOIN HumanResources.EmployeeDemo AS Mgr  
    ON Emp.ManagerID = Mgr.EmployeeID  
    ORDER BY MgrID, E_ID  
    

    결과 집합은 다음과 같습니다.Here is the result set.

    MgrID Manager                 E_ID LoginID                  Title  
    NULL NULL                      109 adventure-works\ken0     Chief Executive Officer  
    3    adventure-works\roberto0  4   adventure-works\rob0     Senior Tool Designer  
    3    adventure-works\roberto0  9   adventure-works\gail0    Design Engineer  
    3    adventure-works\roberto0  11  adventure-works\jossef0  Design Engineer  
    3    adventure-works\roberto0  158 adventure-works\dylan0   Research and Development Manager  
    3    adventure-works\roberto0  263 adventure-works\ovidiu0  Senior Tool Designer  
    3    adventure-works\roberto0  267 adventure-works\michael8 Senior Design Engineer  
    3    adventure-works\roberto0  270 adventure-works\sharon0  Design Engineer  
    6    adventure-works\david0    2   adventure-works\kevin0   Marketing Assistant  
    ...  
    

    결과로 총 290개의 행이 나타납니다.The results continue for a total of 290 rows.

ORDER BY 절로 인해 출력에 각 관리자 수준의 직접 보고가 함께 나열되었습니다.Notice that the ORDER BY clause caused the output to list the direct reports of each management level together. 예를 들어 MgrID 3(roberto0)의 모든 직접 보고 7개가 서로 인접하게 나열됩니다.For instance, all seven of the direct reports of MgrID 3 (roberto0) are listed adjacent to each other. 불가능하지는 않지만 MgrID 3에게 결과적으로 보고하게 되는 모든 직원을 그룹화하기는 훨씬 더 어렵습니다.Although not impossible, it is much more difficult to group all those who eventually report to MgrID 3.

다음 태스크에서는 hierarchyid 데이터 형식으로 새 테이블을 만들고 데이터를 새 테이블로 이동합니다.In the next task, we will create a new table with a hierarchyid data type, and move the data into the new table.

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

기존 계층적 데이터로 테이블 채우기Populating a Table with Existing Hierarchical Data