1、关系数据库概述
1.1 关系数据库的产生历史
2、关系数据模型
2.1 组成要素
关系数据结构;关系操作集合;关系完整性约束
2.2 关系数据结构
2.2.1 表(Table)
2.2.2 关系(Relation)
2.2.3 关系的三种类型
2.2.4 列
-
表名必须唯一
-
字段名必须唯一
-
不同表中可以出现相同的字段名
2.2.5 属性
2.2.6 行
2.2.7 分量
2.2.8 码或键(key)
2.2.9 超码或超键
2.2.10 候选码或候选键
单个属性的码一定是候选码
2.2.11 主属性或非主属性
2.2.12 主码或主键
2.2.13 全码或全键
2.2.14 外码或外键
2.2.15 参照关系与被参照关系
主码:也叫做主关系或被参照关系
外码:也叫做从关系或参照关系
2.2.16 域
2.2.17 概要
在关系的一个码或键中,不能从中移去任何一个属性,否则它就不是这个关系的码或键,称这样的码或键为该关系的( 候选码或候选键 )。
一个关系的候选码或候选键是这个关系的( 最小 )超码或超键。
在数据库中,关系中包含在任何一个候选码中的属性称为(主属性或码属性)
2.2.18 数据类型
2.2.19 关系模型
2.2.20 关系数据库
2.2.21 关系数据库应用
2.2.22 简答:关系数据库对关系的限定有哪些具体要求?
在关系中,任意两行数据是允许重复的.
在关系中,如果设置了候选码,则任意两行数据是不允许重复的.
2.3 关系操作
2.3.1 概要
2.3.2 查询
2.3.3 特点
说明:关系操作是通过关系语言实现的.
2.4 关系数据语言
2.4.1 关系代数语言
2.4.2 结构化查询语言(SQL)
2.4.3 关系演算语言
- 元组关系演算
- 域关系演算
共同特点:具有完备的表达能力,是非过程化的集合操作语言,功能强,能够独立使用也可以嵌入高级语言中使用。
2.5 运算符
2.5.1 三大要素
2.6 传统的集合运算
2.6.1 并差交笛卡尔积
2.6.2 并
2.6.3 差
2.6.4 交
2.6.5 笛卡尔积
2.7 专门的关系运算
2.7.1 选择
2.7.2 投影
πA(R)中的A指的是属性序列.
2.7.3 连接
select * from r inner join s where s.b = r.b;
2.7.4 除
2.8 简答
解析:
没有选修B5 = 所有 — 有B5
学生姓名 = π姓名(S)
检索 = 选择 σ
2.9 关系的完整性约束
2.9.1 数据库的数据完整性是指数据库中数据的正确性、相容性、一致性。
2.9.2 实体完整性约束
2.9.3 参照完整性约束
参照完整性约束只针对于外码进行约束,不会针对主码而言。
解析:学生安排了某门专业的课程(如:语、数、外),进行学修。学生想早点拿到学分,就需要报名专业的课程(语、数、外)去考试,或者这一次没把握,这次不报名。但学生就没法去报名某门专业的课程(如:语、数、外)之外的课程去拿到相对于的学分。
2.9.4 用户定义完整性约束User-defined Integrity Constraint
域完整性约束(针对某一应用环境的完整性约束)、其他
2.9.5 应用情景
- 执行插入操作
- 执行删除操作
- 执行更新操作(上述两种情况的综合)
3、关系数据库的规范化理论
3.1 关系模式中可能存在的冗余和异常问题
3.1.1 数据冗余
- 指同一数据被反复存储的情况
3.1.2 更新异常
- 数据冗余造成的,多个内容更改使操作错误
3.1.3 插入异常
- 不能正常的执行插入操作
3.1.4 删除异常
- 不应该删除的数据会出现被删除的情况
3.2 函数依赖与关键字
3.2.1 X—>Y
3.2.2 函数依赖
定义:关系中属性间的对应关系
3.2.2.1 完全函数依赖
可知:完全函数依赖中X为候选码.
3.2.2.2 部分函数依赖
可知:部分函数依赖中X为超码.
3.2.2.3 传递函数依赖
X决定Y,Y不决定X,Y决定Z,则有X—>Z,称为Z传递依赖于X.
简答:完全函数依赖,部分函数依赖,传递函数依赖
3.2.3 关键字
3.3 范式与关系规划化过程
3.3.1 简答:关系规范化过程
3.3.2 第一范式1NF
第一范式综合应用
原因:
GRADE完全函数依赖于(SNO,CNO);
CTITLE、INAME、IPLACE都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖.
3.3.3 第二范式2NF
第一范式变为第二范式的过程,找表当中的部分函数依赖,然后拆开,即为第二范式.
第二范式综合应用
3.3.4 第三范式3NF
第二范式变为第三范式第过程,找表中的传递函数依赖,然后拆开,即为第三范式.
第三范式综合应用