我正在尝试使用Google Cloud Datastore,但我有些疑惑。我知道理想的是使用关系数据库在网上开店,但我想尝试使用Google Cloud Datastore。
如何制作2个表的数据库?库存和产品。库存表有2列(参考和单位),产品表有3列(名称,参考和价格)。
如何获得所有有库存的产品?...就像加入一样,我知道我们没有加入,这就是我怀疑的原因。
必须有一种有效的方法来获得与产品相关的股票。
答案 0 :(得分:1)
数据存储区中没有表,您只有具有属性的实体。而且,根据您使用的客户端库,您可能拥有实体模型。
Stock
实体可以具有指向相应Product
实体的Key属性。您可以从获得Stock
键的结果中查询Product
个实体,并使用这些键来提取相应的实体。
或者,如果他们始终保持1:1的关系,我可以使用相应的Stock
和Product
实体完全相同的实体ID,这样我就可以制作Stock
查询和结果中的Stock
实体(或者更确切地说,来自他们的键/ ID,因为我可能会进行keys_only查询)我可以立即计算Product
个键并获取相应的实体(请参阅{{ 3}})。
但是,一般情况下,可能想要重新考虑查询数据的一般SQL方法,以便在您需要时生成报告(并期望速度快),而不是养成执行的习惯提前进行必要的计算 - 只要这些计算中使用的数据发生变化。这是一个更加可扩展的方法,它与数据存储区同时工作(我猜通常使用nosql)。而且您不需要执行等同于SQL样式的连接操作。当您已经知道相关产品时,当您减少其库存值时,基本上会提高产品的库存空标记,以便您以后不必查询它。虽然它也将它添加到报告中(以便您在需要时准备好它)并且也可以触发重新进货活动。