恒瑞浪潮成立于2019年,专业从事网站建设、网络营销与各类应用定制开发,案例众多!

7×24 咨询热线 18361615533 · 微信同号

咨询热线 18361615533 电话 / 微信同号

首页/资讯中心/软件开发资讯

管理系统数据库设计的三条铁律

发布时间2026-10-02|栏目软件开发资讯|浏览245

数据库设计是"后期成本"的主要来源。下面三条规则,前三年的项目里踩中的频率最高,补救代价也最大。

一、状态不要用"删除"表达

物理删除会带来一连串问题:报表口径对不上(历史金额凭空少了)、出了问题查不到、误删无法还原。正确做法是软删除 + 状态字段。

做法后果
直接 DELETE 掉记录报表数字变了,历史追溯断档,误删不可恢复
加 isdel 标记 + 回收站列表隐藏、统计排除,但可还原、可追溯
用状态字段表达业务阶段草稿/已提交/已作废各有语义,报表能按状态分口径

二、金额与数量要有明确精度

  • 金额用定点数(DECIMAL),不要用浮点数——浮点数会出现 0.1+0.2≠0.3 这类误差,对账时非常难查
  • 统一小数位:金额 2 位、单价可 4 位、数量按业务定,并写进字段说明
  • 明确"是否含税""是否是原币",多币种要拆成"金额 + 币种 + 汇率"三个字段
  • 四舍五入规则只在一个地方实现,不要每个报表各写一遍

一个真实教训:某系统把金额存成浮点数,两年后财务发现全年对账差 37 元——不是算错,是每一笔的小数误差累积。改起来要动全库数据。

三、关键动作要留痕

留痕不是"记个日志文件",而是在数据库里留下谁也改不掉的操作记录。至少要记:谁、什么时候、对哪条数据、改前是什么、改后是什么。

  • 登录、登出(含失败尝试)
  • 新增、修改、删除(含软删除与还原)
  • 审批、驳回、作废等状态变更
  • 导出与批量导入
  • 权限与角色变更

四、三条铁律对照表

铁律一句话判据违反后的典型症状
状态不用删除表达删掉一条记录,上个月的报表数字会不会变?会变就错了月度报表数字每查一次不一样
金额明确精度两个报表算出的合计差几分钱吗?对账永远差一点点,查不清
关键动作留痕出了问题是"谁改的"还是"不知道"?数据被改动,找不到责任人

这三条在设计评审阶段多花两小时,能省掉后期几个月的返工。

正在设计一套新的管理系统?

把表结构发来,可以帮你做一次设计评审,重点看上面这三条。

QQ咨询 电话 顶部