对数据库三大范式及BC范式的理解

发表于:2013-12-11 10:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张琦    来源:51Testing软件测试网采编

  1.第一范式:数据库的字段是单一属性,不可再分
  不能是复合属性,如果存在,应该拆分为多个属性
  不能是多值属性,如果存在,应该建立一个实体,而让此属性与其存在1对多的关系)
  不能是重复属性
  2.第二范式:任何非关键字段不能部分依赖任一侯选关键字(即必须完全依赖)
  表中必须存在侯选关键字,即每一行不同于其他任一行,是惟一区分的
  任何非关键字段不能依赖于侯选关键字的一部分
  3.第三范式:任何非关键字段不能传递依赖任一侯选关键字
  非关键字字段必须直接依赖任一侯选关键字
  非关键字段C不能依赖非侯选关键字B,因为样会形成传递依赖:侯选关键字A=>B=>C,因为这时的B往往是外键,即其他表的主键,也就是说表
  中不能含有其他表的非主属性
  4.BC范式:任何字段都不能传递依赖任一侯选关键字
  与第三范式相比,一个是“任何非关键字段不能”,一个是“任何字段不能”,显然更严格了
  侯选关键字或其部分字段不能传递依赖其他的侯选关关键字
  注释:
  侯选关键字:又叫侯选码,惟一标识一行数据,其真子集不能是侯选关键字,一个表可以存在多个侯选关键字,如用户表的username,userid
  主关键字:又叫主键,主码,被选中的用来区分其它行的侯选关键字,一个表只有一个主关键字
  部分依赖:(A,B)->C,D,如A->C,则C部分依赖A
  传递依赖:A->B->C,则C传递依赖A
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号