当前位置:首页 > 工业技术
数据库系统基础教程
数据库系统基础教程

数据库系统基础教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)Jeffrey D.Ullman,(美)Jennifer Widom著;岳丽华,龚育昌等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111100956
  • 页数:321 页
图书介绍:本书重点介绍了数据库系统基本原理和使用方法,是一本全面的数据库方面经典教材。
《数据库系统基础教程》目录

第1章 数据库系统世界 1

1.1 数据库系统的发展 1

1.1.1 早期的数据库管理系统 1

1.1.2 关系数据库系统 2

1.1.3 越来越小的系统 3

1.1.4 越来越大的系统 4

1.1.5 客户-服务器和多层体系结构 4

1.1.6 多媒体数据 5

1.1.7 信息集成 5

1.2 数据库管理系统概述 6

1.2.1 数据定义语言命令 6

1.2.2 查询处理概述 6

1.2.3 存储器和缓冲区管理器 8

1.2.4 事务处理 8

1.2.5 查询处理器 9

1.3 数据库系统研究概述 9

1.3.1 数据库设计 10

1.3.2 数据库程序设计 10

1.4 小结 11

1.5 参考文献 11

第2章 实体-联系数据模型 13

2.1 E/R模型的要素 13

2.1.1 实体集 13

2.1.2 属性 14

2.1.3 联系 14

2.1.4 实体-联系图 14

2.1.5 E/R图实例 15

2.1.6 二元E/R联系的多样性 15

2.1.7 多路联系 16

2.1.8 联系中的角色 16

2.1.9 联系的属性 17

2.1.10 多路联系到二元联系的转换 18

2.1.11 E/R模型中的子类 19

2.1.12 习题 20

2.2 设计原则 22

2.2.1 忠实性 22

2.2.2 避免冗余 22

2.2.3 简单性考虑 23

2.2.4 选择正确的联系 23

2.2.5 选择正确的元素种类 24

2.2.6 习题 25

2.3 约束的建模 26

2.3.1 约束的分类 27

2.3.2 E/R模型中的键 27

2.3.3 E/R模型中键的表示 28

2.3.4 单值约束 29

2.3.5 引用完整性 29

2.3.6 E/R图中的引用完整性 29

2.3.7 其他类型的约束 30

2.3.8 习题 30

2.4 弱实体集 31

2.4.1 弱实体集的来源 31

2.4.2 弱实体集的要求 32

2.4.3 弱实体集的符号 33

2.4.4 习题 33

2.5 小结 33

2.6 参考文献 34

第3章 关系数据模型 35

3.1 关系模型的基础 35

3.1.1 属性 35

3.1.2 模式 35

3.1.3 元组 36

3.1.4 域 36

3.1.5 关系的等价描述 36

3.1.6 关系实例 36

3.1.7 习题 37

3.2 从E/R图到关系设计 37

3.2.1 实体集到关系的转化 38

3.2.2 E/R联系到关系的转化 39

3.2.3 组合关系 40

3.2.4 处理弱实体集 41

3.2.5 习题 43

3.3 子类结构到关系的转化 44

3.3.1 E/R方式转化 44

3.3.2 面向对象的方法 45

3.3.3 使用空值组合关系 46

3.3.4 各种方法的比较 46

3.3.5 习题 46

3.4 函数依赖 47

3.4.1 函数依赖的定义 48

3.4.2 关系的键 48

3.4.3 超键 50

3.4.4 找出关系中的键 50

3.4.5 习题 51

3.5 函数依赖的规则 52

3.5.1 分解/结合规则 52

3.5.2 平凡函数依赖 53

3.5.3 计算属性的闭包 53

3.5.4 为什么能用闭包算法 55

3.5.5 传递规则 56

3.5.6 函数依赖的闭包集合 57

3.5.7 投影函数依赖 57

3.5.8 习题 58

3.6 关系数据库模式设计 59

3.6.1 异常 60

3.6.2 分解关系 60

3.6.3 Boyce-Codd范式 61

3.6.4 分解为BCNF 63

3.6.5 从分解中恢复信息 66

3.6.6 第三范式 67

3.6.7 习题 69

3.7 多值依赖 69

3.7.1 属性独立及伴随其产生的冗余 69

3.7.2 多值依赖的定义 70

3.7.3 多值依赖的推论 71

3.7.4 第四范式 72

3.7.5 分解到第四范式 73

3.7.6 发范式间的联系 74

3.7.7 习题 74

3.8 小结 75

3.9 参考文献 76

第4章 其他数据模型 79

4.1 面向对象概念的复习 79

4.1.1 类型系统 80

4.1.2 类和对象 80

4.1.3 对象标识 80

4.1.4 方法 80

4.1.5 类的层次 81

4.2 ODL简介 81

4.2.1 面向对象设计 81

4.2.2 类声明 82

4.2.3 ODL中的属性 82

4.2.4 ODL中的联系 83

4.2.5 反向联系 84

4.2.6 联系的多重性 85

4.2.7 ODL中的方法 86

4.2.8 ODL中的类型 87

4.2.9 习题 88

4.3 ODL中的其他概念 89

4.3.1 ODL的多路联系 90

4.3.2 ODL中的子类 90

4.3.3 ODL中的多继承 91

4.3.4 范围 92

4.3.5 ODL中键声明 92

4.3.6 习题 94

4.4 从ODL设计到关系设计 94

4.4.1 从ODL属性到关系属性 95

4.4.2 类中的非原子类型属性 95

4.4.3 集合类型属性的表示 96

4.4.4 其他类型构建器的表示 97

4.4.5 ODL中联系的表示 98

4.4.6 如果没有键会怎样? 100

4.4.7 习题 100

4.5 对象关系模型 101

4.5.1 从关系到对象关系 102

4.5.2 嵌套关系 102

4.5.3 引用 103

4.5.4 面向对象与对象关系的比较 104

4.5.5 ODL设计到对象关系设计的转化 105

4.5.6 习题 105

4.6 半结构化数据 105

4.6.1 为何需要半结构化数据模型 106

4.6.2 半结构化数据表示 106

4.6.3 信息集成与半结构化数据 107

4.6.4 习题 108

4.7 XML及其数据模型 108

4.7.1 语义标签 109

4.7.2 格式规范的XML 109

4.7.3 文档类型定义(DTD) 110

4.7.4 使用DTD 111

4.7.5 属性列表 112

4.7.6 习题 113

4.8 小结 114

4.9 参考文献 114

第5章 关系代数 117

5.1 一个数据库模式的例子 117

5.2 关系代数操作 118

5.2.1 关系代数基础 119

5.2.2 关系中的集合操作 119

5.2.3 投影 120

5.2.4 选择 121

5.2.5 笛卡儿积 122

5.2.6 自然连接 122

5.2.7 θ连接 123

5.2.8 使用组合操作生成查询 124

5.2.9 重命名 125

5.2.10 依赖的和非依赖的操作 126

5.2.11 关系代数表达式中的线性符号 127

5.2.12 习题 127

5.3 包上的关系操作 132

5.3.1 为什么采用包 132

5.3.2 包的并、交、差 133

5.3.3 包的投影操作 134

5.3.4 包的选择 135

5.3.5 包的笛卡儿积 135

5.3.6 包的连接 135

5.3.7 习题 136

5.4 关系代数的扩展操作 137

5.4.1 消除重复 137

5.4.2 聚集操作符 138

5.4.3 分组 138

5.4.4 分组操作符 139

5.4.5 扩展的投影操作符 140

5.4.6 排序操作符 141

5.4.7 外连接 141

5.4.8 习题 142

5.5 关系的约束 143

5.5.1 作为约束语言的关系代数 143

5.5.2 引用完整性约束 144

5.5.3 其他的约束举例 145

5.5.4 习题 146

5.6 小结 147

5.7 参考文献 147

第6章 数据库语言SQL 149

6.1 SQL中的简单查询 149

6.1.1 SQL中的投影 150

6.1.2 SQL中的选择 152

6.1.3 字符串比较 153

6.1.4 日期和时间 154

6.1.5 空值和涉及空值的比较 155

6.1.6 布尔值UNKNOWN 156

6.1.7 输出排序 157

6.1.8 习题 157

6.2 多个关系上的查询 158

6.2.1 SQL中的积和连接 159

6.2.2 避免属性歧义 159

6.2.3 元组变量 160

6.2.4 多关系查询的解释 161

6.2.5 查询的并、交、差 163

6.2.6 习题 164

6.3 子查询 165

6.3.1 产生标量值的子查询 165

6.3.2 含有关系的条件表达式 166

6.3.3 含有元组的条件表达式 167

6.3.4 关联子查询 168

6.3.5 FROM子句中的子查询 169

6.3.6 SQL的连接表达式 169

6.3.7 自然连接 170

6.3.8 外连接 171

6.3.9 习题 172

6.4 全关系操作 174

6.4.1 消除重复 174

6.4.2 交、并、差中的重复 174

6.4.3 SQL中的分组和聚集 175

6.4.4 聚集操作符 175

6.4.5 分组 176

6.4.6 HAVING子句 177

6.4.7 习题 178

6.5 数据库更新 179

6.5.1 插入 179

6.5.2 删除 181

6.5.3 更新 181

6.5.4 习题 182

6.6 SQL中的关系模式定义 183

6.6.1 数据类型 183

6.6.2 简单表定义 184

6.6.3 修改关系模式 184

6.6.4 默认值 185

6.6.5 索引 185

6.6.6 索引选择简介 186

6.6.7 习题 188

6.7 视图定义 189

6.7.1 视图声明 189

6.7.2 视图查询 190

6.7.3 重命名属性 191

6.7.4 视图更新 191

6.7.5 涉及视图的查询解释 193

6.7.6 习题 195

6.8 小结 195

6.9 参考文献 196

第7章 约束和触发器 199

7.1 键和外键 199

7.1.1 主键声明 199

7.1.2 用UNIQUE声明键 200

7.1.3 强制键约束 201

7.1.4 外键约束声明 201

7.1.5 维护引用完整性 202

7.1.6 延迟约束检查 203

7.1.7 习题 205

7.2 属性和元组上的约束 206

7.2.1 非空值约束 206

7.2.2 基于属性的CHECK约束 207

7.2.3 基于元组的CHECK约束 208

7.2.4 习题 209

7.3 修改约束 210

7.3.1 给约束命名 210

7.3.2 修改表上约束 210

7.3.3 习题 211

7.4 模式层的约束和触发器 211

7.4.1 断言 212

7.4.2 事件-条件-动作规则 214

7.4.3 SQL中的触发器 214

7.4.4 替换触发器(Instead of Triggers) 217

7.4.5 习题 217

7.5 小结 219

7.6 参考文献 219

第8章 SQL的系统特征 221

8.1 编程环境下的SQL 221

8.1.1 阻抗不匹配问题 222

8.1.2 SQL/宿主语言接口 222

8.1.3 DECLARE节 223

8.1.4 使用共享变量 223

8.1.5 单元组选择语句 224

8.1.6 游标 224

8.1.7 游标修改 227

8.1.8 防止并发更新 227

8.1.9 卷型游标 228

8.1.10 动态SQL 229

8.1.11 习题 230

8.2 模式中的存储过程 231

8.2.1 创建PSM函数和过程 231

8.2.2 PSM中的简单语句格式 232

8.2.3 分支语句 233

8.2.4 PSM中的查询 234

8.2.5 PSM中的循环 234

8.2.6 For循环 236

8.2.7 PSM的异常处理 236

8.2.8 使用PSM函数和过程 238

8.2.9 习题 238

8.3 SQL环境 240

8.3.1 环境 240

8.3.2 模式 240

8.3.3 目录 241

8.3.4 SQL环境中的客户和服务器 242

8.3.5 连接 242

8.3.6 会话 243

8.3.7 模块 243

8.4 使用调用层接口 243

8.4.1 SQL/CLI简介 244

8.4.2 处理语句 245

8.4.3 从查询结果中取数据 246

8.4.4 向查询传递参数 248

8.4.5 习题 248

8.5 Java数据库连接 248

8.5.1 JDBC简介 248

8.5.2 JDBC中的创建语句 249

8.5.3 JDBC中的游标操作 250

8.5.4 参数传递 250

8.5.5 习题 251

8.6 SQL中的事务 251

8.6.1 可串行性 251

8.6.2 原子性 253

8.6.3 事务 254

8.6.4 只读事务 255

8.6.5 读脏数据 256

8.6.6 其他隔离级别 257

8.6.7 习题 258

8.7 SQL中的安全机制和用户认证 259

8.7.1 权限 259

8.7.2 创建权限 260

8.7.3 检查权限的处理 261

8.7.4 授权 262

8.7.5 授权图 263

8.7.6 销权 264

8.7.7 习题 266

8.8 小结 267

8.9 参考文献 268

第9章 面向对象查询语言 269

9.1 OQL简介 269

9.1.1 一个面向对象的电影例子 269

9.1.2 路径表达式 269

9.1.3 OQL中Select-From-Where表达式 271

9.1.4 修改结果的类型 271

9.1.5 复杂输出类型 272

9.1.6 子查询 273

9.1.7 习题 274

9.2 OQL表达式的其他格式 276

9.2.1 量词表达式 276

9.2.2 聚集表达式 277

9.2.3 分组表达式 277

9.2.4 HAVING子句 279

9.2.5 并、交和差操作 279

9.2.6 习题 280

9.3 OQL中对象的赋值与创建 281

9.3.1 宿主语言变量的赋值 281

9.3.2 集合元素的提取 281

9.3.3 获取集的每一个成员 281

9.3.4 OQL中的常量 282

9.3.5 创建新对象 283

9.3.6 习题 284

9.4 SQL中的用户定义类型 284

9.4.1 在SQL中定义类型 284

9.4.2 用户定义类型中的方法 285

9.4.3 用UDT声明关系 286

9.4.4 引用 286

9.4.5 习题 288

9.5 对象关系数据上的操作 288

9.5.1 引用的跟随 288

9.5.2 访问UDT类型元组的属性 289

9.5.3 生成器和转换器函数 290

9.5.4 UDT类型联系的排序 291

9.5.5 习题 292

9.6 小结 293

9.7 参考文献 293

第10章 逻辑查询语言 295

10.1 一种关系逻辑 295

10.1.1 谓词和原子 295

10.1.2 算术原子 295

10.1.3 Datalog规则和查询 296

10.1.4 Datalog规则的意义 297

10.1.5 扩展谓词和内涵谓词 298

10.1.6 Datalog规则应用于包 299

10.1.7 习题 300

10.2 从关系代数到Datalog 300

10.2.1 交 300

10.2.2 并 300

10.2.3 差 301

10.2.4 投影 301

10.2.5 选择 301

10.2.6 积 303

10.2.7 连接 303

10.2.8 用Datalog模拟多重操作 304

10.2.9 习题 305

10.3 Datalog的递归编程 306

10.3.1 递归规则 307

10.3.2 计算递归Datalog规则 307

10.3.3 递归规则中的非 311

10.3.4 习题 313

10.4 SQL中的递归 314

10.4.1 在SQL中定义IDB关系 314

10.4.2 分层非 316

10.4.3 有问题的递归SQL表达式 317

10.4.4 习题 319

10.5 小结 320

10.6 参考文献 320

相关图书
作者其它书籍
返回顶部