

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Langkah 6: Buat kueri data
<a name="step6-hierarchical-model"></a>

Setelah Anda menentukan pola akses dan mendesain model data Anda, Anda dapat melakukan kueri data hierarkis dalam database DynamoDB. Sebagai praktik terbaik untuk menghemat biaya dan membantu memastikan kinerja, contoh berikut hanya menggunakan operasi kueri tanpa`Scan`.
+ **Temukan nenek moyang suatu komponen.**

  Untuk menemukan leluhur (induk, kakek-nenek, kakek buyut, dan sebagainya) dari CM8 komponen, kueri tabel dasar menggunakan. `ComponentId = "CM8"` Kueri akan mengembalikan catatan berikut.

  Untuk mengurangi ukuran data hasil, Anda dapat menggunakan ekspresi proyeksi untuk mengembalikan hanya `Path` atribut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Temukan anak-anak langsung dari suatu komponen.**

  Untuk mendapatkan semua turunan langsung, atau satu tingkat hilir, komponen untuk komponen, kueri GSI1 menggunakan. CM2 `ParentId = "CM2"` Kueri akan mengembalikan catatan berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Temukan semua komponen turunan hilir menggunakan komponen tingkat atas.**

  Untuk mendapatkan semua komponen turunan, atau hilir, untuk komponen tingkat atas CM1, GSI2 menggunakan kueri `GraphId = "CM1#1"` dan`begins_with("Path", "CM1|")`, dan gunakan ekspresi proyeksi dengan. `ComponentId` Ini akan mengembalikan semua komponen yang terkait dengan pohon itu.

  Contoh ini memiliki satu pohon, dengan CM1 sebagai komponen teratas. Pada kenyataannya, Anda bisa memiliki jutaan komponen tingkat atas dalam tabel yang sama.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)
+ **Temukan semua komponen turunan hilir menggunakan komponen tingkat menengah.**

  Untuk mendapatkan semua komponen turunan, atau hilir, secara rekursif untuk komponen CM2, Anda memiliki dua opsi. Anda dapat menanyakan tingkat demi tingkat secara rekursif, atau Anda dapat menanyakan GSI2 indeks.
  + Kueri GSI1, tingkat demi level, secara rekursif, hingga mencapai tingkat terakhir komponen anak.

    1. Kueri GSI1 menggunakan`ParentId = "CM2"`. Ini akan mengembalikan catatan berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Sekali lagi, kueri GSI1 menggunakan`ParentId = "CM4"`. Ini akan mengembalikan catatan berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Sekali lagi, kueri GSI1 menggunakan`ParentId = "CM5"`. Ini akan mengembalikan catatan berikut.

       Lanjutkan loop: Kueri untuk masing-masing `ComponentId` sampai Anda mencapai level terakhir. Ketika kueri yang menggunakan `ParentId = "<ComponentId>"` tidak mengembalikan hasil apa pun, hasil sebelumnya berasal dari tingkat terakhir pohon.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Gabungkan semua hasil.

        

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

                =[CM4, CM5, CM8, CM9, CM10]
  + Query GSI2, yang menyimpan pohon hierarkis untuk komponen tingkat atas (mobil, atau CM1).

    1. Pertama, temukan komponen tingkat atas atau leluhur teratas dan `Path` dari. CM2 Untuk itu, kueri tabel dasar dengan menggunakan `ComponentId = "CM2"` untuk menemukan jalur komponen itu di pohon hierarkis. Pilih atribut `GraphId` dan `Pat` h. Kueri akan mengembalikan catatan berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Query GSI2 dengan menggunakan`GraphId = "CM1#1" AND BEGINS_WITH("Path", "CM1|CM2|")`. Kueri akan mengembalikan hasil berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/dynamodb-data-modeling/step6-hierarchical-model.html)

    1. Pilih `ComponentId` atribut untuk mengembalikan semua komponen anak CM2.