

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Paso 6: creación de consultas de datos
<a name="step6-hierarchical-model"></a>

Tras definir los patrones de acceso y diseñar el modelo de datos, puede consultar datos jerárquicos en la base de datos de DynamoDB. Como práctica recomendada para ahorrar costos y garantizar el rendimiento, en los siguientes ejemplos solo se utiliza la operación de consulta sin `Scan`.
+ **Encuentra los antepasados de un componente.**

  Para encontrar los antepasados (padre, abuelo, bisabuelo, etc.) del CM8 componente, consulte la tabla base utilizando. `ComponentId = "CM8"` La consulta devolverá los siguientes registros.

  Para reducir el tamaño de los datos resultantes, puede utilizar una expresión de proyección que solo devuelva el atributo `Path`.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Encuentra los hijos inmediatos de un componente.**

  Para obtener todos los componentes secundarios inmediatos o de un nivel inferior del CM2 componente, consulte utilizando. GSI1 `ParentId = "CM2"` La consulta devolverá los siguientes registros.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Encuentre todos los componentes secundarios posteriores mediante un componente de nivel superior**

  Para obtener todos los componentes secundarios o posteriores del componente de nivel superior, consulte GSI2 utilizando `GraphId = "CM1#1"` y CM1`begins_with("Path", "CM1|")`, y utilice una expresión de proyección con. `ComponentId` Devolverá todos los componentes relacionados con ese árbol.

  Este ejemplo tiene un solo árbol, con el componente superior CM1 como componente superior. En realidad, podría tener millones de componentes de nivel superior en la misma tabla.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Encuentre todos los componentes secundarios posteriores mediante un componente de nivel medio**

  Para obtener todos los componentes secundarios o posteriores de forma recursiva para cada componente CM2, tiene dos opciones. Puede realizar consultas recursivas nivel por nivel o puede consultar el índice. GSI2
  + Realice consultas GSI1, nivel por nivel, de forma recursiva, hasta llegar al último nivel de los componentes secundarios.

    1. Consulta GSI1 utilizando`ParentId = "CM2"`. Devolverá los siguientes resultados:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. De nuevo, consulta GSI1 usando`ParentId = "CM4"`. Devolverá los siguientes resultados:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. De nuevo, consulta GSI1 usando`ParentId = "CM5"`. Devolverá los siguientes resultados:

       Continúe el ciclo: consulte para cada `ComponentId` hasta llegar al último nivel. Cuando una consulta utiliza `ParentId = "<ComponentId>"` no devuelve resultados, el resultado anterior era del último nivel del árbol.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Combine todos los resultados.

        

       resultado= [CM4, CM5] \$1 [CM8, CM9] \$1 [CM10]

                =[CM4, CM5, CM8, CM9, CM10]
  + Consulta GSI2, que almacena un árbol jerárquico para un componente de nivel superior (un automóvil o). CM1

    1. En primer lugar, busque el componente de nivel superior o el antepasado superior y de. `Path` CM2 Para ello, consulte la tabla base mediante `ComponentId = "CM2"` para encontrar la ruta de ese componente en el árbol jerárquico. Seleccione los atributos `GraphId` y `Pat`. La consulta devolverá los siguientes registros.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Consulta GSI2 mediante`GraphId = "CM1#1" AND BEGINS_WITH("Path", "CM1|CM2|")`. La consulta devolverá los siguientes resultados.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Seleccione el `ComponentId` atributo para el que se devolverán todos los componentes secundarios CM2.