范式

详解第一范式、第二范式、第三范式、BCNF范式

第一范式:属性不可再分

第二范式:是否存在 非主属性 对于码 的部分函数依赖

  • 找出码,与其主属性(码为主属性的和)(也就是说如果单个主属性能确定唯一的非主属性,那么就不符合第二范式,必须得是整个码推出所有的属性)
  • 找出非主属性
  • 看非主属性是否与 码 构成部分函数依赖 若不构成,则为第二范式

例如:选课(学号,课名,分数)

  1. 找出码:学号与课名(除了码以外的所有属性完全依赖于码,也就是说,只要定下学号和课名 其他属性都能完全定下来)
  2. 非主属性:分数
  3. 学号不能定义出唯一分数,课名也不能定义出唯一分数,所以为第二范式(也就是说必须得由码来定义出唯一的非主属性,否则就不能位第二范式)

如果有(学号,课名,系名,姓名,系主任),学号与课名为码,但是学号能推出系名,也能推出姓名和系主任,这样就不构成第二范式,因为他们存在部分依赖

当他们拆分变成第二范式后,但是系名能推出系主任,所以不构成第三范式。只有再拆分,使非主属性也不能确定其他的非主属性后,才是第三范式

第三范式:简单地说,所有非主属性都必须由码来确立,不能有其他非主属性来确定

如图,消除了系名与系主任的关系

posted @ 2020-08-26 10:28  lwxx  阅读(595)  评论(0)    收藏  举报