原文:http://unruledboy.cnblogs.com/archive/2004/06/27/18988.aspx
来源:互联网 发布:qq软件乐园 编辑:程序博客网 时间:2024/06/05 16:31
刚才看了http://www.cnblogs.com/liukun966123/archive/2004/06/25/18570.aspx?Pending=true中说到空字段的问题,作了回复,感觉意尤未尽,为了确认我的想法,马上查了一下一些数据库设计书籍,其中一本《SQL SERVER 2000从入门到精通》里面提到:
DEFAULT限制:DEFAULT限制可以对任何表中的列提供缺省值,即新对象的该列没有指定数值时,这个限制会提供缺省值。DEFAULT限制可以对新记录提供合理值,从而帮助实现域完整性。DEFAULT限制还可以帮助实现用户定义完整性:例如,所有新客户可以从账户余额0开始。
其实,我学习数据库并没有上过任何正规的课程,都是从朋友身上学的,可以说是偷师,虽然我平时这样认为,这样设计数据库,不敢妄下结论,所以才找相关书籍印证。
实际上,我们应该保证数据的完整性,字段允许为空是一个下策,只有没有办法的情况下才使用,我建议大家一般都应该不允许为空,并添加缺省值。
毕竟,如果允许字段为空,那把判断为空等问题到带到代码中,如果多个地方判断,那得多写多少代码,而且还得为了应付Null而做额外的容错。
DEFAULT限制:DEFAULT限制可以对任何表中的列提供缺省值,即新对象的该列没有指定数值时,这个限制会提供缺省值。DEFAULT限制可以对新记录提供合理值,从而帮助实现域完整性。DEFAULT限制还可以帮助实现用户定义完整性:例如,所有新客户可以从账户余额0开始。
其实,我学习数据库并没有上过任何正规的课程,都是从朋友身上学的,可以说是偷师,虽然我平时这样认为,这样设计数据库,不敢妄下结论,所以才找相关书籍印证。
实际上,我们应该保证数据的完整性,字段允许为空是一个下策,只有没有办法的情况下才使用,我建议大家一般都应该不允许为空,并添加缺省值。
毕竟,如果允许字段为空,那把判断为空等问题到带到代码中,如果多个地方判断,那得多写多少代码,而且还得为了应付Null而做额外的容错。
0 0
- 原文:http://unruledboy.cnblogs.com/archive/2004/06/27/18988.aspx
- [导入]关于DataGrid等控件中的自动编号http://www.cnblogs.com/taye/archive/2004/07/08/22552.aspx
- 浅析Javascript中继承和Prototype的关系http://www.cnblogs.com/meil/archive/2007/06/22/792895.aspx
- 原文地址:http://www.cnblogs.com/kuangbin/archive/2011/07/26/2117636.html
- java反射详解-原文地址:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
- 原文地址http://www.cnblogs.com/biyeymyhjob/archive/2012/07/12/2588074.html
- C#高级---委托 (原文位置http://www.cnblogs.com/asp114/archive/2008/12/17/1356545.html)
- SQL高级查询 原文转载自:http://www.cnblogs.com/hoojo/archive/2011/07/16/2108129.html
- Android中Activity启动模式详解(原文:http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html)
- http://archive.cnblogs.com/a/1894412/
- http://archive.cnblogs.com/a/2123555/
- html做的记事本(转至http://blog.donews.com/tabris17/archive/2004/06/01/24230.aspx)
- JS面向对象的支持[转自http://www.cnblogs.com/dwjaissk/archive/2006/12/18/595761.aspx]
- SubVersion服务器Windows安装指南(转自:http://maxwoods.cnblogs.com/archive/2005/12/19/300246.aspx)
- http文件头详解http://www.cnblogs.com/tiwlin/archive/2009/09/06/1561279.html
- 一些在JAVA中获得文件夹路径的方法http://www.cnblogs.com/lostyue/archive/2011/06/27/2091686.html
- Oracle数据库备份与恢复之一:exp/imp(原文http://www.cnblogs.com/sungod/archive/2011/03/13/1983090.html)
- Oracle数据库备份与恢复之二:SQL*Loader(原文http://www.cnblogs.com/sungod/archive/2011/03/13/1983091.html)
- css z-index之object flash修正
- Android 数据存储——shared preferences
- 统计学习
- LeetCode-Longest Substring Without Repeating Characters
- Thread 的使用方法
- 原文:http://unruledboy.cnblogs.com/archive/2004/06/27/18988.aspx
- 数学基础:向量
- LeetCode 33 Search in Rotated Sorted Array 二叉查找(三)
- Logistic Regression -- 单自变量
- div 浮层遮盖 flash 问题再研究
- 在linux中添加ftp用户,并设置相应的权限
- 最新的Myeclipse 8.6注册码 有效期到2016年10月
- 安装和使用PHP进程管理框架 QPM
- Jackson转换工具(json)