【发布时间】:2017-03-16 19:54:48
【问题描述】:
我需要构建应用程序,用户可以在其中按多种特征搜索/过滤产品。有25个产品组。每个产品组有大约 10 个产品特性。我有一些数据库设计解决方案,但似乎都不够合适:
- 为每个组创建 25 个表,列名存储产品组特征。
- 创建一个包含所有产品和与产品特性一样多的列的表 (~ 200)
- EAV:为所有特征创建 1 个表和 1 个表,其中所有产品及其属性存储在行中,而不是列名中。该解决方案将导致编写大量应用程序代码,因为我将无法在一行中选择具有所有特性的产品。我将不得不编写应用程序代码来对 mysql 结果进行分组。
我相信像我这样的问题已经有了解决方案。感谢您的帮助。
编辑:
在大多数情况下,群体中的特征是完全不同的。这些是起动机/交流发电机组件。只有大约 25% 的特征可以重叠,例如物理特征、长度、直径等。
【问题讨论】:
-
(a) 你是说每个群体都有不同的特点吗?完全不同? (b) 您能否编辑您的问题以提供一些示例,而不是您的真正问题,而是我们可以关联的简化虚构示例?如所写,问题不清楚。
-
我们在这里谈论的是什么体积?
标签: mysql database-design