第一部分 关系数据库理论 1
第1章 基本概念 1
1.1 什么是数据库 1
1.2 数据库工具 3
1.2.1 数据库引擎 3
1.2.2 数据访问对象模型 4
1.2.3 数据定义环境 5
1.2.4 前端开发 5
1.3 关系模型 5
1.4 关系术语 6
1.5 数据模型 7
1.5.1 实体 8
1.5.2 属性 8
1.5.3 域 11
1.5.4 联系 12
1.5.5 实体联系图 13
1.6 小结 14
第2章 数据库结构 15
2.1 消除冗余 15
2.2 保证灵活性 17
2.3 基本原则 19
2.3.1 无损分解 19
2.3.2 候选码和主码 20
2.3.3 函数依赖 21
2.4 第一范式 22
2.5 第二范式 23
2.6 第三范式 25
2.7 进一步的规范化 26
2.7.1 Boyce/Codd范式 26
2.7.2 第四范式 27
2.7.3 第五范式 28
2.8 小结 29
第3章 联系 30
3.1 术语 30
3.2 联系建模 31
3.3 一对一联系 33
3.4 一对多联系 36
3.5 多对多联系 36
3.6 一元联系 37
3.7 三元联系 37
3.8 已知基数的联系 39
3.9 小结 40
4.1 完整性约束 41
4.1.1 域完整性 41
第4章 数据完整性 41
4.1.2 转换完整性 43
4.1.3 实体完整性 43
4.1.4 参照完整性 44
4.1.5 数据库完整性 45
4.1.6 事务完整性 45
4.2 实现数据完整性 46
4.2.1 未知值和不存在的值 46
4.2.2 冲突响应 48
4.2.3 声明的和过程的完整性 48
4.2.4 域完整性 48
4.2.5 实体完整性 49
4.2.6 参照完整性 52
4.2.7 其他类型的完整性 52
4.3 小结 53
第5章 关系代数 54
5.1 Null值和三值逻辑 55
5.2.1 选择 56
5.2.2 投影 56
5.2 关系运算 56
5.2.3 连接 57
5.2.4 除 60
5.3 集合运算符 60
5.3.1 并 60
5.3.2 交 61
5.3.3 差 61
5.3.4 笛卡儿积 63
5.4 特殊的关系运算符 63
5.4.1 总结 63
5.4.3 重命名 64
5.4.4 变换 64
5.4.2 扩展 64
5.4.5 上卷 65
5.4.6 立方体 66
5.5 小结 66
第二部分 维度数据库理论 67
第6章 维度的基本概念 67
6.1 维度数据库模型 67
6.2 术语 70
6.3 商务智能的浓缩历史 71
6.4 小结 72
第7章 事实表 73
7.1 事实表的结构 73
7.2 事实属性的特征 74
7.2.1 粒度 75
7.2.2 事实表的类型 76
7.2.3 异类事实 77
7.3 小结 79
第8章 维度表 80
8.1 维度表的结构 80
8.2 雪花化 83
8.3 改变维度 84
8.4 小结 86
第三部分 设计数据库系统 87
第9章 设计过程 87
9.1 生命周期模型 87
9.2 数据库设计过程 90
9.2.1 定义系统参数 90
9.2.2 定义工作过程 90
9.2.3 构建概念数据模型 90
9.2.4 准备数据库模式 90
9.3 关于设计方法和标准的提示 91
9.2.5 设计用户界面 91
第10章 定义系统参数 92
10.1 定义系统目标 92
10.2 开发设计标准 95
10.2.1 直接衡量标准 96
10.2.2 环境标准 96
10.2.3 一般设计策略 97
10.3 定义系统范围 98
10.4 小结 100
第11章 定义工作过程 101
11.1 确定当前工作过程 101
11.1.1 与用户交流 101
11.1.2 确定任务 102
11.2 分析工作过程 105
11.3 将工作过程文档化 106
11.4 用户情景 107
11.5 小结 108
第12章 概念数据模型 109
12.1 确定数据对象 109
12.2 定义联系 112
12.2.1 联系的基数 113
12.2.2 联系的可选性 114
12.2.3 联系的属性 114
12.2.4 联系的附加约束 114
12.3 复查实体 114
12.3.1 实体和问题域之间的联系 115
12.3.2 影响实体的工作过程 115
12.3.3 实体间的交互 115
12.3.4 业务规则和约束 116
12.3.5 属性 116
12.4 域分析 117
12.5 限制值的范围 118
12.6 规范化 119
12.7 小结 119
第13章 数据库模式 120
13.1 系统架构 120
13.1.1 编码架构 120
13.1.2 数据架构 124
13.2 数据库模式组件 130
13.2.1 定义表和联系 130
13.2.2 视图和查询 131
13.3 安全性 132
13.4 小结 134
第14章 交流设计 135
14.1 读者和目标 135
14.2 文档结构 135
14.3 执行小结 136
14.5 工作过程 137
14.4 系统概貌 137
14.6 概念数据模型 138
14.7 数据库模式 139
14.8 用户界面 139
14.8.1 界面原型法 140
14.8.2 界面说明书 140
14.9 修订管理 141
14.10 小结 141
第四部分 设计用户界面 143
第15章 作为中间媒介的用户界面 143
15.1 有效的界面 143
15.2 界面模型 144
15.3.2 中级用户 145
15.3.3 专业用户 145
15.3.1 初学者 145
15.3 用户层次 145
15.4 让用户管理 146
15.5 减轻记忆的负担 147
15.6 保持一致性 148
15.7 小结 150
第16章 用户界面架构 151
16.1 支持工作过程 151
16.2 文档架构 152
16.2.1 单文档界面 152
16.2.2 多文档界面 154
16.3 小结 159
第17章 在窗体设计中描述实体 160
17.1 简单实体 160
17.3 一对多联系 162
17.2 一对一联系 162
17.4 层次 165
17.5 多对多联系 166
17.6 小结 168
第18章 选择Windows控件 169
18.1 表达逻辑数据 170
18.2 表达多个值的集合 170
18.2.1 从一组值中获取单个值 171
18.2.2 获取一组值 172
18.3 表达数字和日期 173
18.4 表达文本数据 175
18.5 小结 176
第19章 维护数据库的完整性 177
19.1 完整性约束的类别 177
19.2.1 数据类型 178
19.2 内在约束 178
19.2.2 格式 179
19.2.3 长度 179
19.2.4 空值 179
19.2.5 范围 180
19.2.6 实体和参照完整性约束 180
19.3 业务约束 182
19.3.1 偶然输入 183
19.3.2 现实与系统模型的对比 183
19.4 小结 185
第20章 报表 186
20.1 排序、检索和过滤数据 186
20.1.1 排序数据 187
20.1.2 通过选择过滤 187
20.1.3 通过窗体过滤 187
20.1.4 高级过滤和排序 188
20.1.5 微软自然语言查询 189
20.2 生成标准报表 189
20.2.1 清单报表和明细报表 189
20.2.2 总结报表 190
20.2.3 基于窗体的报表 190
20.2.4 报告界面 190
20.2.5 处理打印机错误 191
20.2.6 自动和随选打印 192
20.3 生成特殊报表 193
20.3.1 报表设计器 193
20.3.2 自定义的报表设计 193
20.3.3 标准信件 196
20.4 小结 197
21.1 用户级别 198
第21章 用户帮助 198
21.2 被动帮助机制 199
21.2.1 帮助记忆的访问键 199
21.2.2 工具提示 200
21.2.3 状态栏 201
21.3 反应帮助机制 202
21.3.1 联机帮助 202
21.3.2 “What's This?”提示 203
21.3.3 可听见的反馈 204
21.3.4 错误消息 205
21.4 主动帮助机制 206
21.5 用户培训 206
21.6 小结 207
术语表 208
参考文献 212