我来自关系数据库背景,我正在努力使用单个表的概念来表示我在 DynamoDB 中的所有数据。
我的应用程序有制造商,他们允许他们的员工访问我的门户 CRM(制造商用户)。用户然后将他们自己的客户添加到系统并记录和记录他们的所有订单。
- 获取制造商()
- 获取制造商用户()
- 获取制造商客户()
- GetManufacturerCustomersOrders()
制造商永远不会看到其他制造商客户的订单。
我了解 PK 和 SK 的基础知识,我的问题是……真的吗?这真的是单桌吗?
表客户帐户
- 制造商
(Name, logo etc)
- 制造商用户
(Users of that Manufacturer that access my system i.e. email, role)
- 制造商的客户(custID,他们所属的制造商名称)
- 客户交易数据(很多)
鉴于上述情况,您将如何在 DynamoDB 中建模?
访问模式故事
- 按用户查询制造商(登录名、名称) SK ManufacturerID
- 按制造商 ID 获取所有客户 ID 和名称 按用户 ID 过滤
- 获取按 CustomersID 和 ManufacturerID 过滤的所有订单
- 获取按 OrdersID 和 CustomersID 过滤的所有 Ordered Items