你的浏览器不支持本网站所要求的功能, 现在看到的是本网站简化版本.

为了获得最佳体验, 请使用最新的Chrome, Safari, Firefox 或 Edge 浏览器.

4. 关系数据理论

4.1 问题的提出

Powered by impress.js
Ver. 2408

### 如何构造适合的数据库 - 应该构造几个关系模式 - 每个关系由哪些属性组成 - 这是关系数据库逻辑设计问题 - 关系数据库的规范化理论
### 关系模式的定义 - 五元组 $R(U, D, DOM, F)$ - 关系名 $R$ 是符号化的元组语义 - $U$ 为一组属性 - $DOM$ 为属性到域的映射 - $F$ 为属性组 $U$ 上的一组数据依赖 - 本章使用三元组 $R(U, F)$ - 当且仅当 $R$ 上的一个关系 $r$ 满足 $F$ 时, $r$ 称为关系模式 $R(U)$ 的一个关系
### 第一范式 (1NF) - 关系的每一个分量必须是不可分的数据项 - 这样的关系模式属于第一范式 (1NF)
### 数据依赖 - 一个关系内部属性与属性之间的一种约束关系 - 通过属性间值的相等与否体现 - 是现实世界属性间相互联系的抽象 - 是数据内在的性质 - 是语义的体现 - 函数依赖 (Functional Dependency, FD) - 多值依赖 (Multi-Valued Dependency, MVD)
### 函数依赖 - 某个属性或属性组确定其他属性或属性组 - 例如学号确定姓名, 系名 - 即 Sno 函数决定 Sname,Sno 函数决定 Sdept - 记作 $Sno \to Sname, Sno \rightarrow Sdept$ - 或 Sname 函数依赖于 Sno, Sdept 函数依赖于 Sno
### 例 1 - 关系模式 Student 包含Sno, Sdept, Mname, Cno, Grade - 记作 $U = \lbrace Sno, Sdept, Mname, Cno, Grade \rbrace$ - 一个系有若干学生 - 一个学生只属于一个系 - 一个系只有一名负责人 - 一个学生可以选修多门课程 - 每门课程有若干学生选修 - 每个学生学习每一门课程有一个成绩
### 例 1 实例 - $r = \lbrace Sno, Sdept, Mname, Cno, Grade \rbrace$ - $r_1 = \lbrace S1, 计算机系, 张明, C1, 95 \rbrace$ - $r_2 = \lbrace S2, 计算机系, 张明, C1, 90 \rbrace$ - $r_3 = \lbrace S3, 计算机系, 张明, C1, 88 \rbrace$ - $r_4 = \lbrace S4, 计算机系, 张明, C1, 70 \rbrace$ - $r_5 = \lbrace S5, 计算机系, 张明, C1, 78 \rbrace$
### 例 1 函数依赖 - $Sno \to Sdept$ - $Sdept \to Mname$ - $(Sno, Cno) \to Grade$
### 例 1 关系模式 - $Student(U, F)$ - $U = \lbrace Sno, Sdept, Mname, Cno, Grade \rbrace$ - $F = \lbrace Sno \to Sdept, Sdept \to Mname,$ - $(Sno, Cno) \to Grade \rbrace$
![Example 1](img/c04/ex-6-1.svg) #### Example 1
### 该关系模式的问题 - 数据冗余: 系主任重复出现 - 更新异常: 更换系主任 - 插入异常: 一个系刚成立 - 删除异常: 某系学生全部毕业
### 例 1 改善 - $S ( Sno, Sdept, Sno \to Sdept )$ - $SC ( Sno, Cno, Grade, ( Sno, Cno ) \to Grade )$ - $DEPT ( Sdept, Mname, Sdept \to Mname )$
![course 4.1 mindmap](img/c04/mindmap-4-1.png)
### 4.1 问题的提出 - 什么是第一范式? - 什么是函数依赖? - 列出你设计的关系模式中的函数依赖. - 根据本课内容, 列出你的关系模式中存在的问题. ---- [ 3.6 视图](dbds-3-6.html#/overview) [| 练习 |](dbds-exec.html) [ 4.2 规范化](dbds-4-2.html#/overview)

黑公网安备23010302001726号   黑ICP备2024033110号-1