背景:本人正在做一个企业的人力资源管理系统
问题:在设计数据库的时候,有档案模块,薪资模块等,对应的分别有审核(新加记录,修改记录需要经理审核),修改等设计更新的操作,
方法1:添加一个职位调动表,存储所有关于调动的信息,添加一个审核表,存储所有审核信息,
方法2:添加一个动作表,该表主要用于存储所有系统相关的操作,如审核,调动(修改)等,其中包括一些允许为空的字段,如审核意见,调动原因等,例如,当存储审核信息时,调动原因可为空,反之亦然,
两者区别,方法1是将功能区分开,数据库中具体功能都对应一个具体表,方法2是将一些可归纳,可统一管理的放在一个表内,比方法1复杂些,
本人想法:个人不太喜欢在数据库中建太多表,总觉得表多了,针对于数据库的访问就会多,从而会消耗系统资源,导致系统运行速度降低,但如果采用方法2的话,本人水平有限,又容易出现漏洞,在设计上怕会出现不完善的地方,出错
提问:请教哪位高手能给解答下关于这方面的问题,分享下你们的经验,在设计数据库的时候应该如何去考虑问题,去设计?
谢谢!