為什么要合理的設計數據庫字段?
一個是降低物理上的存儲空間,一個是提高數據庫的處理速度,還有一個附帶功能是能校驗數據是否合法。
對於任何字段長度都不應該過於小氣,否則未知的變化會造成前后台都要修改
1、對於開關型字段建議number(1,0) 而不是varchar2(1),避免用戶錯誤保存Y/N,而不是1/0,這樣可能會引入大小寫問題
2、對於數據字典編碼字段,不要小氣的確定為3位,最好統一為32位
經驗證明,有時受從其它系統數據接入的影響,由於沒有對照項,會直接保存原始值,而原始值一般都5-10位
統一為32位的好處是,可以考慮利用GUID來生成數據字典編碼,這樣在數據合並時非常有優勢.
3、對於一般性錄入字段,如:編號,車號,訂單號,不要為了一時的"絕對"而設置確定的長度,最好統一成較優的長度,如32位!
如:車號最早是6位,沒多久就改成了7位!
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、對於日期型的就沒有什么說法了