首页 数据库 mysql教程 数据库的范式理论

数据库的范式理论

Jun 07, 2016 pm 03:06 PM
key super 关系 数据库 理论 范式

先扫盲: 超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键 候选键(candidate key) :不含有多余属性的超键称为候选键 主键(primary key) :用户选作元组标识的一个候选键程序主键 比如一个小范围的所有人,没有重名的,考虑以下属性 身份

先扫盲:

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键

比如一个小范围的所有人,没有重名的,考虑以下属性

身份证  姓名  性别 年龄

身份证唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的

身份证唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键

考虑输入查询方便性,可以选择 身份证 为主键
也可以 考虑习惯 选择 姓名 为主键
--主键是选中的一个候选键

-----------------------------------------------------------------------

第一范式:

所有的属性都是不可分割的原子单位

第二范式:

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

第三范式:

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

BC范式:(BCNF)

如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。

举例说明:

第一范式(1NF):

如果关系模式R的每个关系都是r的属性值不可分割的原子值,则称关系R是第一范式的模式.

  不满足第一范式的情况:
  关系R(name,address,phone)
  ----------------------------------------------------------------------
  name address phone

AA 山西太原 2204446
   AA 山西太原 8350524
  ----------------------------------------------------------------------
说明:phone可以再分(可以分为phone1和phone2).

*************************************************************************************

第二范式(2NF):

1):局部依赖:
  对于依赖关系 W->A (A依赖于W),如果存在X归属于W,且X->A(A依赖于X),那么称W->A是局部依赖;否则称W->A是完全依赖.
  比如:
  关系模式R(sno,cno,grade,tname,taddr)
  sno:学生学号;cno:课程编号;grade:成绩;tname:老师姓名;taddr:老师住址
  (sno,cno)->(tname,taddr)(sno,cno决定于tname以及cno)是局部依赖,因为cno->(tname,taddr).

2):二范式定义:
  如果关系模式R满足第一范式,且每个非主属性完全依赖于侯选键,则称R满足第二范式.

不满足第二范式的情况:
  关系模式R(sno,cno,grade,tname,taddr)
  sno:学生学号;cno:课程编号;grade:成绩;tname:老师姓名;taddr:老师住址
  ----------------------------------------------------------------------
  sno cno grade tname taddr

  101 001 100 张老师 山西太原....
  102 001 95 张老师 山西太原....
  103 001 98 张老师 山西太原....
  104 002 95 李老师 中国北京....
  105 003 90 刘老师 中国上海....
  ----------------------------------------------------------------------
  说明:出现相同的tname,taddr三次
  消除方法:分解关系模式R
  ----------------------------------------------------------------------
  R1(sno,cno,grade)

  sno cno grade

  101 001 100
  102 001 95
  103 001 98
  104 002 95
  105 003 90


  R2(cno,tname,taddr)

  cno tname taddr

  001 张老师 山西太原....
  002 李老师 中国北京....
  003 刘老师 中国上海....
  ----------------------------------------------------------------------

*************************************************************************************

第三范式(3NF):

1):传递依赖:如果X->Y,Y->A,且Y不依赖X和A不是Y的子集,那么称X->A是传递依赖.(A传递依赖于X)

2):三范式定义:
  如果关系模式R是1NF,且每个非主属性都不依赖于R的侯选键,那么称R满足第三范式.

不满足第三范式的情况:
  关系模式R2(cno,tname,taddr)是2NF模式,如果在R2中存在cno->tname,tname->taddr,那么cno->taddr就是个传递依赖,及不满足第三范式.
  ----------------------------------------------------------------------
  cno tname taddr

  001 张老师 山西太原....
  002 李老师 中国北京....
  003 刘老师 中国上海....
  004 张老师 山西太原....
  005 张老师 山西太原....
  ----------------------------------------------------------------------
  说明:张老师开设了3门课程,上面就出现了3个元组,教师地址重复了3次.
  消除方法:分解关系模式R2
  ----------------------------------------------------------------------
  R3(cno,tname)

  cno tname

  001 张老师
  002 李老师
  003 刘老师
  004 张老师
  005 张老师

  R4(tname,taddr)

  tname taddr

  张老师 山西太原....
  李老师 中国北京....
  刘老师 中国上海....
  ----------------------------------------------------------------------

再补充一下:

第四范式(4NF)

第四范式禁止主键列和非主键列一对多关系不受约束

第五范式(5NF)

第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余.

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 Jul 26, 2024 pm 05:38 PM

突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。

英伟达对话模型ChatQA进化到2.0版本,上下文长度提到128K 英伟达对话模型ChatQA进化到2.0版本,上下文长度提到128K Jul 26, 2024 am 08:40 AM

英伟达对话模型ChatQA进化到2.0版本,上下文长度提到128K

谷歌AI拿下IMO奥数银牌,数学推理模型AlphaProof面世,强化学习 is so back 谷歌AI拿下IMO奥数银牌,数学推理模型AlphaProof面世,强化学习 is so back Jul 26, 2024 pm 02:40 PM

谷歌AI拿下IMO奥数银牌,数学推理模型AlphaProof面世,强化学习 is so back

为大模型提供全新科学复杂问答基准与测评体系,UNSW、阿贡、芝加哥大学等多家机构联合推出SciQAG框架 为大模型提供全新科学复杂问答基准与测评体系,UNSW、阿贡、芝加哥大学等多家机构联合推出SciQAG框架 Jul 25, 2024 am 06:42 AM

为大模型提供全新科学复杂问答基准与测评体系,UNSW、阿贡、芝加哥大学等多家机构联合推出SciQAG框架

Nature观点,人工智能在医学中的测试一片混乱,应该怎么做? Nature观点,人工智能在医学中的测试一片混乱,应该怎么做? Aug 22, 2024 pm 04:37 PM

Nature观点,人工智能在医学中的测试一片混乱,应该怎么做?

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science 数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science Aug 08, 2024 pm 09:22 PM

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science

SOTA性能,厦大多模态蛋白质-配体亲和力预测AI方法,首次结合分子表面信息 SOTA性能,厦大多模态蛋白质-配体亲和力预测AI方法,首次结合分子表面信息 Jul 17, 2024 pm 06:37 PM

SOTA性能,厦大多模态蛋白质-配体亲和力预测AI方法,首次结合分子表面信息

不可修补的 Yubico 二因素身份验证密钥漏洞破坏了大多数 Yubikey 5、安全密钥和 YubiHSM 2FA 设备的安全性 不可修补的 Yubico 二因素身份验证密钥漏洞破坏了大多数 Yubikey 5、安全密钥和 YubiHSM 2FA 设备的安全性 Sep 04, 2024 pm 06:32 PM

不可修补的 Yubico 二因素身份验证密钥漏洞破坏了大多数 Yubikey 5、安全密钥和 YubiHSM 2FA 设备的安全性

See all articles