程序人生(一)

本文分享了在数据库设计及管理方面的一些实用技巧,包括如何处理财务数据、代码复用、数据库三范式应用的现代考量、文件上传的校验流程、业务需求变更应对策略、字典表使用方式及提升用户体验的页面布局建议。

目录

笔者连续开了一个月的需求讨论会议,从总监口中获得了很多开会的技巧,其中夹杂了一些职场的行动规则,甚至软件工程的一些比较有新意的想法,特意为文以便时时查看,也希望给后来者以启发。

财务数据一定要详细

  1. 首先财务类数据,很多时候不是查看实时的,对于企业来说,更多时候是看的环比或者历年的对比,然而在我们的国家“财务计算规则”或者某件物品的“计算规则”是带有实时性质的,意思就是说很多比如“消费税率”或者“基准税率”是带有明显的 “年代特性的”,随着时间的推移,这种国家规定或者给予参考性质的值是会变化,这时如果公司需要查看10年前的财务数据,我肯定需要一个“可供证明我这个数据合法性的依据”,——-结论:所以即使是再小的,再琐碎的“依据”,我们也需要记录在数据库,
  2. 对于复用率很高的代码或者需要生成不同报表类的需求,我们建议是使用一个统一的工具类去维护,避免在使用过程中要一一去做修改,——善于总结代码复写中的规律。

数据库三范式

1.首先在实际项目中,数据库的设计很大程度上是不会很严格的按照提出了“很久很久”的三范式的规则的,我们在沿用或者想使用某一条“理论”和“规范”去做设计时,首要肯定要考虑这个“理论”提出的时代背景,在“远古时代”,那时候 “储存空间”十分昂贵,那时候的U盘只有KB单位的,硬盘只有MB的,所以制定了很多的现在看起来“奇怪的”规则,——结论:我们设计表时,其实不用太遵守,太苛求“三范式”

怎么处理上传的文件

.我们经常能在项目中遇到大批量上传文件的功能,但是往往人类在做文件时,难免会有疏漏,所以校验数据就很重要了,总监说了一种方案,
前端:传过去先
服务器:接受后,全部存入临时表,
数据库:写一个储存过程,校验临时表,将不合法的给一个不合法的标志
服务器:调用储存过程,再将临时表查询出来
前端:显示刚才不合法的数据信息
前端:决定要不要将刚才的信息储存到数据库,

业务决定的需求

1.实际开发中,我们原本规划好的数据流,或者审批流,其实是很容易发生变化的,所以“以一个实体的状态做为分割表的依据”是十分的愚蠢的,不要想当然的觉得 一个实体拆分成不止一张表就会提高查询的效率,一旦更改业务流程,那么涉及到的表的修改,会极大的影响系统的使用,——不要轻易做拆分
2.对于一些数据库表的约定俗成的开发规则,比如:财务数据留痕,流水表的引入,业务状态,激活状态,使用状态,创建人,更新人,版本号,这些十分常见的东西是必须存在的,——通则
3.如果业务要求的是一张详尽的对账单,我们通常是他们全部放在一张表中,不要考虑他妈的三范式,支付宝的有些表 字段有3000个,在以空间换取时间的今天,在储存空间白菜价的今天,你就不要考虑什么冗余和不合规范,——–不要考虑空间

字典表的使用

1.通常字典表是独立的, 储存的id和value,即使是在被其他表引用,我们也是使用value,而不是 引用id,

页面的问题

1.为了提供页面友好性,一些固定按钮的摆放就是要放在一起,tool bar的存在可以极大的提高使用效率,
2.主操作类的web系统,我们是可以将 同类别的按钮和输入框放在一起是没有问题的,对于面向大众的系统,是需要考虑怎么摆放不同的按钮的,
3.所有的表 即使 你加了“备注”这个字段,也不会有什么影响, 现实中,系统使用时,很多 角色 为了秀一下“参与的存在感”,总喜欢写一下备注,所以我们需要给他们设置这样一个入口,来增强用户体验性

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值