请教一个设计思路,能这样做冗余吗?
---------------
我在做一个设备管理系统.为了把问题简单化,模型如下"设备档案表:字段如下
设备号,设备名称,...维修记录表,字段如下:[为了减少冗余,没有设备名称字段,查询时要与设备档案表进行连接以获得设备名称]
维修日期,设备号,故障现象,...如果按我以上的表结构,每次查询维修记录表时,要与设备档案表进行连接,目的是取每台设备的名称.但是发现存在一个问题,那就是,如果设备档案表中将某台设备删除了以后,查询维修记录进,就无法显示设备名称了.
比如两年前的设备,现在已经不存在了,用户一定会在设备档案表中将其删除,这也是正常的.
但是我再查两年前的维修记录时,就会无法显示设备名称了.
所以我想问问这种情况如何处理好.
我现在的想法是:为维修记录表增加一个设备名称字段,这样查询历史记录时,就不会存在这个问题了,因为这样所有信息都全了,查询时不用进行连接.
不知我的想法是否可行,关键是符否不符合设计规范.我觉得是不符合范式设计的.
请大家发表意见.谢谢了.

解决方案 »

  1.   

    不符合范式,但是可以提高机能,看你如何取舍了虽然说真正不合理的是用户擅自删除Master表中数据的操作
      

  2.   

    如果你的设备档案表的数据量不是特别大的话,可以考虑再加一个Disabled字段,如果这个设备不再需要了,可将Disabled置1,而不是直接删除这个设备的信息。这样可以保证数据完整性。也没有冗余数据。
      

  3.   

    如果你的设备档案表的数据量不是特别大的话,可以考虑再加一个Disabled字段,如果这个设备不再需要了,可将Disabled置1,而不是直接删除这个设备的信息。这样可以保证数据完整性。也没有冗余数据。
    -----------------------------------------
    我还是考虑将不存在的设备删除,因为这些设备已经报费了.保存无意义.