Quelle: dotnetpro
Spalten mit hierarchyid in Entity Framework Core 8.0 15.04.2024, 00:00 Uhr

Hierarchiedenken

Die aktuelle Version von Entity Framework Core kann auch hierarchische Tabellen im Microsoft SQL Server verwalten.
Der Spaltentyp hierarchyid, den es seit Version 2012 in Microsofts Datenbankmanagementsystem SQL Server gibt [1], ist eine spezielle Datenstruktur, die dazu dient, hierarchische Strukturen in relationalen Datenbanken zu repräsentieren und zu verwalten. Dieser Spaltentyp wurde eingeführt, um effiziente Operationen innerhalb von hierarchischen Datenstrukturen zu ermöglichen. Typischerweise wird hierarchyid in Szenarien wie der Organisation von Mitarbeiterhierarchien, Produktkategorien oder genealogischen Daten verwendet.
Jeder Knoten in der Hierarchie wird durch eine eindeutige Hierarchy-ID repräsentiert, wobei es der Anwendung obliegt, die Hierarchy-ID zu vergeben. Die Anwendung übergibt die Hierarchy-ID als Zeichenkette der Form /1/2/3/4/. Mittels der Funktion Parse() erzeugt man aus einer solchen Zeichenkette eine Hierarchy-ID. Der Microsoft SQL Server speichert die Hierarchy-ID in einer internen, binären Datenstruktur mit ­variabler Länge, maximal jedoch 892 Bytes. Die Dokumenta­tion [1] gibt keinen Aufschluss darüber, wie viele Level dies ermöglicht. Sie nennt aber als ein Beispiel, dass man bei 100 000 Datensätzen auf sechs Leveln nur 5 Bytes verbraucht.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar