【发布时间】:2012-12-14 06:33:45
【问题描述】:
我正在使用 Amazon 的 EC2 和 DynamoDB 构建一个基于 PHP 的电子商务平台,这是我对 noSQL 数据库的第一次体验,我在为表建模时遇到了麻烦。我已经在高处和低处搜索了示例,但一无所获。
我面临的主要问题是在产品表中存储任何可能属性的库存编号。还有很多属性,但我会在这里保持简单。
产品表
- id [455]
- 名称 [Paul 弹力衬衫]
- 价格 [100.00]
- outPrice [200.00]
- 颜色 [红、绿、蓝、白]
- 尺码 [XS、S、M、L、XL]
当我需要存储任何多值属性(例如颜色或尺寸)的库存编号时,就会出现问题,但我找不到任何示例说明如何执行此操作。它必须是灵活的,所以如果他们只想根据尺寸跟踪库存,那么他们可以,如果他们想同时跟踪尺寸和颜色的库存,那么他们可以。如果他们不想跟踪库存,那也没关系。
我能看到的唯一简单方法是将所有内容保存在一个表中,就是使用这样的分隔符将数量数字附加到属性值,然后使用应用程序逻辑来处理它。
产品表
- 尺寸 [XS#1、S#0、M#0、L#1、XL#1]
- 颜色 [红色#1、绿色#1、蓝色#0、白色#0]
有没有其他方法可以做到这一点?也许与另一个表,但这似乎进入了关系领域:
产品表
- 颜色 [4, 6, 7, 9]
库存表
- id [4]
- 名字[红色]
- 数量 [1]
任何提示都会很棒。感谢您的宝贵时间。
【问题讨论】:
标签: database nosql amazon-dynamodb