我目前正在为管理锻炼计划的应用程序开发 DynamoDB 数据模型 - 尝试获取有关 DynamoDB 的更多知识。
每个计划有多个锻炼,每个锻炼有多个练习。这是我当前的表结构:
PK | SK | 其他属性 |
---|---|---|
计划 | 计划#001 | 计划标题、计划描述等 |
计划 | 计划#002 | 计划标题、计划描述等 |
计划 | 计划#001#锻炼#001 | 锻炼名称、锻炼详情等 |
计划 | 计划#001#锻炼#002 | 锻炼名称、锻炼详情等 |
计划 | 计划#002#锻炼#001 | 锻炼名称、锻炼详情等 |
计划 | 计划#001#锻炼#001#锻炼#001 | 运动名称、肌肉组等 |
计划 | 计划#001#锻炼#001#锻炼#002 | 运动名称、肌肉组等 |
问题: 当前结构对所有项目使用相同的分区键 (PK = PLAN),无论它们是计划、锻炼还是练习。该结构没有清楚地反映计划、锻炼和练习之间的关系 - 我无法区分它们以提出适当的请求来检索它们。
所需的访问模式:
我是 DynamoDB 结构新手,任何帮助将不胜感激!
尝试重组PK和SK
将排序键的前导部分设为分区键。
PK | SK | 其他属性 |
---|---|---|
计划#001 | 计划#001 | 计划标题、计划描述等 |
计划#001 | 锻炼#001 | 锻炼名称、锻炼详情等 |
计划#001 | 锻炼#002 | 锻炼名称、锻炼详情等 |
计划#001 | 锻炼#001#锻炼#001 | 运动名称、肌肉组等 |
计划#001 | 锻炼#001#锻炼#002 | 运动名称、肌肉组等 |