设计数据库时字段类型和长度建议
对于任何字段长度都不应该过于小气,否则未知的变化会造成前后台都要修改
1、对于开关型字段建议number(1,0) 而不是varchar2(1),避免用户错误保存Y/N,而不是1/0,这样可能会引入大小写问题
2、对于数据字典编码字段,不要小气的确定为3位,最好统一为32位
经验证明,有时受从其它系统数据接入的影响,由于没有对照项,会直接保存原始值,而原始值一般都5-10位
统一为32位的好处是,可以考虑利用GUID来生成数据字典编码,这样在数据合并时非常有优势.
3、对于一般性录入字段,如:编号,轴号,车号,不要为了一时的"绝对"而设置确定的长度,最好统一成较优的长度,如32位!
如:车号最早是6位,没多久就改成了7位! 轴号开始为8位,但实际上有15位的轴号!轴承编号由10改为了20位
4、对于类似名称的字段: 如单位名称, 数据字典项目的名称等,最好再大一些,设成60位!
5、对于备注类型的字段,一般内容在30个汉字左右,所以推荐设置为100
6、对于长文本的字段,一般内容在200个汉字左右,推荐设置为1000
7、对保存SQL语句的字段(特殊情况,如配置传输条件等),至少要设置为2000,最大是4000
8、对于数字字段,除非精度要求,统一为number是个较好的选择 (如果需要,请尽量提前考虑好精度可能的变化)
number默认精度为15位(整数位数+小数位数=15位,小数点位置任意),其它大数值也可以保存,但是采用的是科学计数法,有精度损失
用number,不指定精度的最大的好处是不限制数值的精度和范围
如果指定number(2,1),则存入的数值范围在-9.9 至 9.9之间,如果用户提出精度调整为2位,则需要修改数据库和程序!
9、对于日期型的就没有什么说法了