关系数据库设计范式

说到关系数据库设计难免想到范式这个问题,所谓范式简而言之就是约束关系数据库的设计模式。

首先对于1NF(第一范式)来说:就是一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。

什么是不可分的基本数据项呢?举个例子:例如学生(学号,姓名,课程号,成绩)在这里面学号、姓名、课程号、成绩都是不可分的基本数据项。

也只有满足了1NF范式的数据库模式才能被称为关系数据库

2NF(第二范式):若关系模式R∈1NF,并且每一个非主属性完全函数依赖于R的码,R∈2NF。简单解释下什么是非主属性?意思就是一个关系模式R中除了主属性其它属 性都是非主属性。当然什么是完全函数依赖这个才是理解2NF的关键!所谓完全函数依赖:在一个关系中,若某个非主属性数据项依赖于全部关键字称之为 完全函数依赖。举一个例子:例如成绩表(学号,姓名,课程号,成绩)关系中,学号决定学生的姓名即(姓名函数依赖学号),且成绩不函数依赖学号以 及不函数依赖课程号。所以成绩完全依赖(学号和课程号)从另一个角度来 理解:2NF是对记录的唯一性约束,要求记录有唯一标识,即实体的唯一性。

3NF(第三范式):如果R∈2NF,且它的任何一个非主属性都不传递函数依赖于任何主码,则R是第三范式,记作R∈3NF。传递函数依赖:在R中,对于属性X,Y,Z。若Y完全函数依赖于 X且Y不属于X,Z函数依赖于Y。则称为Z对X传递函数依赖。例如:在学生(学号,系别 号,系院名)这个关系中,系别号函数依赖于学号,而系院名函数依赖于系别号。

BCNF(特殊的第三范式):第三范式的扩展,消除主属性对码的部分和传递函数依赖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值