<b>数据库计划标准化的五个要求-性能调优</b>[Oracle防范]
本文“<b>数据库计划标准化的五个要求-性能调优</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
普通情形下,可以从两个方面来判断数据库能否计划的对比标准.一是看看能否拥有大量的窄表,二是宽表的数目能否充足的少.若符合这两个条件,则可以阐明这个数据库的标准化水平还是对比高的.当然这是两个泛泛而谈的指标.为了到达数据库计划标准化的要求,普通来说,需求符合以下五个要求.
要求一:表中应当避免可为空的列.
固然表中答应空列,但是,空字段是一种对比特别的数据范例.数据库在处理的时刻,需求举行特别的处理.如此的话,就会增添数据库处理记录的复杂性.当表中有对比多的空字段时,在平等条件下,数据库处理的性能会降低很多.
所以,固然在数据库表计划的时刻,答应表中具有空字段,但是,我们应当尽大概避免.若确切需求的话,我们可以通过一些折中的方法,来处理这些空字段,让其对数据库性能的影响降低到最少.
一是通过设置默许值的情势,来避免空字段的产生.如在一个人事管理系统中,有时刻身份证号码字段大概答应为空.因为不是每个人都可以记着自己的身份证号码.而在员工报到的时刻,大概身份证没有带在身边.所以,身份证号码字段常常不能及时供应.为此,身份证号码字段可以答应为空,以满意这些特别情形的需求.但是,在数据库计划的时刻,则可以做一些处理.如当用户没有输入内容的时刻,则把这个字段的默许值设置为0大概为N/A.以避免空字段的产生.
二是若一张表中,答应为空的列对比多,接近表全部列数的三分之一.并且,这些列在大部份情形下,都是无关紧要的.若数据库管理员碰到这种情形,笔者倡议别的成立一张副表,以保存这些列.然后通过关键字把主表跟这张副表关联起来.将数据存储在两个独立的表中使得主表的计划更为简单,同时也可以满意存储空值信息的需求.
要求二:表不该该有反复的值大概列.
如目前有一个进销存管理系统,这个系统中有一张产品基本信息表中.这个产品开辟有时刻可以是一个人完成,而有时刻又需求多个人合作才可以完成.所以,在产品基本信息表产品开辟者这个字段中,有时刻大概需求填入多个开辟者的名字.
如进销存管理中,还需求对客户的接洽人举行管理.有时刻,企业大概只知道客户一个采购员的姓名.但是在必要的情形下,企业需求对客户的采购代表、仓库人员、财政人员共同举行管理.因为在订单上,大概需求填入采购代表的名字;但是在出货单上,则需求填入仓库管理人员的名字等等.
为了办理这个问题,有多种实现方法.但是,若计划不公道的话在,则会招致反复的值大概列.如我们也可以这么计划,把客户信息、接洽人都放入同一张表中.为了办理多个接洽人的问题,可以设置第一接洽人、第一接洽人电话、第二接洽人、第二接洽人电话等等.若还有第三接洽人、第四接洽人等等,则常常还需求加入更多的字段.
但是这么计划的话,会产生一系列的问题.如客户的采购员流动性对比大,在一年内换了六个采购员.此时,在系统中该若何管理呢?莫非就成立六个接洽人字段?这不但会招致空字段的增添,还需求频繁的更改数据库表构造.明显,这么做是不公道的.也有人说,可以直接改正采购员的名字呀.但是这么处理的话,会把原先采购订单上采购员的名字也改变了.因为采购单上客户采购员信息在数据库中存储的不是采购员的名字,而只是采购员对应的一个编号.在编号不改而名字改变了的情形下,采购订单上显示的就是更改后的名字.这不利于时刻的追踪.
所以,在数据库计划的时刻要尽大概避免这种反复的值大概列的产生.笔者倡议,若数据库管理员碰到这种情形,可以改变一下战略.如把客户接洽人别的设置一张表.然后通过客户ID把供应商信息表跟客户接洽人信息表衔接起来.也就是说,尽大概将反复的值安排到一张独立的表中举行管理.然后通过视图大概其他手段把这些独立的表接洽起来.
以上是“<b>数据库计划标准化的五个要求-性能调优</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |