第1章 数据库系统概论 1
1.1 数据库的基本概念 1
1.1.1 数据处理技术的发展历程 1
1.1.2 信息描述与数据模型 5
1.1.3 数据库技术的研究领域 6
1.2 数据库体系结构 7
1.2.1 数据库系统模式概论 7
1.2.2 数据库系统的三级模式结构 8
1.2.3 数据库的二级映象功能 9
1.3 数据库系统 10
1.3.1 数据库系统的基本特点 10
1.3.2 数据库系统的组成 12
1.3.4 数据库系统的视图 14
1.3.3 数据库管理系统的功能 14
1.3.5 数据库系统的访问 15
1.3.6 数据库系统发展阶段的划分 16
习题一 16
第2章 数据库系统的数据模型 17
2.1 概念模型 18
2.1.1 概念模型的数据结构 18
2.1.2 概念模型的表示方法 20
2.2 结构数据模型(Structure Data Model) 22
2.2.1 结构数据模型的三要素 23
2.2.2 层次数据模型 23
2.2.3 网状数据模型 28
2.2.4 关系数据模型 30
2.3 关系数据库的基本概念 32
2.3.2 关系 33
2.3.1 笛卡儿乘积 33
2.3.3 关键字 34
2.3.4 关系模式 34
2.3.5 关系数据模型 34
2.3.6 关系数据库 35
2.4 关系数据库模型及其描述 35
2.4.1 关系数据库模型(Relational Model) 35
2.4.2 关系数据库模式建立 36
2.4.3 关系数据库局部模式建立 37
2.4.4 关系模型的完整性规则 38
习题二 39
第3章 关系代数及其优化技术 41
3.1 关系代数 42
3.1.1 传统的集合运算 43
3.1.2 专门的关系运算 44
3.1.3 检索操作实例 49
3.2 查询优化技术 50
3.2.1 查询优化的一般策略 51
3.2.2 关系代数等价变换规则 52
3.2.3 关系代数表达式的优化算法 53
习题三 56
第4章 关系数据库设计理论 58
4.1 概述 58
4.2 函数依赖 59
4.2.1 函数依赖 60
4.2.2 候选码 61
4.3 范式 61
4.3.1 第一范式(1NF) 62
4.3.2 第二范式(2NF) 63
4.3.3 第三范式(3NF) 65
4.3.4 BC范式(BCNF) 66
4.4 多值依赖与第四范式(4NF) 67
4.4.1 多值依赖 69
4.4.2 第四范式(4NF) 71
4.5 关系模式的规范化 72
4.6 数据依赖的公理系统 73
4.7 关系模式的分解 80
4.7.1 模式分解的三个定义 80
4.7.2 分解的无损联接性和依赖保持 81
4.7.3 转换成3NF的分解 84
4.7.4 转换成BCNF的分解 86
4.7.5 模式设计方法的原则 88
习题四 89
第5章 数据库设计 91
5.1 数据库设计概述 91
5.1.1 数据库设计的定义 91
5.1.2 数据库设计的特点 92
5.1.3 数据库设计方法简述 93
5.1.4 数据库设计的基本步骤 94
5.2 需求分析 97
5.2.1 需求分析的任务 97
5.2.2 需求分析的方法 98
5.2.3 数据字典 100
5.3 概念结构设计 102
5.3.1 概念结构设计的方法与步骤 102
5.3.2 局部视图设计 103
5.3.3 视图的集成 105
5.4 逻辑结构设计 107
5.4.1 E-R图向关系模型的转换 108
5.4.2 数据模型的优化 109
5.4.3 设计用户子模式 110
5.5 数据库的物理设计 110
5.5.1 数据库的物理设计的内容 111
5.5.2 关系模式存取方法选择 111
5.5.3 确定数据库的存储结构 113
5.5.4 评价物理结构 114
5.6 数据库的实施 114
5.6.1 数据的载入和应用程序的调试 114
5.6.2 数据库的试运行 115
5.7 数据库的运行与维护 116
习题五 117
第6章 数据库的保护 118
6.1 事务的基本概念 118
6.1.1 事务(transaction) 118
6.1.2 实例 118
6.1.3 事务的特性 119
6.2 数据库恢复 120
6.2.1 故障的种类 120
6.2.2 恢复的实现技术 122
6.2.3 恢复策略 124
6.3 并发控制 126
6.3.1 封锁并发控制方法 128
6.3.2 活锁和死锁 131
6.3.3 并发调度的可串行性 133
6.3.4 两段锁协议 134
6.4 数据库的安全性 136
6.4.1 数据库安全性控制 136
6.4.2 安全系统的基本要求 139
6.4.3 自主存取控制(DAC)和强制存取控制(MAC) 140
6.5 数据库完整性 141
6.5.1 完整性约束条件 141
6.5.2 完整性控制 143
习题六 146
第7章 SQL Server 2000数据库管理系统 148
7.1 SQL Server 2000简介 148
7.1.1 SQL Server 2000的结构 148
7.1.2 SQL Server 2000的特点 149
7.1.3 SQL Server 2000的安装 151
7.1.4 SQL Server 2000的系统数据库 154
7.2 SQL Server 2000服务器的注册和启动 155
7.3 SQL Server 2000数据库管理 158
7.3.1 数据库文件组和数据库文件 158
7.3.2 建立、管理和删除数据库 159
7.3.3 查看数据库信息 160
习题七 161
第8章 Transact-SQL语言 162
8.1 Transact-SQL语言基础 162
8.1.1 SQL简介 162
8.1.2 标识符、数据类型 162
8.1.3 运算符、变量与批处理 167
8.1.4 流控制语句 170
8.2 函数 173
8.3 表、视图和索引 175
8.3.1 表 175
8.3.2 约束 177
8.3.3 索引 180
8.3.4 视图 181
8.4 存储过程与触发器 185
8.4.1 存储过程概述 185
8.4.2 存储过程的使用和管理 185
8.4.3 触发器概述 187
8.4.4 触发器的使用与管理 188
8.5.1 简单查询 190
8.5 Transact-SQL查询 190
8.4.5 触发器的特殊功能 190
8.5.2 统计查询 201
8.5.3 联合查询 202
8.5.4 子查询 203
8.5.5 连接查询 205
习题八 206
第9章 管理SQL Server2000的安全性及数据库的备份与恢复 208
9.1 管理SQL Server2000安全性 208
9.1.1 安全性概述 208
9.1.2 SQL Server2000登录验证模式 209
9.1.3 角色 209
9.1.4 许可 213
9.2.2 数据库备份类型 217
9.2.3 执行数据库备份 217
9.2.1 数据库备份概念 217
9.2 数据库的备份 217
9.3 数据库的恢复 221
习题九 222
第10章 PowerBuilder 9.0的编程基础 223
10.1 PowerBuilder简介 223
10.2 PB 9.0开发环境 223
10.3 PB 9.0的主要画板 224
10.3.1 创建新的工作区 224
10.3.2 应用程序画板 225
10.3.3 窗口画板 226
10.3.4 菜单画板 230
10.4 常用控件 232
10.3.5 工程画板 232
10.4.1 窗口控件简介 233
10.4.2 控件属性的修改 234
10.5 DataWindow数据窗口对象 235
10.5.1 数据窗口的创建 235
10.5.2 数据窗口显示风格 237
10.5.3 数据源 239
习题十 239
第11章 PowerScript语言与数据库连接 240
11.1 PowerScript语言 240
11.1.1 PowerScript语言基础 240
11.1.2 变量的类型和作用域 241
11.1.3 数组及使用 242
11.1.4 结构的使用 243
11.1.5 常用PowerScript语句 243
11.1.6 常用函数和语句 246
11.2 SQL语句的使用 250
11.2.1 静态SQL语句 250
11.2.2 动态SQL语句 254
11.3 PB 9.0与常见数据库的连接配置 258
11.3.1 PB 9.0与Oracle数据库的连接 258
11.3.2 PB 9.0连接任意ODBC数据源 261
习题十一 267
第12章 开发应用实例“通信录管理系统” 269
12.1 系统需求分析 269
12.1.1 系统目标设计 269
12.1.2 系统功能分析 269
12.2 后台数据库设计 270
12.3.1 数据库的创建 271
12.3 数据库的实现 271
12.3.2 数据库表单的创建 272
12.3.3 数据库连接的建立 273
12.4 应用程序对象的创建 275
12.5 系统各对象设计及脚本编写 276
12.5.1 系统主窗口w_main和主菜单m_main 276
12.5.2 数据窗口(DataWindow)的创建 276
12.5.3 普通窗口Window的创建 280
12.6 各对象脚本的编写 281
12.6.1 应用程序对象test和主菜单m_main的脚本 281
12.6.2 窗口对象脚本的编写 283
12.7 应用程序运行和编译 287
12.7.1 应用程序的运行 287
12.7.2 应用程序的编译 288
习题十二 290