■■■编码好,还是实际数据好■■■(50分)

Z

zhbj

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库表中存贮数据,
是采取存贮编码(比如1为男,2为女,显示数据时再还原)的方式好,
还是保存实际数据(比如性别内有男,女两项)好呢?
 
实际吧,大不了多少
显示或打印的时候可以少很多麻烦
 
对于不会变动的数据用实际数据,如果是会变动的建议用编码,当然如果需要保存历史数据的化当然用实际数据了
 
这要看你使用这个字段的时候是怎么用的。如果需要用来计算、排序等操作,可以使用数字代替,
如果没有参与什么计算,只是为了显示,则用实际数据好些
 
各有利弊
如果实际数据有可能改变,表里的数据要跟着变的话,就存编码;
否则存实际数据,可以省去不少麻烦。
 
系统大点的编码的比较好了。
我做过的系统中就有这样的性别:“不确定性别”,呵呵:)
 
用编码:
1.省空间
2.灵活
3.检索快
显示或打印的时候没有什么麻烦,就一个简单变换。
当然你的文档要好,免的搞混了编码的具体含义。
 
个人意见:以实际的数据显示比较好,不用编码去维护。。。
 
情况不同,采用的方法不同。
“男”和“女”这样的固定的就直接采用名称,不要编码了;
但是变动的量相对大的一定要用编码,不然的话一旦改变了名称,
则所有涉及到的表都要修改,就麻烦了!
 
dldyj:
你理解错了我的意识 ,
如果按照第一个理念,
性别也要使用编码 ,即在数据表内仅仅显示 1 和 0
编码的意识就是这样
 
那还是存储实际数据好。
现在的硬盘空间和处理器速度已经够用了。
 
我们系统中,所有类似情况都采用的是编码。
就速度上来说,我觉得编码查询的速度应该比放实际数据查稍快些,而且比较灵活。
但是在建库文档中,最好写清,不然,到最后编码多了,就弄不清了
 
专业一点,我们不使用“编码”这个词,而是使用“代码”,“代码”是“编码”的结果。

第一法则:参考标准。象性别这样的属性,有国家人事部门的标准,尽可能向标准靠拢,使用代码。
第二法则:灵活性,使用代码。譬如,问:性别?答:男/女,问:是男的吗?答:是/不是。再如支持多国语言,数据不变。
第三法则:通用性,使用代码。如果说动物,那就是 [公/母] 了,但编码规则一样。
第四法则:可编码性,使用代码。这里的“可编码性”是指是否易于书写源程序。
case Sex of
0: dosomething0 // 男,举例,我也不直到标准代码是什么
1: dosomething1 // 女
else dosomethingX //未知,也许是...
end;

优于

if Sex='男' then
dosomething0// 男
else
if Sex='女' then
dosomething1// 女
else
dosomethingX //未知,也许是...

第五法则:可读性,不使用代码。用select * from ...看到的就是要显示的东些。

...... //还有些规则我就不说了


结论:按照编码规则存储代码。
 
看具体情况而定,
 
顶部