【设计问题求助】用字段存储表名以关联不同表结构
最近公司的项目中涉及到一个这样的问题:
一个站内有多种设备,每种设备又有不同的属性,但是又有一些常用的属性是经常要汇总要查询的,例如资产编号
我的设计是这样的:
站与设备表是一对多的,设备表中存的是所有种类设备的公共属性,例如厂商,资产编号之类的,设备表中其中一个字段用来存放表的名称,
如下:
T_Device
ID,Name,Factory,AssetsCode,TableName,Type
关联的表有天线表、蓄电池组表等等(很多),拿蓄电池表举例
T_Battery
ID,Number,Status
现在的情况是我如果查询一个站内有哪些蓄电池就很麻烦了。 先得联合 站与设备表,条件是设备类型Type=电池找到TableName,然后根据TableName去决定在哪个表查详细信息。
请问有没有更好的解决方法来设计这个数据库?
------解决方案--------------------很多属性会有多少???
主表
id name factory assetscode 天线属性 电池属性 其他属性 ...
属性表
id name type
1 6#蓄电池 蓄电池组
2 3号天线 天线组
------解决方案--------------------
------解决方案--------------------加个设备属性的关系表
设备表 ID NAME
属性表 ID NAME TYPE
设备属性关系表 ID 设备ID 属性ID