选择数据库类型以保存产品信息数据

时间:2019-04-22 01:04:10

标签: sql database-design nosql

我正在一个数据库设计项目中,我们需要存储产品信息数据并通过REST API对其进行访问。最终目标是使打算在多个不同电子商务平台上使用产品数据的多家公司可以使用该产品数据。我们将用于存储产品数据的数据存储区将不是任何电子商务平台的直接来源。它只是一个集中存储位置,将由使用它的公司将数据共享到自己的电子商务平台中。

产品数据将包含键/值对形式的产品属性,例如尺寸,颜色,重量等,因产品而异(产品1可能有10个属性,而产品2可能有37个属性,它们与产品1)都不相同,并且将包括图像,产品规格表,材料安全数据表和分类信息。我们还将存储有关销售产品的供应商的信息。

像SQL这样的传统的关系型数据库可以工作,除了我不知道如何处理属性。具有与供应商表和分类表具有外键关系的简单产品表是很有意义的。下面是一个粗略的轮廓。

Product Table: ID (PK), UPC, Description, VendorID (FK), SegmentID (FK), CategoryID (FK), TypeID (FK), SubTypeID (FK), DateAdded, DateLastModified,

Vendor Table: ID (PK), Name, Address, Description, DateAdded, DateLastModified

Segment Table: ID (PK), Description, DateAdded, DateLastModified

等等。

我苦苦挣扎的部分是属性。这些属性应该以XML形式存在于产品表的字段中,还是应该以键/值列存在于单独的表中?

关系数据库是正确的方法还是应该使用像MongoDB这样的NoSQL数据库代替?

将有数十万种产品。

0 个答案:

没有答案