

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Fase 6: Creare interrogazioni di dati
<a name="step6-hierarchical-model"></a>

Dopo aver definito i modelli di accesso e progettato il modello di dati, è possibile interrogare i dati gerarchici nel database DynamoDB. Come best practice per risparmiare sui costi e contribuire a garantire le prestazioni, negli esempi seguenti viene utilizzata solo l'operazione di interrogazione che non è prevista. `Scan`
+ **Trova gli antenati di un componente.**

  Per trovare gli antenati (padre, nonno, bisnonno e così via) del componente CM8, esegui una query sulla tabella di base usando `ComponentId = "CM8"`. La query restituirà il seguente record.

  Per ridurre la dimensione dei dati dei risultati, puoi utilizzare un'espressione di proiezione per restituire solo l'attributo `Path`.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Trova i figli immediati di un componente.**

  Per ottenere tutti i componenti secondari immediati, o quelli a valle di un livello, per il componente CM2, interrogate GSI1 utilizzando. `ParentId = "CM2"` La query restituirà il seguente record.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Trova tutti i componenti secondari a valle utilizzando un componente di primo livello.**

  Per ottenere tutti i componenti secondari o a valle del componente di primo livello CM1, interrogate GSI2 utilizzando `GraphId = "CM1#1"` and e e `begins_with("Path", "CM1|")` utilizzate un'espressione di proiezione con. `ComponentId` Restituirà tutti i componenti relativi a quell'albero.

  Questo esempio ha un solo albero in cui il componente di primo livello è CM1. In realtà, potresti avere milioni di componenti di livello superiore nella stessa tabella.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Trova tutti i componenti secondari a valle utilizzando un componente di livello intermedio.**

  Per ottenere tutti i componenti secondari, o a valle, in modo ricorsivo per il componente CM2, hai due opzioni. Puoi eseguire query ricorrenti livello per livello oppure eseguire query sull'indice GSI2.
  + Esegui una query su GSI1, livello per livello, in modo ricorrente, fino a raggiungere l'ultimo livello di componenti figlio.

    1. Esegui una query su GSI1 tramite `ParentId = "CM2"`. Restituirà il seguente record.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Esegui di nuovo una query su GSI1 tramite `ParentId = "CM4"`. Restituirà il seguente record.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Esegui di nuovo una query su GSI1 tramite `ParentId = "CM5"`. Restituirà il seguente record.

       Continua il ciclo: esegui una query per ciascun `ComponentId` fino a raggiungere l'ultimo livello. Quando una query che utilizza `ParentId = "<ComponentId>"` non restituisce alcun risultato, il risultato precedente proveniva dall'ultimo livello dell'albero.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Unisci tutti i risultati.

        

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

                = [CM4, CM5, CM8, CM9, CM10]
  + Esegui una query su GSI2, che archivia un albero gerarchico per un componente di livello superiore (un'automobile o CM1).

    1. Innanzitutto, trova il componente di livello superiore o l'antenato principale e `Path` di CM2. Per farlo, esegui una query sulla tabella di base usando `ComponentId = "CM2"` per trovare il percorso di quel componente nell'albero gerarchico. Seleziona gli attributi e h. `GraphId` `Pat` La query restituirà il seguente record.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Interroga GSI2 utilizzando. `GraphId = "CM1#1" AND BEGINS_WITH("Path", "CM1|CM2|")` La query restituirà i seguenti risultati.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Seleziona l'attributo `ComponentId` per restituire tutti i componenti figlio per CM2.