2

我正在使用 Amazon 的 EC2 和 DynamoDB 构建一个基于 PHP 的电子商务平台,这是我对 noSQL 数据库的第一次体验,我在为表建模时遇到了麻烦。我已经在高处和低处搜索了示例,但一无所获。

我面临的主要问题是存储产品表中任何可能属性的库存编号。还有很多属性,但我会在这里保持简单。

产品表

  • 编号 [455]
  • 名称 [保罗弹力衬衫]
  • 价格 [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]

库存表

  • 编号 [4]
  • 名称[红色]
  • 数量 [1]

任何提示都会很棒。感谢您的时间。

4

1 回答 1

0

为什么要存储数字?

只需将产品插入产品表中。

Count每次需要从 DynamoDB 获取记录数时使用。

于 2012-12-18T19:37:52.837 回答