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