`

数据库范式最通俗的描述

阅读更多

那些数据库的书介绍的数据库范式,实在是晦涩难懂,我在这里给出一个通俗的描述:

 

1NF:一个table中的列是不可再分的(即列的原子性)

2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以有重复的)

3NF:一个table中列不依赖以另一个table中的非主键的列,还是不通俗!巨寒!!

 

举个例子吧:有一个部门的table,我们叫它tbl_department, 它有这么几列   (dept_id (pk),dept_name,dept_memo...) 有一个员工table,我们叫它tbl_employee,在这个table中有一列dept_id(fk)描述关于部门的信息,若tbl_employee要满足3NF, 则在tbl_employee中就不得再有除dept_id列的其它有关部门信息的列!一般数据库的设计满足3NF即可!(个人觉得应该尽可能的满足3NF,一家之言^_^)

 

 

 

教材摘要:

第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。

 

第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R 是属于第二范式的。

 

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

分享到:
评论

相关推荐

    常用数据库设计技巧总结

    以下是对【标题】"常用数据库设计技巧总结"和【描述】中提到的一些关键知识点的详细解释: 1. **关系类型**:数据库中的实体关系可以分为一对一、一对多和多对多。通常,原始单据与实体对应一对一关系,但在特定...

    数据库设计原则.docx

    3. 基本表的性质:基本表是数据库中最核心的表,具有原子性、原始性、演绎性和稳定性四个特征。原子性意味着字段不可分割;原始性表示记录包含原始数据;演绎性指通过基本表和代码表可派生所有输出数据;稳定性则...

    数据库设计14技巧.pdf

    5. **通俗理解三个范式**: - 第一范式强调属性的原子性,第二范式要求记录有唯一标识,第三范式避免字段冗余。在设计时,需要权衡规范化和性能之间的平衡,可能在物理设计阶段适当降低范式标准。 6. **处理多对多...

    数据库设计的14条技巧

    以下是对标题和描述中提及的14条数据库设计技巧的详细解释: 1. **原始单据与实体的关系**:理解原始单据与实体(基本表)之间的关系至关重要。通常,一对一关系是最常见的,但也会出现一对多或多对一的情况。例如...

    数据库设计14个技巧

    5. **范式的通俗理解**: - 1NF强调属性的不可再分。 - 2NF强调记录的唯一性,每个实体都有唯一的标识。 - 3NF强调字段的独立性,避免字段通过其他字段派生出来。 6. **处理多对多关系**: 当两个实体间存在多...

    数据库设计技巧.pdf

    以下是对标题和描述中涉及的数据库设计技巧的详细解释: 1. **实体与原始单据的关系**: - 实体通常代表数据库中的基本表,而原始单据可以视为业务过程中的记录。一对一关系意味着每个原始单据对应一个实体,比如...

    head.first.php.mysql

    4. 数据库设计:关系模型,范式理论,表关联(一对一、一对多、多对多),规范化和反规范化。 5. 安全性:密码哈希,验证码,XSS和CSRF防护,输入验证等。 6. 应用框架:如Laravel、CodeIgniter等,它们简化了PHP和...

    C++程序设计原理与实践

    本书《C++程序设计原理与实践》是由C++语言的创始人所著,旨在为编程初学者提供一本深入浅出、通俗易懂的编程学习资料。作者在书中突出C++编程的基本原则和思想,避免让初学者在学习过程中纠缠于复杂的编程细节,...

    算法设计和分析,王晓东

    通过对各种算法的详细阐述,使得复杂的概念变得通俗易懂,是学习算法的宝贵资料。 一、算法设计 算法设计是计算机科学中的核心组成部分,它涉及到如何创建有效的解决问题的步骤。书中王晓东教授可能详细讲解了常见...

Global site tag (gtag.js) - Google Analytics