`
dewin
  • 浏览: 7517 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数据库设计三大范式

 
阅读更多
通俗版:


        通俗地理解三个范式,对于数据库设计大有好处(并不是最科学最准确的理解)。
        第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
        第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
        第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
        没有冗余的数据库设计可以做到,然而没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

        具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。




理论版:


数据库设计三范式

        所谓范式,是关系型数据库关系模式规范化的标准,从规范化的宽松到严格,分别为不同的范式,通常使用的有第一范式、第二范式、第三范式及BC范式等。范式是建立在函数依赖基础上的。

函数依赖

        定义:设有关系模式R(U),X和Y是属性集U的子集,函数依赖是形为X→Y的一个命题,对任意R中两个元组t和s,都有t[X]=s[X]蕴涵 t[Y]=s[Y],那么FD X→Y在关系模式R(U)中成立。X→Y读作‘X函数决定Y’,或‘Y函数依赖于X’。通俗的讲,如果一个表中某一个字段Y的值是由另外一个字段或一组字段X的值来确定的,就称为Y函数依赖于X。函数依赖应该是通过理解数据项和企业的规则来决定的,根据表的内容得出的函数依赖可能是不正确的。

第一范式(1NF)

        定义:如果关系模式R的每个关系r的属性都是不可分的数据项,那么就称R是第一范式的模式。

        简单的说,每一个属性都是原子项,不可分割。1NF是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不称为关系型数据库。关系数据库设计研究的关系规范化是在1NF之上进行的。

第二范式(2NF)

        定义:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么就称R是第二范式。

        简单的说,第二范式要满足以下的条件:首先要满足第一范式,其次每个非主属性要完全函数依赖与候选键,或者是主键。也就是说,每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定。

举个例子:

第三范式(3NF)

         定义:如果关系模式R是2NF,且关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是属于第三范式。

         简单的说,第三范式要满足以下的条件:首先要满足第二范式,其次非主属性之间不存在函数依赖。由于满足了第二范式,表示每个非主属性都函数依赖于主键。如果非主属性之间存在了函数依赖,就会存在传递依赖,这样就不满足第三范式。

BC范式(BCNF)

         BC范式是第三范式的增强版,不过也有人说是直接从1NF发展过来的,即每个属性,包括主属性或非主属性,都完全依赖于候选键,并且不存在传递依赖情况。

分享到:
评论

相关推荐

    数据库设计三大范式应用实例剖析

    数据库设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除和更新操作异常。 第一范式(1NF)是数据库设计的基础规范,它规定了数据库表中的字段都是单一...

    数据库设计三大范式应用实例剖析.doc

    "数据库设计三大范式应用实例剖析" 数据库设计是数据库系统的核心部分,直接影响着数据库的性能、安全性和可维护性。数据库设计的目的是为了使数据库系统满足某些标准,使得数据库系统更加简洁、明晰、易于维护和...

    数据库设计三大范式五大约束.docx

    数据库设计三大范式五大约束 数据库设计是指对数据库的结构、数据模型和数据关系的设计和规划。好的数据库设计可以提高数据库的性能、安全性和可维护性。本文将对数据库设计三大范式和五大约束进行详细的介绍和分析...

    数据库设计三大范式应用实例剖析(doc)

    数据库设计范式虽然提供了规范化的指导原则,但实际设计中还需要考虑性能和应用需求。在某些情况下,为了提高性能,需要在范式理论和数据冗余之间寻求平衡。例如,在一些读操作频繁的场景中,适度的冗余可以减少复杂...

    计算机等考三级数据库基础:数据库设计三大范式应用实例剖析.docx

    【计算机等考三级数据库基础:数据库设计三大范式应用实例剖析】 数据库设计是构建高效、稳定、易维护的信息系统的基础,而三大范式——第一范式(1NF)、第二范式(2NF)和第三范式(3NF)是确保数据库设计规范的...

    简洁、明晰!数据库设计三大范式应用实例剖析

    数据库设计范式是一系列规则,它们帮助开发者创建出既高效又易于维护的数据模型。遵循这些规范能有效避免数据冗余、插入异常、删除异常以及更新异常等问题。本文将详细介绍数据库设计的三大范式——第一范式(1NF)、...

    数据库设计三大范式.pdf

    数据库设计是信息系统构建的核心环节,其中的三大范式——第一范式、第二范式和第三范式,是确保数据规范化和避免数据冗余的关键原则。这些范式是根据关系数据库理论建立的,目的是提高数据库的逻辑独立性和减少数据...

    数据库设计三大范式1

    数据库设计的三大范式是构建高效、稳定、无冗余关系型数据库的关键准则。这些范式为数据库设计者提供了一套标准,确保数据的一致性和完整性。以下是这三大范式的详细解释: 1. 第一范式(1NF - First Normal Form)...

    mysql之数据库设计三大范式

    在数据库设计中,三大范式(Normal Forms)是确保数据逻辑结构合理化、减少冗余、避免数据不一致的关键原则。这些范式是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。下面将详细阐述这三大范式及其在MySQL...

    数据库设计三大范式应用实例剖析1

    数据库设计的三大范式——第一范式(1NF)、第二范式(2NF)和第三范式(3NF)——是构建高效、无冗余、易于维护的数据库的基础。它们确保了数据的一致性和完整性,避免了数据异常,如插入异常、删除异常和更新异常...

    数据库设计三大范式简析

    数据库设计是构建高效、稳定的信息系统的关键步骤,其中三大范式——第一范式(1NF)、第二范式(2NF)和第三范式(3NF)是关系型数据库设计的基本准则,它们旨在减少数据冗余,提高数据一致性,并降低更新异常的...

Global site tag (gtag.js) - Google Analytics