当前位置:主页 > 课后答案 > 数据库系统习题答案
数据库系统基础教程(第3版)

《数据库系统基础教程(第3版)》课后习题答案

  • 更新:2021-03-29
  • 大小:1.54 MB
  • 类别:数据库系统
  • 作者:Jeffrey.D.Ullman、岳丽华
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《数据库系统基础教程(原书第3版)》是2019年9月机械工业出版社出版的图书,作者是(美)JeffreyD.Ullman。

本书分两大部分,首先是流行的关系数据库和关系对象数据库内容,介绍了关系数据模型、E/R模型、UML模型以及对象模型等高级数据模型。然后介绍了有关半结构化数据组织管理中比较流行的XML等内容。

目录

  • 出版者的话
  • 译者序
  • 前言
  • 第1章 数据库系统世界 1
  • 1.1 数据库系统的发展 1
  • 1.1.1 早期的数据库管理系统 1
  • 1.1.2 关系数据库系统 2
  • 1.1.3 越来越小的系统 2
  • 1.1.4 越来越大的系统 2
  • 1.1.5 信息集成 3
  • 1.2 数据库管理系统概述 3
  • 1.2.1 数据定义语言命令 3
  • 1.2.2 查询处理概述 4
  • 1.2.3 存储器和缓冲区管理器 5
  • 1.2.4 事务处理 5
  • 1.2.5 查询处理器 6
  • 1.3 本书概述 6
  • 1.4 参考文献 7
  • 第一部分 关系数据库模型
  • 第2章 关系数据模型 9
  • 2.1 数据模型概述 9
  • 2.1.1 什么是数据模型 9
  • 2.1.2 一些重要的数据模型 9
  • 2.1.3 关系模型简介 10
  • 2.1.4 半结构化模型简介 10
  • 2.1.5 其他数据模型 11
  • 2.1.6 几种建模方法的比较 11
  • 2.2 关系模型基础 12
  • 2.2.1 属性 12
  • 2.2.2 模式 12
  • 2.2.3 元组 12
  • 2.2.4 域 12
  • 2.2.5 关系的等价描述 13
  • 2.2.6 关系实例 13
  • 2.2.7 关系上的键 13
  • 2.2.8 数据库模式示例 14
  • 2.2.9 习题 15
  • 2.3 在SQL中定义关系模式 16
  • 2.3.1 SQL中的关系 16
  • 2.3.2 数据类型 16
  • 2.3.3 简单的表定义 17
  • 2.3.4 修改关系模式 18
  • 2.3.5 默认值 18
  • 2.3.6 键的声明 19
  • 2.3.7 习题 20
  • 2.4 代数查询语言 21
  • 2.4.1 为什么需要一种专门的查询语言 21
  • 2.4.2 什么是代数 21
  • 2.4.3 关系代数概述 21
  • 2.4.4 关系上的集合操作 21
  • 2.4.5 投影 23
  • 2.4.6 选择 23
  • 2.4.7 笛卡儿积 24
  • 2.4.8 自然连接 24
  • 2.4.9 q连接 25
  • 2.4.10 组合操作构成查询 26
  • 2.4.11 命名和重命名 27
  • 2.4.12 操作之间的联系 27
  • 2.4.13 代数表达式的线性符号 28
  • 2.4.14 习题 29
  • 2.5 关系上的约束 32
  • 2.5.1 作为约束语言的关系代数 32
  • 2.5.2 引用完整性约束 33
  • 2.5.3 键约束 33
  • 2.5.4 其他约束举例 34
  • 2.5.5 习题 35
  • 2.6 小结 35
  • 2.7 参考文献 36
  • 第3章 关系数据库设计理论 37
  • 3.1 函数依赖 37
  • 3.1.1 函数依赖的定义 37
  • 3.1.2 关系的键 38
  • 3.1.3 超键 39
  • 3.1.4 习题 40
  • 3.2 函数依赖的规则 40
  • 3.2.1 函数依赖的推导 40
  • 3.2.2 分解/结合规则 40
  • 3.2.3 平凡函数依赖 41
  • 3.2.4 计算属性的闭包 42
  • 3.2.5 闭包算法为何有效 43
  • 3.2.6 传递规则 44
  • 3.2.7 函数依赖的闭包集合 45
  • 3.2.8 投影函数依赖 45
  • 3.2.9 习题 47
  • 3.3 关系数据库模式设计 48
  • 3.3.1 异常 48
  • 3.3.2 分解关系 49
  • 3.3.3 Boyce-Codd范式 50
  • 3.3.4 分解为BCNF 50
  • 3.3.5 习题 52
  • 3.4 分解的优劣 53
  • 3.4.1 从分解中恢复信息 53
  • 3.4.2 无损连接的chase检验 55
  • 3.4.3 为什么chase检验有效 56
  • 3.4.4 依赖的保持 57
  • 3.4.5 习题 58
  • 3.5 第三范式 58
  • 3.5.1 第三范式的定义 59
  • 3.5.2 3NF模式综合算法 59
  • 3.5.3 为什么3NF综合算法有效 60
  • 3.5.4 习题 60
  • 3.6 多值依赖 61
  • 3.6.1 属性独立及随之产生的冗余 61
  • 3.6.2 多值依赖的定义 61
  • 3.6.3 多值依赖的推导 62
  • 3.6.4 第四范式 64
  • 3.6.5 分解为第四范式 64
  • 3.6.6 范式间的联系 65
  • 3.6.7 习题 65
  • 3.7 MVD的发现算法 66
  • 3.7.1 闭包和chase 66
  • 3.7.2 将chase扩展到MVD 67
  • 3.7.3 chase为何对MVD有效 69
  • 3.7.4 投影MVD 69
  • 3.7.5 习题 70
  • 3.8 小结 70
  • 3.9 参考文献 71
  • 第4章 高级数据库模型 73
  • 4.1 E/R模型 73
  • 4.1.1 实体集 73
  • 4.1.2 属性 74
  • 4.1.3 联系 74
  • 4.1.4 实体-联系图 74
  • 4.1.5 E/R图实例 75
  • 4.1.6 二元E/R联系的多样性 75
  • 4.1.7 多路联系 76
  • 4.1.8 联系中的角色 77
  • 4.1.9 联系的属性 78
  • 4.1.10 多路联系到二元联系的转换 79
  • 4.1.11 E/R模型中的子类 80
  • 4.1.12 习题 81
  • 4.2 设计原则 82
  • 4.2.1 忠实性 82
  • 4.2.2 避免冗余 83
  • 4.2.3 简单性  83
  • 4.2.4 选择正确的联系 83
  • 4.2.5 选择正确的元素种类 84
  • 4.2.6 习题 86
  • 4.3 E/R模型中的约束 87
  • 4.3.1 E/R模型中的键 87
  • 4.3.2 E/R模型中键的表示 87
  • 4.3.3 引用完整性 88
  • 4.3.4 度约束 89
  • 4.3.5 习题 89
  • 4.4 弱实体集 89
  • 4.4.1 弱实体集的来源 89
  • 4.4.2 弱实体集的要求 90
  • 4.4.3 弱实体集的符号 91
  • 4.4.4 习题 91
  • 4.5 从E/R图到关系设计 92
  • 4.5.1 实体集到关系的转化 92
  • 4.5.2 E/R联系到关系的转化 92
  • 4.5.3 关系组合 94
  • 4.5.4 处理弱实体集 95
  • 4.5.5 习题 96
  • 4.6 子类结构到关系的转化 97
  • 4.6.1 E/R方式转化 97
  • 4.6.2 面向对象方法 98
  • 4.6.3 使用空值组合关系 99
  • 4.6.4 各种方法的比较 99
  • 4.6.5 习题 100
  • 4.7 统一建模语言 101
  • 4.7.1 UML类 101
  • 4.7.2 UML类的键 101
  • 4.7.3 关联 101
  • 4.7.4 自关联 102
  • 4.7.5 关联类 103
  • 4.7.6 UML中的子类 103
  • 4.7.7 聚集与组合 104
  • 4.7.8 习题 105
  • 4.8 UML图到关系的转化 105
  • 4.8.1 UML到关系的基础知识 105
  • 4.8.2 从UML子类到关系 106
  • 4.8.3 从聚集与组合到关系 106
  • 4.8.4 UML与弱实体集的类比 107
  • 4.8.5 习题 108
  • 4.9 对象定义语言 108
  • 4.9.1 类声明 108
  • 4.9.2 ODL中的属性 108
  • 4.9.3 ODL中的联系 109
  • 4.9.4 反向联系 109
  • 4.9.5 联系的多重性 110
  • 4.9.6 ODL中的类型 110
  • 4.9.7 ODL中的子类 112
  • 4.9.8 在ODL中声明键 113
  • 4.9.9 习题 113
  • 4.10 从ODL设计到关系设计 114
  • 4.10.1 从ODL类到关系 114
  • 4.10.2 类中的复杂属性 114
  • 4.10.3 值集合类型属性的表示 115
  • 4.10.4 其他类型构建器的表示 116
  • 4.10.5 ODL中联系的表示 117
  • 4.10.6 习题 117
  • 4.11 小结 118
  • 4.12 参考文献 119
  • 第二部分 关系数据库程序设计
  • 第5章 代数和逻辑查询语言 121
  • 5.1 包上的关系操作 121
  • 5.1.1 为什么采用包 121
  • 5.1.2 包的并、交、差 122
  • 5.1.3 包上的投影操作 123
  • 5.1.4 包上的选择操作 123
  • 5.1.5 包的笛卡儿积 124
  • 5.1.6 包的连接 124
  • 5.1.7 习题 125
  • 5.2 关系代数的扩展操作符 125
  • 5.2.1 消除重复 126
  • 5.2.2 聚集操作符 126
  • 5.2.3 分组 127
  • 5.2.4 分组操作符 127
  • 5.2.5 扩展的投影操作符 128
  • 5.2.6 排序操作符 129
  • 5.2.7 外连接 129
  • 5.2.8 习题 130
  • 5.3 关系逻辑 131
  • 5.3.1 谓词和原子 131
  • 5.3.2 算术原子 131
  • 5.3.3 Datalog规则和查询 132
  • 5.3.4 Datalog规则的意义 133
  • 5.3.5 扩展谓词和内涵谓词 134
  • 5.3.6 Datalog规则应用于包 135
  • 5.3.7 习题 136
  • 5.4 关系代数与Datalog 136
  • 5.4.1 布尔操作 136
  • 5.4.2 投影 137
  • 5.4.3 选择 137
  • 5.4.4 积 138
  • 5.4.5 连接 139
  • 5.4.6 用Datalog模拟多重操作 139
  • 5.4.7 Datalog与关系代数的比较 140
  • 5.4.8 习题 141
  • 5.5 小结 141
  • 5.6 参考文献 142
  • 第6章 数据库语言SQL 143
  • 6.1 SQL中的简单查询 143
  • 6.1.1 SQL中的投影 145
  • 6.1.2 SQL中的选择 146
  • 6.1.3 字符串比较 147
  • 6.1.4 SQL中的模式匹配 147
  • 6.1.5 日期和时间 148
  • 6.1.6 空值和涉及空值的比较 149
  • 6.1.7 布尔值UNKNOWN 149
  • 6.1.8 输出排序 151
  • 6.1.9 习题 151
  • 6.2 多关系查询 152
  • 6.2.1 SQL中的积和连接 153
  • 6.2.2 消除属性歧义 153
  • 6.2.3 元组变量 154
  • 6.2.4 多关系查询的解释 155
  • 6.2.5 查询的并、交、差 156
  • 6.2.6 习题 157
  • 6.3 子查询 158
  • 6.3.1 产生标量值的子查询 159
  • 6.3.2 关系的条件表达式 160
  • 6.3.3 元组的条件表达式 160
  • 6.3.4 关联子查询 161
  • 6.3.5 FROM子句中的子查询 162
  • 6.3.6 SQL的连接表达式 163
  • 6.3.7 自然连接 164
  • 6.3.8 外连接 164
  • 6.3.9 习题 165
  • 6.4 全关系操作 167
  • 6.4.1 消除重复 167
  • 6.4.2 并、交、差中的重复 168
  • 6.4.3 SQL中的分组和聚集 168
  • 6.4.4 聚集操作符 168
  • 6.4.5 分组 169
  • 6.4.6 分组、聚集和空值 170
  • 6.4.7 HAVING子句 171
  • 6.4.8 习题 171
  • 6.5 数据库更新 172
  • 6.5.1 插入 172
  • 6.5.2 删除 174
  • 6.5.3 修改 174
  • 6.5.4 习题 175
  • 6.6 SQL中的事务 175
  • 6.6.1 可串行化 175
  • 6.6.2 原子性 177
  • 6.6.3 事务 177
  • 6.6.4 只读事务 178
  • 6.6.5 读脏数据 179
  • 6.6.6 其他隔离层次 180
  • 6.6.7 习题 181
  • 6.7 小结 182
  • 6.8 参考文献 183
  • 第7章 约束与触发器 184
  • 7.1 键和外键 184
  • 7.1.1 外键约束声明 184
  • 7.1.2 维护引用完整性 185
  • 7.1.3 延迟约束检查 186
  • 7.1.4 习题 188
  • 7.2 属性和元组上的约束 188
  • 7.2.1 非空值约束 189
  • 7.2.2 基于属性的CHECK约束 189
  • 7.2.3 基于元组的CHECK约束 190
  • 7.2.4 基于元组和基于属性的约束的比较 191
  • 7.2.5 习题 191
  • 7.3 修改约束 192
  • 7.3.1 给约束命名 192
  • 7.3.2 修改表上的约束 193
  • 7.3.3 习题 193
  • 7.4 断言 194
  • 7.4.1 创建断言 194
  • 7.4.2 使用断言 194
  • 7.4.3 习题 195
  • 7.5 触发器 196
  • 7.5.1 SQL中的触发器 196
  • 7.5.2 触发器设计的选项 197
  • 7.5.3 习题 199
  • 7.6 小结 200
  • 7.7 参考文献 201
  • 第8章 视图与索引 202
  • 8.1 虚拟视图 202
  • 8.1.1 视图定义 202
  • 8.1.2 视图查询 203
  • 8.1.3 属性重命名 203
  • 8.1.4 习题 204
  • 8.2 视图更新 204
  • 8.2.1 视图删除 204
  • 8.2.2 可更新视图 204
  • 8.2.3 视图中的替换触发器 206
  • 8.2.4 习题 207
  • 8.3 SQL中的索引 207
  • 8.3.1 建立索引的动机 208
  • 8.3.2 索引的声明 208
  • 8.3.3 习题 209
  • 8.4 索引的选择 209
  • 8.4.1 简单代价模型 209
  • 8.4.2 一些有用的索引 209
  • 8.4.3 计算最佳索引 211
  • 8.4.4 索引的自动选择 213
  • 8.4.5 习题 213
  • 8.5 物化视图 214
  • 8.5.1 物化视图的维护 214
  • 8.5.2 物化视图的定期维护 215
  • 8.5.3 利用物化视图重写查询 216
  • 8.5.4 物化视图的自动创建 217
  • 8.5.5 习题 218
  • 8.6 小结 218
  • 8.7 参考文献 219
  • 第9章 服务器环境下的SQL 220
  • 9.1 三层体系结构 220
  • 9.1.1 Web服务器层 220
  • 9.1.2 应用层 221
  • 9.1.3 数据库层 222
  • 9.2 SQL环境 222
  • 9.2.1 环境 222
  • 9.2.2 模式 223
  • 9.2.3  223
  • 9.2.4 SQL环境中的客户和服务器 224
  • 9.2.5 连接 224
  • 9.2.6 会话 225
  • 9.2.7 模块 225
  • 9.3 SQL/宿主语言接口 225
  • 9.3.1 阻抗不匹配问题 226
  • 9.3.2 SQL与宿主语言连接 227
  • 9.3.3 DECLARE节 227
  • 9.3.4 使用共享变量 227
  • 9.3.5 单元组选择语句 228
  • 9.3.6 游标 229
  • 9.3.7 游标更新 231
  • 9.3.8 避免并发修改 231
  • 9.3.9 动态SQL 232
  • 9.3.10 习题 233
  • 9.4 存储过程 234
  • 9.4.1 创建PSM函数和过程 234
  • 9.4.2 PSM中的简单语句格式 234
  • 9.4.3 分支语句 235
  • 9.4.4 PSM中的查询 236
  • 9.4.5 PSM中的循环 237
  • 9.4.6 for循环 238
  • 9.4.7 PSM中的异常处理 239
  • 9.4.8 使用PSM函数和过程 241
  • 9.4.9 习题 241
  • 9.5 使用调用层接口 242
  • 9.5.1 SQL/CLI简介 242
  • 9.5.2 进程语句 244
  • 9.5.3 从查询结果中取数据 244
  • 9.5.4 向查询传递参数 246
  • 9.5.5 习题 247
  • 9.6 JDBC 247
  • 9.6.1 JDBC简介 247
  • 9.6.2 JDBC中的创建语句 248
  • 9.6.3 JDBC中的游标操作 249
  • 9.6.4 参数传递 249
  • 9.6.5 习题 250
  • 9.7 PHP 250
  • 9.7.1 PHP基础 250
  • 9.7.2 数组 251
  • 9.7.3 PEAR DB库 251
  • 9.7.4 使用DB创建数据库连接 251
  • 9.7.5 执行SQL语句 251
  • 9.7.6 PHP中的游标操作 252
  • 9.7.7 PHP中的动态SQL 252
  • 9.7.8 习题 253
  • 9.8 小结 253
  • 9.9 参考文献 254
  • 第10章 关系数据库的新课题 255
  • 10.1 SQL中的安全机制和用户认证 255
  • 10.1.1 权限 255
  • 10.1.2 创建权限 256
  • 10.1.3 检查权限的过程 257
  • 10.1.4 授权 257
  • 10.1.5 授权图 258
  • 10.1.6 收权 259
  • 10.1.7 习题 262
  • 10.2 SQL中的递归 262
  • 10.2.1 在SQL中定义递归关系 262
  • 10.2.2 有问题的递归SQL表达式 264
  • 10.2.3 习题 266
  • 10.3 对象关系模型 267
  • 10.3.1 从关系到对象关系 267
  • 10.3.2 嵌套关系 267
  • 10.3.3 引用 268
  • 10.3.4 面向对象与对象关系的比较 269
  • 10.3.5 习题 270
  • 10.4 SQL中的用户定义类型 270
  • 10.4.1 在SQL中定义类型 270
  • 10.4.2 用户定义类型中的方法声明 271
  • 10.4.3 方法定义 272
  • 10.4.4 用UDT声明关系 272
  • 10.4.5 引用 272
  • 10.4.6 为表生成对象标识符 273
  • 10.4.7 习题 274
  • 10.5 对象关系数据上的操作 274
  • 10.5.1 引用的跟随 274
  • 10.5.2 访问UDT类型的元组分量 275
  • 10.5.3 生成器和转换器函数 276
  • 10.5.4 UDT上联系的排序 277
  • 10.5.5 习题 278
  • 10.6 联机分析处理 279
  • 10.6.1 OLAP和数据仓库 279
  • 10.6.2 OLAP应用 279
  • 10.6.3 OLAP数据的多维视图 280
  • 10.6.4 星型模式 280
  • 10.6.5 切片和切块 281
  • 10.6.6 习题 283
  • 10.7 数据立方体 283
  • 10.7.1 立方体算子 284
  • 10.7.2 SQL中的立方体算子 285
  • 10.7.3 习题 286
  • 10.8 小结 286
  • 10.9 参考文献 287
  • 第三部分 半结构化数据的建模和程序设计
  • 第11章 半结构化数据模型 289
  • 11.1 半结构化数据 289
  • 11.1.1 为何需要半结构化数据模型 289
  • 11.1.2 半结构化数据表示 290
  • 11.1.3 信息集成与半结构化数据 291
  • 11.1.4 习题 292
  • 11.2 XML 292
  • 11.2.1 语义标签 292
  • 11.2.2 有模式和无模式的XML 292
  • 11.2.3 格式规范的XML 292
  • 11.2.4 属性 294
  • 11.2.5 连接元素的属性 294
  • 11.2.6 命名空间 295
  • 11.2.7 XML和数据库 295
  • 11.2.8 习题 296
  • 11.3 文档类型定义 296
  • 11.3.1 DTD的格式 296
  • 11.3.2 使用DTD 299
  • 11.3.3 属性列表 299
  • 11.3.4 标识符和引用 299
  • 11.3.5 习题 300
  • 11.4 XML模式 301
  • 11.4.1 XML模式的格式 301
  • 11.4.2 元素 301
  • 11.4.3 复杂类型 302
  • 11.4.4 属性 303
  • 11.4.5 受限的简单类型 304
  • 11.4.6 XML模式中的键 305
  • 11.4.7 XML模式中的外键 306
  • 11.4.8 习题 308
  • 11.5 小结 308
  • 11.6 参考文献 309
  • 第12章 XML程序设计语言 310
  • 12.1 XPath 310
  • 12.1.1 XPath数据模型 310
  • 12.1.2 文档节点 311
  • 12.1.3 路径表达式 311
  • 12.1.4 相对路径表达式 312
  • 12.1.5 路径表达式中的属性 312
  • 12.1.6 轴 312
  • 12.1.7 表达式的上下文 313
  • 12.1.8 通配符 313
  • 12.1.9 路径表达式中的条件 314
  • 12.1.10 习题 315
  • 12.2 XQuery 316
  • 12.2.1 XQuery基础 317
  • 12.2.2 FLWR表达式 318
  • 12.2.3 通过变量的值置换变量 320
  • 12.2.4 XQuery中的连接 321
  • 12.2.5 XQuery比较操作符 322
  • 12.2.6 消除重复 323
  • 12.2.7 XQuery中的量词 323
  • 12.2.8 聚集 324
  • 12.2.9 XQuery表达式中的分支 324
  • 12.2.10 查询结果排序 324
  • 12.2.11 习题 325
  • 12.3 扩展样式表语言 326
  • 12.3.1 XSLT基础 326
  • 12.3.2 模板 326
  • 12.3.3 从XML数据中获取值 327
  • 12.3.4 模板的递归应用 328
  • 12.3.5 XSLT中的迭代 329
  • 12.3.6 XSLT中的条件 330
  • 12.3.7 习题 331
  • 12.4 小结 332
  • 12.5 参考文献 332

资源下载

资源下载地址1:https://pan.baidu.com/s/1GvYT4t8iNcrKTvsscfk6Cg

相关资源

网友留言