制作管理系统碎碎记

        尝试制作了一个简单的员工管理信息系统,应用于公司管理主管和员工之间,用于发布任务计划等。

 首先先建立一个ER图,确定好每个人的任务和需要做的事,并以此来建立数据库表单,确认好每张表需要保存的数据内容,同时在建立表的同时也要考虑后续查表过程是否轻松:例如在建立用户信息表单时,一个用户信息经常会使用到的是他的账号和密码信息,而其余的详细信息如生日入职日期等相对来说使用频率会低很多很多。考虑到这个因素,建立两张表,一张表用于存放用户的登录账号密码员工等级,另一个表存放员工姓名等各种具体信息。同时可以在用户登录表中建立一个存储员工具体信息表id的外键,来便于通过用户登录id来直接搜索到用户具体信息。由于用户分为主管和员工两个层级,我们还可以将用户信息分为两张表,一张为主管表,另一张为员工表。这样设置可以便于我们在调取员工信息或者主管信息的时候减少一定的搜索量,从而达到提高检索效率的目的。但这样的操作也会产生问题,当层级更加多的公司系统中会不止有员工主管两个层级,会有三个四个等层级去从上往下管理,这样就需要额外建立更多的表来储存用户信息。故选用哪种还需要看具体情况。

       在员工登录表中记录员工等级便于登录判断登录用户是什么可以访问哪些页面

         在设计过程中,首先要考虑到整个系统的各种功能。从主管开始:查看任务→制定任务→选择实施人→任务完成。从流程可以看到在设计主管时会经常用完任务task这一张表,因此在设计task表字段时,我会选择增加一个任务发布人对应主管id的字段。同时在员工视角,由于需要查看自身上级发布的任务,所以我也在task表增加了实施员工的id,故最后设计成如此一张表

 在查询时通过id来进行查询无疑是最快的。

        除此之外,关于员工主管关系之间的设计,一开始的想法是将关系直接放入员工信息表中,但是考虑到在系统操作过程中,查询员工和上级的关系的频率肯定会比查询员工信息的频率多很多,但每次查询都要去查看员工信息表的话肯定会变得很慢,因此我选择单独建立一个关系表,用来记录员工和上级的关系,以存放id的方式记录,这样每次查看员工和上级关系的时候先通过查看表就可以直接获得员工自己上级主管是谁,或者主管自己下属员工有哪些。

        考虑到设计中对于员工信息是逻辑删除,这样的话到以后数据表的数据会变得很大,因此在最后阶段尝试了一下大量数据的检索。由于在设计之初就考虑到检索效率,因此在大部分功能中打开数据库的搜索过程都是在搜索主键id,应该是最高效的方法之一吧。还有用户名密码表中,我增加了一个用户名的索引,这样便于在登录时候检索到这条用户的登录数据。但在后续发现,在将所有员工存放在一张表的情况下,主管搜索所有员工和员工搜索所有主管这一步会将所有人的信息都检索一遍再进行对比,那我的想法是将这表分成两张表,一张员工表和一张非员工表,同时仍然将登录表的用户id和这两张表绑定,在登录时候根据账户密码还有职能等级判断员工还是非员工来进行选择是检索员工表的信息还是非员工表的信息,相比之前的设计应该能提高一些搜索效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值