

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Schritt 6: Datenabfragen erstellen
<a name="step6-hierarchical-model"></a>

Nachdem Sie Ihre Zugriffsmuster definiert und Ihr Datenmodell entworfen haben, können Sie hierarchische Daten in der DynamoDB-Datenbank abfragen. Als bewährte Methode, um Kosten zu sparen und die Leistung sicherzustellen, verwenden die folgenden Beispiele nur den Abfragevorgang ohne. `Scan`
+ **Findet Vorfahren einer Komponente.**

  Um die Vorfahren (Eltern, Großeltern, Urgroßeltern usw.) der CM8-Komponente zu finden, fragen Sie die Basistabelle mit `ComponentId = "CM8"` ab. Die Abfrage gibt die folgenden Ergebnisse zurück.

  Um die Größe der Ergebnisdaten zu reduzieren, können Sie einen Projektionsausdruck verwenden, um nur das `Path`-Attribut zurückzugeben.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Findet unmittelbar untergeordnete Elemente einer Komponente.**

  Um alle unmittelbar untergeordneten Komponenten der CM2-Komponente abzurufen, fragen Sie GSI1 mit. `ParentId = "CM2"` Die Abfrage gibt die folgenden Ergebnisse zurück.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Suchen Sie mithilfe einer Komponente der obersten Ebene nach allen nachgeschalteten untergeordneten Komponenten.**

  Um alle untergeordneten oder nachgelagerten Komponenten für die Komponente CM1 der obersten Ebene abzurufen, fragen Sie GSI2 mit `GraphId = "CM1#1"` und ab und verwenden Sie einen `begins_with("Path", "CM1|")` Projektionsausdruck mit. `ComponentId` Es werden alle Komponenten zurückgegeben, die sich auf diesen Baum beziehen.

  Dieses Beispiel hat einen einzelnen Baum mit CM1 als oberster Komponente. In Wirklichkeit könnten Sie Millionen von Komponenten der obersten Ebene in derselben Tabelle haben.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Suchen Sie mithilfe einer Komponente der mittleren Ebene nach allen untergeordneten Komponenten.**

  Um alle untergeordneten oder nachgelagerten Komponenten rekursiv für die Komponente CM2 abzurufen, haben Sie zwei Möglichkeiten. Sie können rekursiv Ebene für Ebene abfragen, oder Sie können den GSI2-Index abfragen.
  + Fragen Sie GSI1 Ebene für Ebene rekursiv ab, bis die letzte Ebene der untergeordneten Komponenten erreicht ist.

    1. Fragen Sie GSI1 mit `ParentId = "CM2"` ab. Das wird die folgenden Ergebnisse zurückgeben.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Fragen Sie GSI1 erneut mit `ParentId = "CM4"` ab. Das wird die folgenden Ergebnisse zurückgeben.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Fragen Sie GSI1 erneut mit `ParentId = "CM5"` ab. Das wird die folgenden Ergebnisse zurückgeben.

       Setzen Sie die Schleife fort: Fragen Sie nach jedem `ComponentId` ab bis Sie die letzte Ebene erreicht haben. Wenn eine Abfrage mit `ParentId = "<ComponentId>"` keine Ergebnisse zurückgibt, stammt das vorherige Ergebnis aus der letzten Ebene des Baums.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Führen Sie alle Ergebnisse zusammen.

        

       result= [CM4, CM5] \+ [CM8, CM9] \+ [CM10]

                = [CM4, CM5, CM8, CM9, CM10]
  + Fragen Sie GSI2 ab, in der ein hierarchischer Baum für eine Komponente der obersten Ebene (ein Auto oder CM1) gespeichert wird.

    1. Suchen Sie zunächst die Komponente der obersten Ebene oder den obersten Vorfahren und `Path` von CM2. Fragen Sie dazu die Basistabelle ab, indem Sie `ComponentId = "CM2"` verwenden, um den Pfad dieser Komponente in der hierarchischen Struktur zu finden. Wählen Sie die Attribute und h aus. `GraphId` `Pat` Die Abfrage gibt die folgenden Ergebnisse zurück.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Fragen Sie GSI2 ab, indem Sie. `GraphId = "CM1#1" AND BEGINS_WITH("Path", "CM1|CM2|")` Die Abfrage wird die folgenden Ergebnisse zurückgeben.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Wählen Sie das `ComponentId`-Attribut, um alle untergeordneten Komponenten für CM2 zurückzugeben.