数据库开发中的反模式与解决方案
在数据库开发过程中,存在一些常见的反模式,这些反模式可能会导致数据不一致、程序出错等问题。下面将详细介绍两种反模式及其解决方案。
伪键整洁狂反模式
在数据库管理中,有时会遇到“伪键整洁狂”的情况。例如,经理拿着两份报告找到你,指出本季度和上季度报告存在差异,很多后期资产消失了。原来你为了清理数据库中的缺失行,对部分行进行了重新编号,将它们填充到之前缺失的行位置。但经理表示,会计师需要通过资产编号跟踪折旧,而且所有资产 ID 都印在设备标签上,重新编号会带来诸多麻烦,要求你将 ID 号改回原值。此时你又发现,本月购买的新资产已被分配了重新编号前使用过的 ID 值,改回原值会产生重复 ID 的问题。
问题背景
有些人对数据序列中的间隙感到不安,例如看到 bug_id 序列中缺少某个值时,会担心数据库是否丢失了数据,是否会因此承担责任。这种试图解决这些困扰问题的行为,就是“伪键整洁狂”反模式的目标。
反模式表现
- 非顺序分配编号 :不使用自动伪键机制分配新的主键值,而是让新行使用第一个未使用的主键值,以填充间隙。例如:
| product_name | status | bug_id |
| — | — | — |
| Open RoundFile | OPEN | 1 |
| ReConsider | FIXED | 2 |
| ReConsider | OPEN | 4 |
| Visual TurboBuilder | NEW | 3 | </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



