设为首页 加入收藏

TOP

vb.net机房收费系统重构――总结(一)梳理业务与表结构
2015-07-24 10:56:17 来源: 作者: 【 】 浏览:2
Tags:vb.net 机房 收费系统 重构 总结 梳理 业务 结构

机房收费系统已经进行了一段时间,前两天收到通知,要抽查机房重构,而我也成为其中之一。所以虽然机房验收过了,又再次重新自己检验,调试,整体文档的过程。经过师父一番指导,收获颇多。对机房重构有了进一步的认识。

(一)再次梳理业务:结账

机房收费系统中,管理员有项结账功能,目的是为操作员结账结账内容如图

\

其中有售卡张数,退卡张数,收入金额等,而没有消费金额。<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICDV4srH0vLOqrLZ1/fUsda7ysfSu7j2uLrU8MrVyOvWp7P2tcShsLncvNKhsSy2+NXm1f21xNGn0KPK1cjrysfRp8n6z/u30bXExMeyv7fWoaM8L3A+CjxwPiAgICAgICAgvtm49sD919OjusTjsOzA7cHL0rvVxb+oo6yyotTawO/D5rPkJiMyMDU0MDvByzEwMNSqo6zP+7fRwcsyMNSq1q66877Nzcu/qMHLo6zNy7j4wcvE4zgw1KosxMfDtNGn0KO1xNXm1f3K1cjrvs3Kx8THMjDUqqGjtviy2df31LHWu8rHuLrU8NXiuPa5/bPMo6zWu8rHuLrU8LLZ1/ew1cHLo6zL+dLUy/u6zdGnyfrP+7fRtuDJ2crHw7vT0LnYz7W1xKGjPC9wPgo8cD7L+dLU1NrI1b3h1cu1pbrN1ty94dXLtaXW0L7N09DP+7fRvfC27tXi0rvP7jwvcD4KPHA+PGltZyBzcmM9"https://www.cppentry.com/upload_files/article/57/1_khc9g__.jpg" alt="\">

在这个表中,消费金额才是学校真正的收入,而充值金额虽然多,但学生可能随时可以退卡。这部分并不是学校的真正收入。

理清了这一部分,所以操作员中结账按钮和日结账单和周结账单并不挂钩。

(二)表结构

我的机房收费中,将卡表和学生表合并到一张表里面。如图

?Z??http://www.2cto.com/os/系统中也是严格按照三范式。虽然并没有什么错,但我认为在实际应用中还是要从实际业务出发,也就是具体业务具体分析。

严格的E-R图中,所有实体关系应该是一对多的,不存在多对多,如果这样就要再抽出一张表。而一对一的关系也完全可以放到一张表中,因为一个学生严格的对应一张卡,反之亦然。而且学生表字段和卡表字段并不是非常多,放到一张表并不会造成数据量太大的问题。

放到一张表,我完全可以只操作一张表就可以操作所有信息,避免了容易修改学生信息的同时,忘接了修改卡表,造成信息不对称的结果。操作效率也大大提高。

通过这次师父讲解,我认为在实际的系统设计中,我们应该多思考一下,是不是要采用“第三范式”,不要再盲目追捧。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇sql判断时间范围 下一篇一个测试SQL2005数据库连接的JSP..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)