关于表关系的建议

时间:2012-08-15 18:35:31

标签: mysql

我必须将这些数据保存在MySql中,我不确定(因为SQL /数据库不是我的字段)如何将其组织到一个或多个表中?现在我代表我的信息如下:

device_name|HW_version|SW_version|IP_addr_pvt|IP_addr_pub|data_specific_to_device|associated_service   |associated_device
dev_x      | 1234     |1234      |1.2.3.4    |9.8.7.6    |data_specific_to_x     |SVC_A,SVC_B,SVC_C... |dev_y,dev_z,dev_n,dev_m...
dev_y      | 2348     |7734      |10.2.3.4   |99.8.7.6   |data_specific_to_y.....|SVC_B,SVC_X...       |dev_x,dev_m...
dev_z      | 3934     |5634      |11.2.3.4   |79.8.7.6   |data_specific_to_z.....|SVC_M                |dev_n,dev_m...
...

pl建议。什么是最好的设计? data_specific_to_device可能有多个列,因为我可以更多地探索数据。

我真的需要一个device_id字段吗?任何SQL表通常都有。

我想添加数据很少(几乎从不)更改,并且每月增加两次。

TY。

1 个答案:

答案 0 :(得分:0)

您需要多个表格。

“associated_service”将是另一个这样的表:

device_id service

以类似的方式,“associated_device”将是一个表格:

device_id associated_device

对于一个device_id

,每个都可以有多行

“data_specific_to_device”对于不同的设备类型是否有不同的列?在这种情况下,您可能希望为每种设备类型设置单独的表,再次通过设备的device_id索引以获取正确的列。

编辑:如果您的设备名称是唯一的,并且您不想更改它们,则可以将它们用作device_id。你只需要一些适合在表格中查找设备的东西。