cbp*_*cbp 14 sql sql-server boolean
我正在研究由另一个暴徒开发的应用程序,并且因为使用char字段而不是数据库中所有布尔列的位而感到困惑.它使用"Y"表示true,使用"N"表示false(这些必须为大写).然后,类型名称本身会出现一些名称如ybln的模糊名称.
由于很多原因,使用起来非常烦人,其中最重要的是它只是看起来非常令人不悦.
但也许我这是愚蠢的 - 为什么有人会这样做?它是数据库兼容性问题还是我不知道的一些设计模式?
任何人都可以开导我吗?
Jer*_*ebe 18
我经常在较旧的数据库模式中看到这种做法.我看到的一个优点是使用CHAR(1)字段提供了多于Y/N选项的支持,例如"是","否","可能".
其他海报提到可能已经使用过Oracle.我所提到的模式实际上部署在Oracle和SQL Server上.它将数据类型的使用限制为两个平台上可用的公共子集.
它们在Oracle和SQL Server之间的几个地方确实存在分歧,但是在大多数情况下,它们使用数据库之间的通用模式来最小化支持两个DB所需的开发工作.
rp.*_*rp. 12
欢迎来到布朗菲尔德.你继承了一个由老同学设计的应用程序.它不是一种设计模式(至少不是一种设计模式,它有一些好的东西),它是编码人员的遗迹,他们在数据类型有限的数据库上切割.如果没有重构数据库和大量代码,那么就要咬紧牙关,然后直视它(并注意你的情况)!
| 归档时间: | 
 | 
| 查看次数: | 9217 次 | 
| 最近记录: |