Skip to content

Commit

Permalink
update relations
Browse files Browse the repository at this point in the history
  • Loading branch information
fengzhao committed Oct 19, 2023
1 parent 602bae8 commit 14709c0
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions docs/basic/5.relation.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,14 @@ create table student (

???+ 函数依赖
设一个关系为R(U),X和Y为属性集U上的子集,若对于X上的每个值都有Y上的一个唯一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作X→Y,称X为决定因素。

数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系是通过属性间值的相等与否体现出来的数据间的相关联系。

函数依赖指的是在数据库中,各种不同属性(或者属性集合)关系间的一种"约束",也可以看作属性之间的一种映射,也是一种"依赖性",存在"当且仅当"的前提。
若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。也就是说,在数据表中,不存在任意两条记录,它们在X属性(或属性组)上的值相同,而在Y属性上的值不同。这也就是“函数依赖”名字的由来。

若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。
也就是说,在数据表中,不存在任意两条记录,它们在X属性(或属性组)上的值相同,而在Y属性上的值不同。这也就是“函数依赖”名字的由来。



Expand All @@ -193,6 +198,7 @@ create table student (

???+ 第一范式
第一范式最好理解,如果一个关系中的所有属性的域都是原子的,那么这个关系属于第一范式。(属性不可拆分)。

在当前的任何关系数据库管理系统RDBMS中,设计出不符合第一范式的数据库都是不可能的。因为这些DBMS不允许你把数据库表的一列再分成二列或多列。


Expand All @@ -211,7 +217,7 @@ create table student (

消除了非主属性对于主码的部分函数依赖。判断的依据实际上就是看数据表中是否存在非主属性对于主码的部分函数依赖。

```
```SQL
选课(学号,课名,分数) 主码(学号,课名)
学生(学号,姓名,系名,系主任) 主码(学号)

Expand Down

0 comments on commit 14709c0

Please sign in to comment.