数据库设计多个表的主键链接到一个表

时间:2013-12-17 06:35:52

标签: sql database-design

我有4张桌子。

server : serial_number{PK}, host_name
printer : serial_number{PK}, host_name
VM : host_name{PK}
ip_address : host_name{PK}, ip_address{PK} (composite key)

服务器,打印机和VM表一对多ip_address表 我通过host_name链接它们。

这是对的吗?

为了使我的问题更清楚,我现在拥有的是什么

  

服务器1 -------- * ip_address
  打印机1 -------- * ip_address
  VM 1 -------- * ip_address

每个表的host_name都不同。

enter image description here

1 个答案:

答案 0 :(得分:0)

由于服务器和打印机表具有相同的结构,我建议使用单个表来存储主机名和hardware_type列以区分硬件。我们可以使用另一个表来存储设备类型和设备名称的映射。

另外,如果vm表具有相同的结构(?),我们也可以在主表中合并该表。

可以根据主机名是否唯一来更改ip_address的结构。需要有完整的结构来详细说明。