数据库期末复习之例题汇总

文章目录

  • 数据库期末复习之例题汇总
    • 第1讲 绪论
      • 数据 - P11
      • 层次模型 - P69
      • 网状结构 - P81
      • 模式与实例 - P101
    • 第2讲 关系数据库
      • 笛卡尔积 – P13
      • 关系模式 - P29
      • 实体完整性 - P42
      • 关系间的引用 例2.1 - P46
      • 关系间的引用 例2.2 - P47
      • 关系间的引用 例2.3 - P48
      • 外码 例2.1 - P50
      • 外码 例2.2 - P51
      • 外码 例2.3 - P52
      • 参照完整性规则 延申 - P55
      • 用户定义的完整性 - P60
      • 集合运算 并(Union) - P66
      • 集合运算 差(Difference) - P68
      • 集合运算 交(Intersection) - P70
      • 关系运算 笛卡尔积 - P72
      • 象集 - P78
      • 选择 例2.4 例2.5 - P85
      • 投影 例2.6 例2.7 - P88
      • 连接 例2.8 - P94
      • 外连接 例2.8延申 - P100
      • 除运算 例2.9 - P104
      • 综合举例 - P106
    • 第3讲 关系数据库标准语言 SQL
      • 定义模式 例3.1 例3.2 - P28
      • 定义模式和表 例3.3 - P30
      • 删除模式 例3.4 - P32
      • 定义基本表 例3.5-3.7 - P35
      • 修改基本表 例3.8-3.10 - P45
      • 删除基本表 例3.11-3.12 P48
      • 建立索引 例3.13 - P56
      • 修改索引 例3.14 - P57
      • 删除索引 例3.15 - P68
      • 查询表中若干列 例3.16-3.17 - P66
      • 查询全部 例3.18 - P67
      • 查询计算值 例3.19-3.20 - P68
      • 查询-消除重复 例3.21 - P72
      • 查询-比较大小 例3.22-3.24 - P75
      • 查询-范围 例3.25-3.26 - P76
      • 查询-确定集合 例3.27-3.28 - P77
      • 查询-字符匹配 例3.29-3.35 - P79
      • 查询-涉及空值 例3.37 - P83
      • 查询-多重条件 例3.38 - P84
      • 查询-排序 例3.39-3.40 - P88
      • 查询-聚集函数 例3.41-3.45 - P91
      • 查询-分组 例3.46-3.48 - P95
      • 查询-自然连接 例3.50 - P108
      • 查询-非等值连接 例3.51 - P109
      • 查询-自身连接 例3.52 - P111
      • 查询-外连接 例3.53 - P116
      • 查询-多表连接 例3.54 - P119
      • 查询-嵌套-IN 例3.55-3.56 - P126
      • 查询-嵌套-比较 例3.57 - P133
      • 查询-嵌套-ALL/ANY 例3.58-3.59 - P141
      • 查询-嵌套-EXISTS(难点) 例3.60-3.63 - P150
      • 查询-集合操作 例3.64-3.68 - P161
      • 查询-派生表 例3.57+3.60 - P170
      • 插入元组 例3.69-3.71 - P184
      • 插入子查询结果 例3.72 - P188
      • 修改一个元组的值 例3.73 - P193
      • 修改多个元组的值 例3.74 - P194
      • 带子查询的修改 例3.75 - P195
      • 删除一个元组的值 例3.76 - P200
      • 删除多个元组的值 例3.77 - P201
      • 带子查询的删除 例3.78 - P202
      • 空值的产生 例3.79-3.80 - P205
      • 空值的判断 例3.81 - P207
      • 空值的运算 例3.82-3.83 - P211
      • 建立试图 例3.84-3.90 - P221
      • 删除视图 例3.91 - P230
      • 查询视图 例3.92-3.94 - P233
      • 更新视图 例3.95-3.97 - P239
    • 第4讲 数据库安全性
      • 授权 例4.1-4.7 - P50
      • 回收权限 例4.8 - P58
      • 创建用户 - P63
      • 数据库角色 例4.11-4.13 - P72
      • 视图机制 例4.14 - P86
      • 审计 例4.15-4.16 - P95
    • 第5讲 数据库完整性
      • 实体完整性定义 例5.1-5.2 - P12
      • 参照完整性 例5.3 - P23
      • 参照完整性违约处理 例5.4 - P30
      • 属性上约束条件的定义 例5.5-5.8 - P37
      • 元组上约束条件的定义 例5.9 - P44
      • 完整性约束命名子句 例5.10-5.13 - P48
      • 断言 例5.18-5.20 - P54
      • 定义触发器 例5.21-5.23 - P67
    • 第6讲 关系数据理论
      • 问题的提出 例6.1 - P12
      • 函数依赖 - P25
      • 完全函数依赖与部分函数依赖 - P32
      • 传递函数依赖 - P33
      • 码 例6.2-6.3 - P37
      • 外码 - P38
      • 2NF 例6.4 - P43
      • 3NF - P49
      • BCNF 例6.5-6.8 - P53
      • 多值依赖 例6.9 - P60
      • 4NF - P82
    • 第7讲 数据库设计
      • E-R模型 - P60
      • 概念结构涉及 例1-3 - P73
      • 概念结构设计 例7.1 - P76
      • ER图-合并 - P87
      • ER图-消除冗余 - P89
      • ER图-视图集成
      • ER图转换关系模型 - P107
      • 聚簇存取方法 - P141
      • 数据存放位置 - P150
    • 第8讲 数据库编程
      • 数据库连接+游标 例8.1 - P26
      • 不用游标 例8.2 - P33
      • 查询结果为单记录的SELECT语句 例8.3 - P35
      • 非CURRENT形式的增删改语句 例8.4-8.5 - P36
      • 动态SQL 例8.6-8.7 - P53
      • 存储过程的用户接口 例8.8-8.9 - P79
      • ODBC工作流程 例8.11-8.12 - P118
    • 第9讲 关系查询处理和查询优化
      • 选择操作的实现 例9.1 - P18
      • 连接操作的实现 例9.2 - P24
      • 查询优化 例9.3 - P43
      • 查询树的启发式优化 例9.4 - P73
    • 第10讲 数据库恢复技术
      • 事件-一致性于原子性 - P13
      • 恢复的实现技术 - P41 P57
      • 检查点 - P83
    • 第11讲 并发控制
      • 并发控制-不一致性 例11.1 - P11
      • 脏数据 - P20
      • 一级封锁 - P35
      • 二级封锁 - P37
      • 三级封锁协议 - P39
      • 可串行化调度 例11.2 - P67
      • 冲突可串行化 例11.3-11.4 - P76
      • 两段锁协议 - P81
      • 封锁粒度 - P89
      • 意向锁 - P107

数据库期末复习之例题汇总

第1讲 绪论

数据 - P11

数据库期末复习之例题汇总_第1张图片 数据库期末复习之例题汇总_第2张图片

层次模型 - P69

数据库期末复习之例题汇总_第3张图片 数据库期末复习之例题汇总_第4张图片

树形结构,双亲唯一,一对多

网状结构 - P81

数据库期末复习之例题汇总_第5张图片 数据库期末复习之例题汇总_第6张图片

可以多对多

模式与实例 - P101

数据库期末复习之例题汇总_第7张图片

实例是模式的一个具体值

第2讲 关系数据库

笛卡尔积 – P13

数据库期末复习之例题汇总_第8张图片 数据库期末复习之例题汇总_第9张图片 数据库期末复习之例题汇总_第10张图片

其中,每一个元素称为元组,如(张清玖,计算机专业,李勇)

元组中每一个值叫分量,如张清玖,计算机专业,李勇

基数计算方法则是每个域中值的个数的乘积

关系模式 - P29

数据库期末复习之例题汇总_第11张图片

R(U, D, DOM, F)

R:关系名

U:组成该关系的属性名集合

D:U中属性所来自的域

DOM:属性向域的映像集合

F:属性间数据的依赖关系的集合

实体完整性 - P42

数据库期末复习之例题汇总_第12张图片

关系间的引用 例2.1 - P46

数据库期末复习之例题汇总_第13张图片

关系间的引用 例2.2 - P47

数据库期末复习之例题汇总_第14张图片

关系间的引用 例2.3 - P48

数据库期末复习之例题汇总_第15张图片

外码 例2.1 - P50

数据库期末复习之例题汇总_第16张图片

F是R的外码

  • F是基本关系R的一个或一组属性,但不是关系R的码
  • F与基本关系S的主码Ks相对应

R:参照关系

S:被参照关系 / 目标关系

通俗的讲外码就是只是参照关系里的普通属性(非码),但是却和被参照关系里的主码对应

外码 例2.2 - P51

数据库期末复习之例题汇总_第17张图片

外码 例2.3 - P52

数据库期末复习之例题汇总_第18张图片

参照完整性规则 延申 - P55

数据库期末复习之例题汇总_第19张图片 数据库期末复习之例题汇总_第20张图片 数据库期末复习之例题汇总_第21张图片

对应参照完整性规则2.2

外码要么取空值要么取等于S中某个元组的主码值

用户定义的完整性 - P60

数据库期末复习之例题汇总_第22张图片

个人理解是满足语义要求即可

集合运算 并(Union) - P66

数据库期末复习之例题汇总_第23张图片

R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R \cup S = \{ t|t \in R \vee t \in S \} RS={ttRtS}

集合运算 差(Difference) - P68

数据库期末复习之例题汇总_第24张图片

R − S = { t ∣ t ∈ ∧ t ∉ S } R-S = \{ t | t \in \wedge t \notin S \} RS={ttt/S}

集合运算 交(Intersection) - P70

数据库期末复习之例题汇总_第25张图片

R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R \cap S = \{ t|t \in R \wedge t \in S \} RS={ttRtS}

关系运算 笛卡尔积 - P72

数据库期末复习之例题汇总_第26张图片

R × S = { t r ⌢ t s ∣ t r ∈ R ∧ t s ∈ S } R \times S= \{ t_r\frown t_s | t_r \in R \wedge t_s \in S \} R×S={trtstrRtsS}

象集 - P78

数据库期末复习之例题汇总_第27张图片

Z x = { t [ Z ] ∣ t ∈ R , t [ X ] = x } Z_x = \{ t[Z] | t\in R, t[X]=x \} Zx={t[Z]tR,t[X]=x}

表示R中属性组X上值为x的诸元组再Z上分量的集合

选择 例2.4 例2.5 - P85

数据库期末复习之例题汇总_第28张图片 数据库期末复习之例题汇总_第29张图片 数据库期末复习之例题汇总_第30张图片

σ F ( R ) = { t ∣ t ∈ R ∧ F ( t ) = ′ 真 ′ } σ_F(R) = \{ t|t \in R ∧ F(t)= '真' \} σF(R)={ttRF(t)=}

投影 例2.6 例2.7 - P88

数据库期末复习之例题汇总_第31张图片 数据库期末复习之例题汇总_第32张图片

π A ( R ) = { t [ A ] ∣ t ∈ R } π_A(R) = \{ t[A] | t \in R \} πA(R)={t[A]tR}

A:R中的属性列

连接 例2.8 - P94

数据库期末复习之例题汇总_第33张图片 数据库期末复习之例题汇总_第34张图片 数据库期末复习之例题汇总_第35张图片 数据库期末复习之例题汇总_第36张图片

看图,不解释

外连接 例2.8延申 - P100

数据库期末复习之例题汇总_第37张图片 数据库期末复习之例题汇总_第38张图片

悬浮元组:在自然连接中未被连接的元组

外连接:吧悬浮元组保存在结果关系中,在其他属性上填空值(NULL)

左外连接:只保留左边关系R中的悬浮元组

由外连接:只保留右边关系S中的悬浮元组

除运算 例2.9 - P104

数据库期末复习之例题汇总_第39张图片 数据库期末复习之例题汇总_第40张图片

R ÷ S = { t r [ X ] ∣ t r ∈ R ∧ π Y ( S ) ⊆ Y x } R \div S= \{ t_r[X]|t_r \in R∧π_Y(S) \subseteq Y_x \} R÷S={tr[X]trRπY(S)Yx}

Y x Y_x Yx:X在R中的象集, x = t r [ X ] x=t_r[X] x=tr[X]

a1的象集{(b1,c2), (b2,c3), (b2,c1)}

a2的象集{(b3,c7), (b2,c3)}

a3的象集{(b4,c6)}

a4的象集{(b6,c6)}

S在(B,C)上的投影{(b1,c2), (b2,c1), (b2,c3)}

只有a1的象集包含S的投影集,故结果为a1

综合举例 - P106

数据库期末复习之例题汇总_第41张图片 数据库期末复习之例题汇总_第42张图片 数据库期末复习之例题汇总_第43张图片

第3讲 关系数据库标准语言 SQL

定义模式 例3.1 例3.2 - P28

数据库期末复习之例题汇总_第44张图片

定义模式实际上是定义一个命名空间,在其中可以定义数据库对象(基本表、试图、索引等)

定义模式和表 例3.3 - P30

数据库期末复习之例题汇总_第45张图片

删除模式 例3.4 - P32

数据库期末复习之例题汇总_第46张图片

CASCADE(级联):删除模式的同时删除模式中所有数据库对象

RESTRICT(限制):如果模式中定义了下属的数据库对象,则拒绝执行删除;只有当没有下属对象时才能删除。

定义基本表 例3.5-3.7 - P35

数据库期末复习之例题汇总_第47张图片 数据库期末复习之例题汇总_第48张图片 数据库期末复习之例题汇总_第49张图片

修改基本表 例3.8-3.10 - P45

数据库期末复习之例题汇总_第50张图片 数据库期末复习之例题汇总_第51张图片

ADD:增加新列、新列级完整性约束条件和新表级完整性约束条件

DROP COLUMN:用于删除表中的列

DROP CONSTRAINT:用于删除指定的完整性约束条件

ALTER COLUMN:用于修改原有的列定义

删除基本表 例3.11-3.12 P48

数据库期末复习之例题汇总_第52张图片 数据库期末复习之例题汇总_第53张图片 数据库期末复习之例题汇总_第54张图片

RESTRICT:存在依赖该表的对象,则不能删除

CASCADE:删除表的同时,删除相关依赖对象

建立索引 例3.13 - P56

数据库期末复习之例题汇总_第55张图片

修改索引 例3.14 - P57

数据库期末复习之例题汇总_第56张图片

删除索引 例3.15 - P68

数据库期末复习之例题汇总_第57张图片

查询表中若干列 例3.16-3.17 - P66

数据库期末复习之例题汇总_第58张图片

查询全部 例3.18 - P67

数据库期末复习之例题汇总_第59张图片

查询计算值 例3.19-3.20 - P68

数据库期末复习之例题汇总_第60张图片 数据库期末复习之例题汇总_第61张图片 数据库期末复习之例题汇总_第62张图片

查询-消除重复 例3.21 - P72

数据库期末复习之例题汇总_第63张图片 数据库期末复习之例题汇总_第64张图片

查询-比较大小 例3.22-3.24 - P75

数据库期末复习之例题汇总_第65张图片

查询-范围 例3.25-3.26 - P76

数据库期末复习之例题汇总_第66张图片

查询-确定集合 例3.27-3.28 - P77

数据库期末复习之例题汇总_第67张图片

查询-字符匹配 例3.29-3.35 - P79

数据库期末复习之例题汇总_第68张图片 数据库期末复习之例题汇总_第69张图片 数据库期末复习之例题汇总_第70张图片 数据库期末复习之例题汇总_第71张图片

查询-涉及空值 例3.37 - P83

数据库期末复习之例题汇总_第72张图片

这里的is不能用**=**代替

查询-多重条件 例3.38 - P84

数据库期末复习之例题汇总_第73张图片 数据库期末复习之例题汇总_第74张图片

and优先级高于or

查询-排序 例3.39-3.40 - P88

数据库期末复习之例题汇总_第75张图片

升序:ASC

降序:DESC

缺省为升序

查询-聚集函数 例3.41-3.45 - P91

数据库期末复习之例题汇总_第76张图片 数据库期末复习之例题汇总_第77张图片

查询-分组 例3.46-3.48 - P95

数据库期末复习之例题汇总_第78张图片 数据库期末复习之例题汇总_第79张图片 数据库期末复习之例题汇总_第80张图片

GROUP BY 分组

HAVING短语与WHERE子句作用对象不同

  • WHERE作用于基本表或试图
  • HAVING短语作用组

GROUP BY的作用感觉PPT上写的有点模糊,可以看这里:https://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html

查询-等值连接 例3.49 - P102

数据库期末复习之例题汇总_第81张图片 数据库期末复习之例题汇总_第82张图片

查询-自然连接 例3.50 - P108

数据库期末复习之例题汇总_第83张图片

查询-非等值连接 例3.51 - P109

数据库期末复习之例题汇总_第84张图片

查询-自身连接 例3.52 - P111

数据库期末复习之例题汇总_第85张图片 数据库期末复习之例题汇总_第86张图片 数据库期末复习之例题汇总_第87张图片

查询-外连接 例3.53 - P116

数据库期末复习之例题汇总_第88张图片 数据库期末复习之例题汇总_第89张图片

外连接会将主题表中不满足连接条件的元组一并输出而普通连接不会

查询-多表连接 例3.54 - P119

数据库期末复习之例题汇总_第90张图片

查询-嵌套-IN 例3.55-3.56 - P126

数据库期末复习之例题汇总_第91张图片 数据库期末复习之例题汇总_第92张图片 数据库期末复习之例题汇总_第93张图片 数据库期末复习之例题汇总_第94张图片 数据库期末复习之例题汇总_第95张图片 数据库期末复习之例题汇总_第96张图片

查询-嵌套-比较 例3.57 - P133

数据库期末复习之例题汇总_第97张图片 数据库期末复习之例题汇总_第98张图片 数据库期末复习之例题汇总_第99张图片 数据库期末复习之例题汇总_第100张图片 数据库期末复习之例题汇总_第101张图片

查询-嵌套-ALL/ANY 例3.58-3.59 - P141

数据库期末复习之例题汇总_第102张图片 数据库期末复习之例题汇总_第103张图片 数据库期末复习之例题汇总_第104张图片 数据库期末复习之例题汇总_第105张图片 数据库期末复习之例题汇总_第106张图片
数据库期末复习之例题汇总_第107张图片 数据库期末复习之例题汇总_第108张图片 数据库期末复习之例题汇总_第109张图片

查询-嵌套-EXISTS(难点) 例3.60-3.63 - P150

数据库期末复习之例题汇总_第110张图片 数据库期末复习之例题汇总_第111张图片 数据库期末复习之例题汇总_第112张图片 数据库期末复习之例题汇总_第113张图片

3.62的思路可以先看3.63

下面两个式子要记住:

$(\forall ) P \equiv \neg ( \exist x (\neg P) ) $

$p \rightarrow q \equiv \neg p \vee q $

数据库期末复习之例题汇总_第114张图片 数据库期末复习之例题汇总_第115张图片 数据库期末复习之例题汇总_第116张图片

查询-集合操作 例3.64-3.68 - P161

数据库期末复习之例题汇总_第117张图片 数据库期末复习之例题汇总_第118张图片 数据库期末复习之例题汇总_第119张图片 数据库期末复习之例题汇总_第120张图片 数据库期末复习之例题汇总_第121张图片 数据库期末复习之例题汇总_第122张图片 数据库期末复习之例题汇总_第123张图片 数据库期末复习之例题汇总_第124张图片

并:UNION

交:INTERSECT

差:EXCEPT

查询-派生表 例3.57+3.60 - P170

数据库期末复习之例题汇总_第125张图片 数据库期末复习之例题汇总_第126张图片

在FROM里面加个子查询并将查询结果作为一个新表

插入元组 例3.69-3.71 - P184

数据库期末复习之例题汇总_第127张图片 数据库期末复习之例题汇总_第128张图片 数据库期末复习之例题汇总_第129张图片

插入子查询结果 例3.72 - P188

数据库期末复习之例题汇总_第130张图片

修改一个元组的值 例3.73 - P193

数据库期末复习之例题汇总_第131张图片

修改多个元组的值 例3.74 - P194

数据库期末复习之例题汇总_第132张图片

带子查询的修改 例3.75 - P195

数据库期末复习之例题汇总_第133张图片

删除一个元组的值 例3.76 - P200

数据库期末复习之例题汇总_第134张图片

删除多个元组的值 例3.77 - P201

数据库期末复习之例题汇总_第135张图片

带子查询的删除 例3.78 - P202

数据库期末复习之例题汇总_第136张图片

空值的产生 例3.79-3.80 - P205

数据库期末复习之例题汇总_第137张图片 数据库期末复习之例题汇总_第138张图片

空值的判断 例3.81 - P207

数据库期末复习之例题汇总_第139张图片

NOT NULL 和 UNIQUE 和 码属性 不能取空值

空值的运算 例3.82-3.83 - P211

数据库期末复习之例题汇总_第140张图片 数据库期末复习之例题汇总_第141张图片

空值算数运算为空值 空值比较运算为UNKNOWN

建立试图 例3.84-3.90 - P221

数据库期末复习之例题汇总_第142张图片 数据库期末复习之例题汇总_第143张图片 数据库期末复习之例题汇总_第144张图片 数据库期末复习之例题汇总_第145张图片 数据库期末复习之例题汇总_第146张图片 数据库期末复习之例题汇总_第147张图片 数据库期末复习之例题汇总_第148张图片

删除视图 例3.91 - P230

数据库期末复习之例题汇总_第149张图片

如果一个试图上还导出了其他试图,使用CASCADE级联删除

查询视图 例3.92-3.94 - P233

数据库期末复习之例题汇总_第150张图片

试图消解法

  • 进行有效性检查
  • 转换成等价的对基本表的查询
  • 执行修正后的查询
数据库期末复习之例题汇总_第151张图片 数据库期末复习之例题汇总_第152张图片 数据库期末复习之例题汇总_第153张图片 数据库期末复习之例题汇总_第154张图片

更新视图 例3.95-3.97 - P239

数据库期末复习之例题汇总_第155张图片 数据库期末复习之例题汇总_第156张图片 数据库期末复习之例题汇总_第157张图片
数据库期末复习之例题汇总_第158张图片 数据库期末复习之例题汇总_第159张图片 数据库期末复习之例题汇总_第160张图片

第4讲 数据库安全性

授权 例4.1-4.7 - P50

image-20210611163232717 数据库期末复习之例题汇总_第161张图片 数据库期末复习之例题汇总_第162张图片 数据库期末复习之例题汇总_第163张图片 数据库期末复习之例题汇总_第164张图片 数据库期末复习之例题汇总_第165张图片

数据库期末复习之例题汇总_第166张图片数据库期末复习之例题汇总_第167张图片

WITH GRANT OPTION 可传播权限,如果没有这句话默认不可传播

回收权限 例4.8 - P58

数据库期末复习之例题汇总_第168张图片 数据库期末复习之例题汇总_第169张图片 数据库期末复习之例题汇总_第170张图片 数据库期末复习之例题汇总_第171张图片

创建用户 - P63

数据库期末复习之例题汇总_第172张图片 数据库期末复习之例题汇总_第173张图片

数据库角色 例4.11-4.13 - P72

数据库期末复习之例题汇总_第174张图片 数据库期末复习之例题汇总_第175张图片 数据库期末复习之例题汇总_第176张图片 数据库期末复习之例题汇总_第177张图片

数据库角色:被命名的一组与数据库操作相关的权限

  • 角色是权限的集合
  • 可以为一组具有相同权限的用户创建一个角色
  • 简化授权过程

视图机制 例4.14 - P86

数据库期末复习之例题汇总_第178张图片 数据库期末复习之例题汇总_第179张图片

审计 例4.15-4.16 - P95

数据库期末复习之例题汇总_第180张图片

第5讲 数据库完整性

实体完整性定义 例5.1-5.2 - P12

数据库期末复习之例题汇总_第181张图片 数据库期末复习之例题汇总_第182张图片 数据库期末复习之例题汇总_第183张图片

两个字段作为联合主键,这两个变量可以有重复,但是不能两个同时重复。

比如说我们拿id和name作为联合主键,name可以重复,id也可以重复,但是不能有两个元组同时拥有一样的id和name。

参照完整性 例5.3 - P23

数据库期末复习之例题汇总_第184张图片

破坏参照完整性

  • SC表中增加一个元组,该元组的Sno值在Student表中找不到一个元组的Sno值与之对应
  • 修改SC表中一个元组,修改后找不到元组与之对应
  • 从Student表中删除一个元组,删除后SC表中元组Sno值找不到对应
  • 修改Student表中一个元组,修改后SC表中元组Sno值找不到对应

参照完整性违约处理 例5.4 - P30

数据库期末复习之例题汇总_第185张图片 数据库期末复习之例题汇总_第186张图片

处理方式

  • NO ACTION : 拒绝执行
  • CASCADE : 级联操作
  • SET_NULL : 设置为空值

属性上约束条件的定义 例5.5-5.8 - P37

数据库期末复习之例题汇总_第187张图片 数据库期末复习之例题汇总_第188张图片 数据库期末复习之例题汇总_第189张图片 数据库期末复习之例题汇总_第190张图片

定义属性上的约束条件

  • NOT NULL : 列值非空
  • UNIQUE : 列值唯一
  • CHECK : 检查列值是否满足一个条件表达式

元组上约束条件的定义 例5.9 - P44

数据库期末复习之例题汇总_第191张图片

元组级的约束可设置不同属性之间的取值的相互约束条件

不满足条件拒绝执行

完整性约束命名子句 例5.10-5.13 - P48

数据库期末复习之例题汇总_第192张图片 数据库期末复习之例题汇总_第193张图片 数据库期末复习之例题汇总_第194张图片 数据库期末复习之例题汇总_第195张图片

断言 例5.18-5.20 - P54

数据库期末复习之例题汇总_第196张图片 数据库期末复习之例题汇总_第197张图片 数据库期末复习之例题汇总_第198张图片

删除断言:DROP ASSERTION <断言名>;

定义触发器 例5.21-5.23 - P67

数据库期末复习之例题汇总_第199张图片 数据库期末复习之例题汇总_第200张图片 数据库期末复习之例题汇总_第201张图片

语法样式

  • 数据库期末复习之例题汇总_第202张图片

触发事件

  • INSERT, DELETE, UPDATE
  • AFTER / BEFORE 表示触发时间(在事件发生前后)

触发器类型

  • FOR EACH ROW : 行级触发器
  • FOR EACH STATEMENT : 语句级触发器

触发条件

  • 缺省WHEN,则触发器激活后立即执行

激活触发器

  • 事件触发
  • 多个触发器
    • 执行该表上BEFORE触发器
    • 激活触发器的SQL语句
    • 执行该表上的AFTER触发器

删除触发器

  • DROP TRIGGER <触发器名> ON <表名>;

第6讲 关系数据理论

问题的提出 例6.1 - P12

数据库期末复习之例题汇总_第203张图片 数据库期末复习之例题汇总_第204张图片 数据库期末复习之例题汇总_第205张图片

Student中存在的问题

U:属性,F:属性上的一组数据依赖

  • 数据冗余:系主任名字重复出现
  • 更新异常:更换系主任要改好多次
  • 插入异常:一个系刚成立无学生,则无法存入系主任信息
  • 删除异常:删除所有学生的信息时,会把系和系主任一起删了

解决:

数据库期末复习之例题汇总_第206张图片

函数依赖 - P25

数据库期末复习之例题汇总_第207张图片 数据库期末复习之例题汇总_第208张图片

这里有错误,应该是圈出两个S1

数据库期末复习之例题汇总_第209张图片

函数依赖:X→Y(X确定Y / Y依赖于X):不可能存在一个元组,X上值相等而Y上值不等

完全函数依赖与部分函数依赖 - P32

数据库期末复习之例题汇总_第210张图片

F:完全函数依赖

  • X里面任何一个真子集都不能确定Y

P:部分函数依赖

  • X中存在一个真子集能确定Y

平凡的函数依赖

  • Y是X的一个子集

非平凡的函数依赖

  • Y不是X的一个子集

传递函数依赖 - P33

数据库期末复习之例题汇总_第211张图片

码 例6.2-6.3 - P37

数据库期末复习之例题汇总_第212张图片

候选码(Candidate Key):K为R中的属性或属性组合且U完全依赖于K,则K为R的一个候选码

超码(Superkey):U部分依赖于K,则K为超码

主码(Primary key):若关系模式R有多个候选码,则选一个为主码

主属性(Prime attribute):包含在任何一个候选码中的属性

非主属性(Nonprime attribute)或非码属性(Non-key attribute):不包含在任何码中的属性

全码(All-key):整个属性组是码

外码 - P38

数据库期末复习之例题汇总_第213张图片

2NF 例6.4 - P43

数据库期末复习之例题汇总_第214张图片 数据库期末复习之例题汇总_第215张图片 数据库期末复习之例题汇总_第216张图片 数据库期末复习之例题汇总_第217张图片 数据库期末复习之例题汇总_第218张图片

2NF要求每个主属性都必须完全依赖于任何一个候选码

3NF - P49

数据库期末复习之例题汇总_第219张图片

3NF要求无传递依赖

BCNF 例6.5-6.8 - P53

数据库期末复习之例题汇总_第220张图片 数据库期末复习之例题汇总_第221张图片 数据库期末复习之例题汇总_第222张图片 数据库期末复习之例题汇总_第223张图片

BCNF:每一个决定属性集都包含候选码

多值依赖 例6.9 - P60

数据库期末复习之例题汇总_第224张图片 数据库期末复习之例题汇总_第225张图片 数据库期末复习之例题汇总_第226张图片 数据库期末复习之例题汇总_第227张图片

缺点:

  • 数据冗余度大
  • 增加操作复杂性
  • 删除操作复杂
  • 修改操作复杂

原因:存在多值依赖

数据库期末复习之例题汇总_第228张图片

不得不说,数据库在定义说明上有一手的,属实难理解。

个人理解:

  • 就拿上面这个例子来说,我们可以取很多个(C,B),C相同,B不同,此时T都有一组值与之对应。

  • 说白了就是对于(X,Y,Z)一个X对应多个Y,然后一组(X,Z)对应多个Y。

  • 如果实在不理解就采用最简单粗暴的方式,X→→Y中一个X对应多个Y

数据库期末复习之例题汇总_第229张图片 数据库期末复习之例题汇总_第230张图片 数据库期末复习之例题汇总_第231张图片

补充:多值依赖的性质 P74

数据库期末复习之例题汇总_第232张图片

多值依赖于函数依赖区别:

XY为W的子集,W为U的子集

  • X→→Y 在U上成立,则W上一定成立
  • X→→Y 在W上成立,在U上未必成立
  • 这个实际上就是大范围推小范围

Y‘为Y的真子集

  • X→Y 则 X→Y’

  • X→→Y 不能断言 X→→Y’

4NF - P82

数据库期末复习之例题汇总_第233张图片

第7讲 数据库设计

E-R模型 - P60

数据库期末复习之例题汇总_第234张图片 数据库期末复习之例题汇总_第235张图片 数据库期末复习之例题汇总_第236张图片 数据库期末复习之例题汇总_第237张图片 数据库期末复习之例题汇总_第238张图片 数据库期末复习之例题汇总_第239张图片 数据库期末复习之例题汇总_第240张图片 数据库期末复习之例题汇总_第241张图片 数据库期末复习之例题汇总_第242张图片

数据库期末复习之例题汇总_第243张图片数据库期末复习之例题汇总_第244张图片

数据库期末复习之例题汇总_第245张图片 数据库期末复习之例题汇总_第246张图片

为啥这里的一个联系名用的是仓库

概念结构涉及 例1-3 - P73

数据库期末复习之例题汇总_第247张图片 数据库期末复习之例题汇总_第248张图片 数据库期末复习之例题汇总_第249张图片

概念结构设计 例7.1 - P76

数据库期末复习之例题汇总_第250张图片 数据库期末复习之例题汇总_第251张图片

数据库期末复习之例题汇总_第252张图片数据库期末复习之例题汇总_第253张图片

数据库期末复习之例题汇总_第254张图片

ER图-合并 - P87

数据库期末复习之例题汇总_第255张图片

ER图-消除冗余 - P89

数据库期末复习之例题汇总_第256张图片

ER图-视图集成

数据库期末复习之例题汇总_第257张图片 数据库期末复习之例题汇总_第258张图片 数据库期末复习之例题汇总_第259张图片

ER图转换关系模型 - P107

数据库期末复习之例题汇总_第260张图片 数据库期末复习之例题汇总_第261张图片

聚簇存取方法 - P141

数据库期末复习之例题汇总_第262张图片

数据存放位置 - P150

数据库期末复习之例题汇总_第263张图片

第8讲 数据库编程

数据库连接+游标 例8.1 - P26

数据库期末复习之例题汇总_第264张图片

数据库期末复习之例题汇总_第265张图片数据库期末复习之例题汇总_第266张图片

数据库期末复习之例题汇总_第267张图片 数据库期末复习之例题汇总_第268张图片

建立数据库连接

  • EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
  • target为要连接的数据库服务器
  • connect-name是可选的连接名

关闭数据库连接

  • EXEC SQL DISCONNECT [connection];

不用游标 例8.2 - P33

数据库期末复习之例题汇总_第269张图片

用into子句指定存放查询结果的主变量

查询结果为单记录的SELECT语句 例8.3 - P35

数据库期末复习之例题汇总_第270张图片

非CURRENT形式的增删改语句 例8.4-8.5 - P36

数据库期末复习之例题汇总_第271张图片 数据库期末复习之例题汇总_第272张图片

对于多条记录等的必须使用游标

  • 说明游标

    • EXEC SQL DECLARE <游标名> CURSOR FOR