

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 1：識別使用案例和邏輯資料模型
<a name="step1-hierarchical-model"></a>

一家汽車公司想要建置交易元件管理系統，以存放和搜尋所有可用的汽車零件，並在不同的元件和零件之間建立關係。例如，一輛汽車包含多顆電池，每顆電池包含多個高層級模組，每個模組包含多個電芯，每個電芯包含多個低階元件。

一般來說，為了建置階層關係模型，[Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/intro.html) 等圖形資料庫是更好的選擇。不過，在某些情況下，Amazon DynamoDB 因為其彈性、安全性、效能和規模，是階層式資料建模的更佳替代方案。

例如，您可能會建置一個系統，其中 80-90% 的查詢是交易，DynamoDB 非常適合該系統。在此範例中，其他 10–20% 的查詢是關聯式查詢，其中 Neptune 等圖形資料庫更適合。在這種情況下，在架構中包含額外的資料庫，只滿足 10-20% 的查詢可能會增加成本。它還增加了維護多個系統和同步資料的操作負擔。相反，您可以在 DynamoDB 中對該 10-20% 的關聯式查詢建模。

繪製汽車元件的範例樹狀目錄可以協助您映射它們之間的關係。下列圖表顯示具有四個層級的相依性圖形。CM1 是範例汽車本身的頂層元件。它具有兩個子元件，用於兩個範例電池即 CM2 和 CM3。每個電池都具有兩個子元件，即模組。CM2 具有模組 CM4 和 CM5，而 CM3 具有模組 CM6 和 CM7。每個模組都具有幾個子元件，即電芯。CM4 模組具有兩個電芯，即 CM8 和 CM9。CM5 具有一個電芯即 CM10。CM6 和 CM7 還沒有任何關聯的電芯。



![\[顯示先前描述的關係的範例樹狀目錄圖。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/dynamodb-data-modeling/images/example-tree.png)


本指南將使用此樹狀目錄及其元件識別符作為參考。頂端元件將稱為*父項*，子元件將稱為*子項***。**例如，頂端元件 CM1 是 CM2 和 CM3 的父項。CM2 是 CM4 和 CM5 的父項。這描繪了父項和子項關係。

從樹狀目錄中，您可以看到元件的完整相依性圖形。例如，CM8 依賴於 CM4，CM4 依賴於 CM2，CM2 依賴於 CM1。此樹狀目錄將完整的相依性圖形定義為路徑。路徑描述了以下兩個項目：
+ 相依性圖形
+ 樹狀目錄中的位置

填寫範本以滿足業務需求：

提供使用者的相關資訊：


|  |  | 
| --- |--- |
| **使用者** | **Description** | 
| 員工 | 需要汽車及其元件資訊之汽車公司的內部員工 | 

提供資料來源以及如何擷取資料的相關資訊：


|  |  |  | 
| --- |--- |--- |
| **來源** | **Description** | **使用者** | 
| 管理系統 | 系統將存放與可用汽車零件相關的所有資料，以及它們與其他元件和零件的關係。 | 員工 | 

提供如何使用資料的相關資訊：


|  |  |  | 
| --- |--- |--- |
| **消費者** | **Description** | **使用者** | 
| 管理系統 | 擷取父元件 ID 的所有立即子元件。 | 員工 | 
| 管理系統 | 擷取元件 ID 的所有子元件的遞迴清單。 | 員工 | 
| 管理系統 | 請參閱元件的祖先。 | 員工 | 