数据库设计的问题
我想问大家一个问题,数据库设计中基础信息表和单据的关联到底该如何设计为好?
第一种是不要冗余,基础表中存ID、Name...单据表中记录基础表的ID。
这种方法的问题,一是单据表的“历史性”如何保证,二是显示、查询时如果连接表过多会导致速度慢,三是基础表的删除如何控制(伪删除?)
第二种是适当冗余,基础表中存ID、Name...单据表中记录基础表的ID、Name。
当然存储空间增大了,但是减少表连接时间,能保证历史记录不变
第三种基础表中存ID、Name...单据表中记录基础表的Name
还有我看到一种就是基础表中只有一个字段Name
各位的项目里用的是哪种方式?我想请教一下
个人偏向于第二种,不过还有个小问题,比如某部门从“网络部”更名为“网络中心”,原来有个单子上部门名不改,还是“网络部”
那我现在查询“网络中心”,还列出以前“网络部”的单子吗?列出的话也就是根据ID来查询