Update basis.md

函数依赖与 -》函数依赖于
This commit is contained in:
ShiboLu-Stan 2023-07-25 21:41:37 +08:00 committed by GitHub
parent 9e566a516a
commit ddb4b630cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -63,7 +63,7 @@ ER 图由下面 3 个要素组成:
一些重要的概念:
- **函数依赖functional dependency**若在一张表中在属性或属性组X 的值确定的情况下,必定能确定属性 Y 的值,那么就可以说 Y 函数依赖于 X写作 X → Y。
- **部分函数依赖partial functional dependency**:如果 X→Y并且存在 X 的一个真子集 X0使得 X0→Y则称 Y 对 X 部分函数依赖。比如学生基本信息表 R 中(学号,身份证号,姓名)当然学号属性取值是唯一的,在 R 关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖(学号,身份证号);
- **部分函数依赖partial functional dependency**:如果 X→Y并且存在 X 的一个真子集 X0使得 X0→Y则称 Y 对 X 部分函数依赖。比如学生基本信息表 R 中(学号,身份证号,姓名)当然学号属性取值是唯一的,在 R 关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖(学号,身份证号);
- **完全函数依赖(Full functional dependency)**:在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。比如学生基本信息表 R学号班级姓名假设不同的班级学号有相同的班级内学号不能相同在 R 关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);
- **传递函数依赖**:在关系模式 R(U)中,设 XYZ 是 U 的不同的属性子集,如果 X 确定 Y、Y 确定 Z且有 X 不包含 YY 不确定 XXY∩Z=空集合,则称 Z 传递函数依赖(transitive functional dependency) 于 X。传递函数依赖会导致数据冗余和异常。传递函数依赖的 Y 和 Z 子集往往同属于某一个事物,因此可将其合并放到一个表中。比如在关系 R(学号 , 姓名, 系名,系主任)中,学号 → 系名,系名 → 系主任,所以存在非主属性系主任对于学号的传递函数依赖。。