继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用EasyUI开发银行业绩统计系统[15]-数据库表结构设计

程序员大阳
关注TA
已关注
手记 357
粉丝 1.5万
获赞 1523

之前若干篇,已经详细讲解了EasyUI的使用,同时也讲了一个非常简单的数据库ORM框架-Panda ORM的使用。现在所有的障碍都扫清了哈,可以具体的来实现银行业绩统计系统了。本篇主要讲解表结构的设计,在讲解表结构设计的同时功能基本上也就说明白了。

先看整体结构图,大体分为四部分:人员和机构;角色和菜单;岗位与统计元素;业绩统计;
图片描述

一,人员和机构

主要涉及两张表,人员表user机构表department。需要注意以下几点:

1,user表中的user_role指向role角色表的role_id,user_job指向job岗位表的job_id,user_department指向department机构表的department_id,分别表示人员的角色、人员的岗位、人员所属机构。

2,department表中的department_up表示上级机构,指向本表的department_id,注意如果是最低级的机构,则其department_up为自身(我的上级就是我自己,我就是大BOSS)。

3,department_mode取值有3种:0不统计 1指定统计人统计 2部门人员单独录入,0表示该部门不用统计业绩(非营销部门),1指定统计人统计 表示由department_statistician指向的user用户统计(由程序逻辑控制该人只能是本部门人员),2表示部门内部个人统计个人的(当然如果部门某人job对应的统计元素为空,就不用统计了哈)。

二,角色和菜单

涉及三张表,role角色表,menu菜单表,role_menu是角色菜单对应表,这三张表用于实现基于角色的权限管理,逻辑比较简单不再详述。

三,岗位与统计元素

涉及三张表,job是岗位表,element是统计元素表(注意unit表示单位,比如"元","万元",“张”,“份”等),job_element表示岗位需要统计的元素有哪些。岗位与统计元素是多对多的关系。

四,业绩统计

statistic统计表是核心,statistic_date表日期,statistic_input_user表示录入人员,statistic_user表示业绩所属人员,statistic_job表示业绩所属人员当时的岗位,statistic_element表示当时的统计元素,statistic_num表示业绩数量(单位*数量表示总量),statistic_remark表示备注信息。

因为statistic统计表这样的设计,需要注意几点:

1,user是不能硬删除的,可以加个状态标记表示人员退休或者离职,否则硬删除了statistic_input_user和statistic_user就找不到对应人了。

2,statistic_job的存在,就让job不能硬删除,最好也别修改job_name,比如不能将柜员改为行长,如果真的发生了一个柜员变为行长,应该做的操作是将user对应的job改为行长对应的job_id。

3,同理statistic_element也不能被删除、被修改,可以新增指标。statistic表记录的是业绩录入时的状态。

4,remark备注栏,可以由业绩录入人员补充一些信息,比如信息错误求修改,比如录入时间晚信息不全说明原因等等。

万事具备,前端EasyUI,后端Servlet,数据库那边还有Panda ORM,本次开发旅程必定轻松愉快——那是不可能的,还有很多问题等待去解决。

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP

热门评论

user表 主键: user_id varchar(20), 应该是mySQL 吧 ?  这varchar类型的主键 能自增长吗?

查看全部评论