5个须警惕的数据库设计错误
上一篇 /
下一篇 2012-05-21 08:59:04
/ 个人分类:数据库
每个人都会犯错误,但作为数据库管理员,我们应该尽量避免失误,从而为公司降低成本,并确保数据质量。下面的五个数据库设计失误必须引起我们的警惕。51Testing软件测试网4J3@ c
i&O
x;BX\(J_1Q0 1、选择恰当的数据类型,避免数据库的过度膨胀
#e#v~*l2sh#H&t3u0hh
L+n6d7~3hO,n0 请留意数据类型的选择。例如,如果你很清楚某列的数值范围在0-100,000之间,那么就不必使用BIGINT数据类型,因为INT类型就已经足够了。
F x/V#i(Q%A*W051Testing软件测试网d~(PuvI 选择前者意味着,你每插入一条数据就比后者浪费了4个字节。这听起来也许微不足道,但随着数据量的增长,问题将会凸显出来。
'BHw"wgZ3ol)?*['yV0.^y{ zi_H0 2、遵循ISO标准,保证异构数据库系统之间的互通性
'eVYN1Ojy09Pd5e
J0h%D4g0
大型企业的IT基础架构非常复杂,可能需要不同数据库系统之间的数据交换。我们以TIMESTAMP数据类型为例,在Transact-SQL中定义的
TIMESTAMP数据类型与ISO标准有所不同。其它的数据库系统与ISO标准也有所差别。所以,我们要尽可能地遵循ISO标准,以保证异构数据库系统
之间的互通性。
K"T(rR+@S C
u051Testing软件测试网{MAc%hk 3、以恰当的机制实现序列化
)LqdZ8KQ,Dr051Testing软件测试网*HQr9l z
o 保证在数据库中插入记录的序列化非常
有必要,许多数据库设计者通过各种机制来确保序列化的应用。一些数据库设计者喜欢在数据库设计中引入GUID,但引入GUID并不是一个好的选择,这是因
为GUID默认并非序列化的,使用GUID列作为主键和/或索引甚至会造成性能问题。51Testing软件测试网Vj{3Pqn1Bv|
51Testing软件测试网T{*y#e`U8?o(R 4、创建索引时要将外键考虑在内51Testing软件测试网*v1N)t%OPxR6U$`4~
A bX
z-_+M\'J+^R0 如果你的数据库中已定义外键,那么在建立索引的时候就要多加留神了,要把这种情况纳入数据库设计的整体之中去。51Testing软件测试网 u!Q&Q?pVWt
:X'Bb"Tnfs `%R0 5、不要忽略与业务需求相关的候选键51Testing软件测试网X,t7Cx f
Y
QehVw R
51Testing软件测试网"}0[&y)d9~"WX 数据库设计者不应只将注意力放在代理键上,而忘却业务需求。显然,这对数据质量非常不利。如果你没有在与业务相关的候选键上建立任何约束或索引,可能会出现重复值。
a]"_8Y2z\)zR051Testing软件测试网"~U
y~,w6J/S [ p 请远离上面的5个数据库设计失误吧,这会帮助你为公司节省成本,并提高数据质量。
5P3].Y6c+|0
收藏
举报
TAG: