普通状况下,可以从两个方面来推断数据库与否设计比较法律规范
一是看看与否拥有大量窄表,二是宽表数量与否足够少
若符合这两个条件,则可以阐明这个数据库法律规范化水平还是比较高
固然这是两个泛泛而谈指标
为了达到数据库设计法律规范化规定,普通来说,需要符合如下五个规定
规定一:表中应当避开可为空列 虽然表中容许空列,但是,空字段是一种比较特别数据类型
数据库在解决时候,需要进行特别解决
如此话,就会增长数据库解决记录复杂性
当表中有比较多空字段时,在同等条件下,数据库解决性能会减少许多
因此,虽然在数据库表设计时候,容许表中具备空字段,但是,咱们应当尽量避开
若的确需要话,咱们可以通过某些折中方式,来解决这些空字段,让其对数据库性能影响减少到至少
一是通过设立默认值形式,来避开空字段产生
如在一种人事管理系统中,有时候身份证号码字段也许容许为空
由于不是每个人都可以记住自己身份证号码
而在员工报届时候,也许身份证没有带在身边
因此,身份证号码字段往往不能及时提供
为此,身份证号码字段可以容许为空,以满足这些特别状况需要
但是,在数据库设计时候,则可以做某些解决
如当顾客没有输入内容时候,则把这个字段默认值设立为 0 或者为 N/A
以避开空字段产生
二是若一张表中,容许为空列比较多,接近表所有列数三分之一
并且,这些列在大某些状况下,都是可有可无
若数据库管理员遇到这种状况,笔者建议此外建立一张副表以保存这些列
然后通过核心字把主表跟这张副表关联起来
将数据存储在两个独立表中使得主表设计更为简朴,同步也可以满足存储空值信息需要
规定二:表不应当有重复值或者列 如当前有一种进销存管理系统,这个系统中有一张产品基本信息表中
这个产品开发有时候可以是一种人完毕,而有时候又需要各种人合伙才可以完毕
因此,在产品基本信息表产品开发者这个字段中,有时候也许需要填入各种开发者名字