Freigeben über


Erstellen einer Tabelle mit dem hierarchyid-Datentyp

Im folgenden Beispiel wird eine Tabelle mit dem Namen EmployeeOrg erstellt, die Mitarbeiterdaten zusammen mit ihrer Unterstellungshierarchie enthält. Das Beispiel erstellt die neue Tabelle in der Datenbank AdventureWorks2012 ; dies ist jedoch optional. Um das Beispiel einfach zu halten, enthält die Tabelle nur fünf Spalten:

  • OrgNode ist eine hierarchyid-Spalte, in der die hierarchische Beziehung gespeichert wird.

  • OrgLevel ist eine auf der Spalte OrgNode basierende berechnete Spalte, in der die Ebene in der Hierarchie gespeichert wird. Sie wird für einen Breitensuchindex verwendet.

  • EmployeeID enthält die typische Mitarbeiter-ID, die für Anwendungen wie beispielsweise die Gehaltsdaten verwendet wird. Bei der Entwicklung neuer Anwendungen kann die Spalte OrgNode verwendet werden, während die separate Spalte EmployeeID nicht benötigt wird.

  • EmpName enthält den Namen des Mitarbeiters.

  • Title enthält den Titel des Mitarbeiters.

So erstellen Sie die Tabelle "EmployeeOrg"

  1. Führen Sie in einem Abfrage-Editorfenster den folgenden Code aus, um die Tabelle EmployeeOrg zu erstellen. Wenn Sie die Spalte OrgNode als Primärschlüssel mit einem gruppierten Index angeben, wird ein Tiefensuchindex erstellt:

    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. Führen Sie den folgenden Code aus, um einen zusammengesetzten Index für die Spalten OrgLevel und OrgNode zu erstellen, der effiziente Breitensuchoperationen unterstützt:

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

Die Tabelle ist jetzt bereit, Daten zu speichern. Die nächste Aufgabe besteht darin, die Tabelle mithilfe hierarchischer Methoden aufzufüllen.

Nächste Aufgabe in dieser Lektion

Auffüllen einer hierarchischen Tabelle mit hierarchischen Methoden