在数据库设计中对字段是否可空的设计大家是如何处理的?
如果将除了主键的其他字段都设置为可空,然后再在程序中进行控制,这样跟在数据库中控制字段是否可空有何区别?会产生一些不好的因素吗?
如果将除了主键的其他字段都设置为可空,然后再在程序中进行控制,这样跟在数据库中控制字段是否可空有何区别?会产生一些不好的因素吗?
解决方案 »
- 求一条SQL语句!!!
- 如何进行【相似查询】 ? 比如查 ABC-1, 可以查到相关的产品ABC-2, AB-3
- WHERE的限制?
- 取两个字段中值最小的,用来更新表中的另一个字段
- 邹建大哥,这些语句应该怎么写啊
- Oracle表中的数据导入到Sql Server的表中
- 如何把行转列的结果与另一个表关联
- 安装程序配置服务器失败
- 从表TB001(Fcode,Fdate,Fvalue)查询满足Fcode=”001”的元组中Fdate值最大者的Fvalue的值。请用一个SQL语句表达。
- 关系图建立关系的问题
- 多个数据库操作问题,求好的方案????
- (后篇)输出同一时间两个字段的count值(有其他条件)?
比如昨天有人问
select * from tb where a not like '%a%'
那么 a为null的也不出现.
数据不进行格式化,对一些经验不足的朋友来说,在程序处理时,就会发生一些意想不到的事.
除此之外,即便写为
select * from tb where a not like '%a%' or a is null
或 where isnull(a,'') not like '%a%'
数据检测处理完成了, 但 isnull或 is null的处理,效率不高. 从性能上来看,我们也要求数据格式化.
所以一般情况下, 尽量要求数据不允许为空, 不需要写值的字段给默认值.
比如 tb里的a,不写值的话给 ''
当然,如果null在项目开发时,已被设定为某一个项状态的约定,那么就不能给默认值了,否则就与业务逻辑冲突了.2,程序中进行是否为空的设置,这个主要依赖业务逻辑的,跟数据表的设置没大关系.