|
大家都用哪种方式?为什么?不选择其他方式的原因又是什么? |
|
|
|
|
|
|
|
发表于 27-9-2005 10:30 AM
|
显示全部楼层
对不起,不太明白楼主的意思。可否再解释一下? |
|
|
|
|
|
|
|
楼主 |
发表于 27-9-2005 08:10 PM
|
显示全部楼层
原帖由 谷人 于 27-9-2005 10:30 AM 发表
对不起,不太明白楼主的意思。可否再解释一下?
比如说要把只属于integer的data存在database里,
1)在program code有定义integer可以接受,但database里没有定义
2)在program code没有定义只接受integer,但database里有定义
3)两边都有定义。
这样应该会明白了吧~~~~ |
|
|
|
|
|
|
|
发表于 27-9-2005 11:10 PM
|
显示全部楼层
哦!收到!
第1和第3种方式都有用。比较常是第3种--俩边都设,这该是比较保障data validation和data integrity的方式吧。
个别情况下只在application level设: 当一些资料集太笼统,不能锁定为某种格式时,通常是在table set成varchar2, 让app来固定valid range或string pattern。
个人认为资料库资料格式定义一定要做得跟资料实质相符。但不能太过rigid , 好让business rules将来削有更改的话, 资料库不会频于改动。在程式level里控制会比较less impact, 尤其是Web based程式。
以上只是谷人的愚见。 |
|
|
|
|
|
|
|
楼主 |
发表于 28-9-2005 12:32 AM
|
显示全部楼层
我个人认为在program里定义比较好,因为可以在program写一个custom setting的option让用户自己定义想要储存的格式(当然是有些限制)。如果在资料库里也有定义的话可能将来要更改就会花费比较多时间。
以上纯属小虫愚见。 |
|
|
|
|
|
|
|
发表于 18-10-2005 11:55 PM
|
显示全部楼层
如果可以用numeric尽量不要用string,因为在SQL里用string做indexing, searching, computation等等是很不efficient的。 |
|
|
|
|
|
|
|
发表于 15-11-2005 10:03 PM
|
显示全部楼层
清楚的定义是很重要的,我想在一般情况下,
很少人用文字或浮点数来储存年龄、身高和体重吧!
毕竟在大部份情况下,用数字或日期比用文字来得有效率,
也更节省资料库空间。
而数字方面,整数(integer)又比浮点数(float)有效率和省空间。
除非,不能确定使用的范围,否则我都会清楚定义的。 |
|
|
|
|
|
|
|
发表于 16-11-2005 01:12 PM
|
显示全部楼层
好奇怪的問題...
如果你的 database 不能接受小數點或 char, 程式可以接受又有甚麼用 ?
通常 database 可以接受的資料會和程式的一樣, 或更大, 例如
database number (0-65535), program 0 -- 999, 0 -- 9999, 0 -- 65535
database number (-32768 -- +32767), program -100 -- + 100, -9999 -- + 9999, -32768 -- + 32767
database number 10.5, program 5.2 -- 10.5
database char 30, program char 10 - 30 |
|
|
|
|
|
|
|
发表于 8-12-2005 02:15 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|