第一次发帖请教问题,一个数据库设计问题
如果有各种设备,例如空调,广告灯...这些设备都是存在不同的属性,空调有风速,温度;广告灯有亮度;而且这些设备的属性值都会用到,而且属性可能会新增
现在问题是,如果以后会动态新增一个排气扇设备,有风速等属性,我的表该如何设计才能更好地扩展,在新增各种设备以及属性的时候不需要改动表结构...
请大家支招吧... 数据库 设计 扩展 Java 结构
[解决办法]
能否把非公共的这些属性值弄成一个聚合,存放在一个字段中?
比如json格式字符串。
我也没什么经验,期待高手解答
[解决办法]
设计方案很多啊。
推荐一种适合初学者的吧:
1、首先归集产品的通用属性,只需要80%产品有这种属性即可,比如:重量、颜色、尺寸这类;
2、通用属性直接作为字段存在;
3、附加属性用违反 1NF 的方式,直接用JSON或其它方式组装,存入一个扩展域字段。
通用属性往往需要在列表中:显示(Select)、过滤(where)、排序(Order);所以需要直接成为字段。
非通用属性一般都是在显示某产品明细信息时才需要使用,所以存储时可以做组装。
[解决办法]
你需要把以前设计表的横向思维习惯改成纵向考虑,你就会有答案了。。。
[解决办法]