数据库范式通俗解释与相关名词解释

第一范式

  • 列不能够再分
    这是不符合第一范式的(红色代表主键)——地址列可以再分
    数据库范式通俗解释与相关名词解释_第1张图片

第二范式

  • 首先要符合第一范式
  • 表必须有主键
  • 非主键列不能只依赖于主键的一部分
    数据库范式通俗解释与相关名词解释_第2张图片

第三范式

  • 首先满足第二范式
  • 非主键列必须直接依赖于主键,不能存在传递依赖
    这是不符合第三范式的(红色代表主键)——学校描述没有直接依赖于主键,而是直接依赖于学校,学校直接依赖于主键,所以存在传递依赖
    数据库范式通俗解释与相关名词解释_第3张图片

名词解释

设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K(这个“完全”不要漏了),那么我们称 K 为候选码,简称为码。在实际中我们通常可以理解为:假如当 K 确定的情况下,该表除 K 之外的所有属性的值也就随之确定,那么 K 就是码。一张表中可以有超过一个码。(实际应用中为了方便,通常选择其中的一个码作为主码)

主属性

指主键列,即主键由一列构成

非主属性

不包含在任何一个码中的属性称为非主属性。

主键定义

能够唯一标识一个元组的属性或属性集,即可以由多列组成。

函数依赖

我们可以这么理解(但并不是特别严格的定义):若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。也就是说,在数据表中,不存在任意两条记录,它们在X属性(或属性组)上的值相同,而在Y属性上的值不同。这也就是“函数依赖”名字的由来,类似于函数关系 y = f(x),在x的值确定的情况下,y的值一定是确定的。

完全函数依赖

在一张表中,若 X → Y,且对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ’ → Y 不成立,那么我们称 Y 对于 X 完全函数依赖。

部分函数依赖

假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么我们就称 Y 部分函数依赖于 X。

传递函数依赖

假如 Y 不包含于 X,Z 函数依赖于 Y,且 Y 函数依赖于 X ,我们就称, Z 传递函数依赖于 X 。
转载 如何解释关系数据库的第一第二第三范式
数据库三大范式最通俗解释

你可能感兴趣的:(MYSQL)