规范化和函数依赖

一、函数依赖关系

函数依赖:若A的每一个值和B中的一个唯一值对应,则称B函数依赖于A ,记为A —> B.函数依赖可以被任务是一种属性约束关系,这种依赖关系类似于在高中所学习的映射关系,即mapping,在实际应用中,考虑

staffNo --> staffName

在常见的三规范化的依赖中,涉及到两种依赖,完全依赖和传递依赖

二、完全依赖

定义: 属性(组)B完全依赖于属性(组)A,当B函数依赖于A但是不含漱依赖于A的任一真子集,以上述表为例

staffNo,staffName --> branchNo
在之前的描述中,我们知道了staffNo $\to$ staffName,即branchNo也函数依赖于(staffNo,staffName)的真子集

三、传递依赖

定义: 如果A,B,C是都一关系的属性,称C传递依赖于A,若A → \to B, B → \to C
举个例子

staffNo ---> staffName,branchNo,bAddress

四、规范化

1NF:每一行和每一列相交的位置有且仅有一个值
2NF:满足第一范式的要求并且每个非主关键字属性完全函数依赖于主关键字的关系
3NF:满足第一和第二范式的要求并且所有非主关键字都不传递依赖于主关键字的关系

上述的规范也即规范的最初定义,下面将对规范化进行更多的形式化描述

函 数 依 赖 的 形 式 化 定 义 {\bf 函数依赖的形式化定义}

  • 设 R(U) 是属性集合 U={ A1, A2, … , An } 上的一个关系模式,X, Y 是 U 上的两个子集,若对 R(U) 的任意一个可能的关系 r ,r 中不可能有两个元组满足在 X 中的属性值相等而在 Y 中的属性值不等,则称 “ X 函数决定 Y ” 或 “ Y函数依赖于X ” ,记作 X → Y X \to Y XY
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值