设计范式是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。
数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁。实践中,通常把一个数据库分成两个或多个表并定义表之间的关系以做到数据隔离,添加、删除和修改某个字段只需要在一个表中进行,接着可以通过定义的关系传递到数据库中剩余的表中(和分层思想的意义所在很相似)。这样我们可以消除很多错误或垃圾数据出现的机会并减轻更新信息所必要的工作量。
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推
事物往往具有多面性,设计范式也会带来一定的麻烦:操作困难,因为需要联系多个表才能得到所需要数据,而且范式越高性能就会越差。所以使用多高的范式需要权衡利弊,一般在项目中,使用到第三范式也就足够了,性能好而且方便管理数据。
第三范式的表需要满足一下条件:
满足第二范式
所有的非主键列依赖主键列
非主键列的依赖存在与数据直接。例如,在下面的表中,街道名称、城市和州取决于邮政编码。
地址和邮编的依赖关系称为传递依赖。为了满足第三范式,之需要将Street、City和State列移动到单独的表中,比如
邮政编码表:
然后修改customer表:
消除依赖的好处包括两个方面。首先时间少了重复数据,所以数据库更小。第二个好处是数据完整性。如果修改了重复的数据,存在部分修改的风险,尤其是分散在多个不同位置的重复数据。例如,如果地址和邮编数据存储在3个或4个不同的表中,任何邮编的修改需要涉及所有表中的记录。
数据库设计规范能让我们更好地适应变化,使你能够改变业务规则、需求和数据而不需要重新构造整个系统。
¥199.00
¥48.00¥180.00
¥199.00
¥29.90
¥798.00
¥48.00¥180.00