15.9 综合所有编程细节——示例程序 3
第1章 基本概念 3
1.1 概述 3
1.2 数据库和数据库管理系统 3
15.10 其他嵌入的SQL特性 3
第1部分 DB2/400数据库 3
1.3 OS/400的对象、库和用户简要表 4
1.4 文件、记录格式和成员 5
1.5 物理和逻辑文件 6
1.6 文件和字段描述 8
1.7 存取路径和索引 9
1.8 存取HLL程序的文件 10
1.9 使用数据描述语言(DDS)和SQL创建文件 10
1.10 小结 12
1.12 练习 13
1.11 关键术语 13
2.1 概述 16
2.2 用DDS创建物理文件 16
第2章 物理文件 16
2.3 定义文件属性 22
2.4 定义记录格式 23
2.5 定义字段 23
2.5.1 字符和十六进制数据类型 24
2.5.2 数字数据类型 25
2.5.3 日期、时间和时间戳数据类型 27
2.6 添加的字段级关键字 28
2.7 定义键标 30
15.7 SQL的错误处理 32
15.8 事务的完整性 32
2.8 创建物理文件的命令 32
2.10 小结 35
2.11 关键术语 37
2.12 练习 37
3.1 概述 40
3.3 引用以前定义的字段 40
2.9 编码建议 40
3.2 代码重用的重要性 40
第3章 字段引用文件 40
3.4 创建字段引用文件 43
3.5 命名约定 51
3.6 编码建议 54
3.7 小结 54
3.9 练习 55
3.8 关键术语 55
第4章 逻辑文件入门:键标存取路径、记录选择和字段选择 57
4.1 概述 57
4.2 逻辑文件的操作原理 57
4.3 创建新的键标存取路径 61
4.4 选择记录的子集 63
4.5 定义新的记录格式 68
4.6 创建逻辑文件命令 71
4.7 编码建议 76
4.8 小结 77
4.10 练习 78
4.9 关键术语 78
5.1 概述 81
5.2 导出新字段 81
5.2.1 转换字符字段的数据 81
第5章 逻辑文件:高级特性 81
5.2.2 子字符串字段 82
5.2.3 连接字段 83
5.3 多格式逻辑文件 84
5.4 编码建议 88
5.6 关键术语 89
5.5 小结 89
5.7 练习 89
第6章 连接逻辑文件 91
6.1 概述 91
6.2 基本概念 91
6.3 DB2/400如何创建连接文件的记录 94
6.4 定义连接逻辑文件 95
6.5 一个物理文件与它自身连接 98
6.6 连接三个或更多的文件 99
6.7 编码建议 103
6.8 小结 103
6.9 关键术语 104
6.10 练习 104
7.2 声明文件 106
7.1 概述 106
第7章 存取高级语言(HLL)的数据库文件 106
7.2.1 RPG IV文件描述说明 107
7.2.2 COBOL/400的文件声明 111
7.3 打开和关闭文件 114
7.3.1 RPG TV的打开和关闭操作代码 114
7.3.2 COBOL/400的打开和关闭语句 114
7.4 读出文件并在文件中定位 115
7.4.1 RPG IV的Chain、Read、ReadP、ReadE、ReadPE、SetLL、和SetGT操作代码 116
7.4.2 COBOL/400的Read和Start语句 120
7.5 更新记录 121
7.5.1 RPG IV的Update操作代码 122
7.5.2 COBOL/400的Rewrite语句 122
7.6.1 RPG IV的 write操作码 123
7.6 写新的记录 123
7.7 删除记录 124
7.7.1 RPGIV的Delete操作码 124
7.7.2 COBOL/400的Delete语句 125
7.8 使用多格式逻辑文件 125
7.8.1 在RPG IV中指定格式 125
7.8.2 COBOL/400的Format段 126
7.9 找出要打开的文件成员 127
7.10 记录格式级标识符 128
7.11 对带有日期、时间、时间戳和浮点字段文件的专题讨论 129
7.12 对带有容许空值字段文件的专题讨论 129
7.13 错误处理程序示例 130
7.13.1 RPG IV的UPDCUST程序 130
7.13.2 COBOL/400的UPDCUST程序 136
7.14.2 RPG IV部分 143
7.14.1 通用部分 143
7.14 编码建议 143
7.14.3 COBOL/400部分 143
7.15 小结 144
7.16 关键术语 145
7.17 练习 146
第8章 数据模型建立与数据库设计 153
8.1 概述 153
8.2 模型建立和设计的重要性 153
第2部分 数据库模型与设计 153
8.3 逻辑数据模型建立 155
8.4 物理数据库设计 156
8.5 基本的关系型概念 157
8.6 小结 158
8.7 关键术语 158
8.8 练习 159
9.2.1 传统文件系统与DBMS的比较 160
9.2 背景;数据库管理系统 160
第9章 关系数据库模型 160
9.1 概述 160
9.3 关系模型:数据结构 164
9.3.1 标准格式 166
9.4 数据的完整性 170
9.5 数据操作 171
9.6 小结 176
9.7 关键术语 177
9.8 练习 178
第10章 逻辑数据模型建立 180
10.1 概述 180
10.2 引言 180
10.3 步骤1:建立命名标准和数据字典 181
10.4 步骤:2记录终端用户的视图和识别实体类型 182
10.6 步骤:4为每个实体类型确定主键标 183
10.5 步骤:3确定最重要的实体特征 183
10.7 步骤:5确定实体类型的相互关系 184
10.8 步骤:6确定每个关系的外来键标规则 185
10.9 步骤:7确定添加的完整性约束 186
10.11 步骤:9把多个用户的视图合并成一个总框图 188
10.10 步骤:8确定安全性规则 188
10.12 步骤:10在框图基表中清除冗余信息 189
10.13 步骤:11确定予模式视图 189
10.14 小结 190
10.15 关键术语 191
10.16 练习 191
第11章 用图表表示实体类型 192
11.1 概述 192
11.2 引言 192
11.3 基本的ERD概念和符号 192
11.4 给ERDs增加属性 194
11.6 表示关联 196
11.5 多值属性 196
11.8 实体子类型 198
11.7 排斥关系 198
11.9 何时使用ERDs 199
11.10 小结 201
11.11 关键术语 201
11.12 练习 201
第12章 物理数据库设计 202
12.1 概述 202
12.2 引言 202
12.3 步骤1:为每个实体类型指定一个物理文件或者表 204
12.4 步骤2:指定主键标、侯选键标和外来键标的实现 206
12.5 步骤3:指定域实现 208
12.6 步骤4:指定其他的完整性规则的实现 209
12.7 步骤5:指定视图的实现 209
12.8 步骤6:指定安全性的实现 210
12.9 步骤7:为性能指定添加的索引 211
12.10 步骤8:引入受控制冗余 212
12.11 步骤9:合并基表 214
12.12 步骤10:调整数据库设计适应预期的变化 215
12.13小结 215
12.15练习 216
12.14关键术语 218
13.2 SQL介绍 221
第13章 SQL/400数据定义语言 221
13.1 概述 221
第3部分 SQL/400 221
13.2.1 输入SQL/400语句 223
13.3 创建集合 224
13.4 创建表 225
13.4.1 SQL/400命名约定 226
13.4.2 列定义 227
13.4.3 使用标准列定义 228
13.4.4 约束 229
13.4.6 描述文本和列标题 231
13.4.5 长列名 231
13.5 增加或取消表约束和列 233
13.6 创建视图 234
13.7 创建索引 242
13.8 删除集合、表、视图和索引 243
13.9 准许和取消表或视图的特权 243
13.10 SQL目录 245
13.11 编码建议 247
13.12 小结 248
13.13 关键术语 250
13.14 练习 250
14.2 DML介绍 254
14.1 概述 254
第14章 SQL/400数据操作语言 254
14.3 用Select语句检索行 256
14.3.1 检索条件和谓词 258
14.3.2 字画值、表达式和标量函数 260
14.3.3 日期和时间运算 264
14.3.4 列函数 265
14.3.5 Group By和Having子句 267
14.3.6 Order By子句 269
14.3.7 复杂的Seleet语句 269
14.3.8 谓词和子查询 275
14.4 使用DML修改表数据 281
14.5 Insert语句 282
14.6 Update语句 283
14.7 Delete语句 285
14.8 并行更新和Lock Table语句 286
14.9 事务处理完整性与Commit和Rollback语句 286
14.10 编码建议 289
14.11 小结 290
14.12 关键术语 292
14.13 练习 292
15.2 嵌入的SQL介绍 296
15.1 概述 296
第15章 嵌入的SQL/400 296
15.2.1 嵌入的SQL的错误处理 301
15.3 静态语句 303
15.3.1 静态的Select Into语句 303
15.3.2 其他静态的DML语句 305
15.4 动态嵌入语句 306
15.5 SQL光标 309
15.5.1 定位Update和Delete语句 316
15.6 主结构和数组 317
15.10.2 动态光标 342
15.10.1 Include语句 342
15.10.3 存储过程 344
15.10.4 分布式数据库 345
15.11 创建SQL/400程序 346
15.12 SQL/400转换过程 348
15.13 编码建议 350
15.14 小结 352
15.15 关键术语 353
15.16 练习 353
第4部分 DB2/400的其他特性 359
第16章 数据库的约束 359
16.1 概述 359
16.2 数据库约束介绍 359
16.3 主键标约束和唯一约束 359
16.4 引用约束 361
16.5 引用约束的状态 364
16.6 小结 365
16.7 关键术语 366
16.8 练习 366
第17章 DB2/400的高级特性 367
17.1 概述 367
17.2 文件替换值 367
17.2.1 替换范围 368
17.2.2 合并替换值 369
17.2.3 开放数据路径(ODP)范围和共享 370
17.3 Open Query File(OPNQRYF)命令 372
17.3.1 动态记录选择 373
17.3.2 动态排序 375
17.3.3 变换字段 375
17.3.4 动态连接 378
17.3.5 分组字段 380
17.3.6 附加考虑 381
17.4 对象和记录锁 381
17.4.1 对象锁的类型 382
17.4.2 按类型分配对象 385
17.4.3 显示锁 387
17.5 记日志 388
17.5.1 日志的基础 388
17.5.2 建立日志 389
17.5.3 记日志的过程 390
17.5.4 处理关键性恢复需求 394
17.5.5 记日志的建议 394
17.5.6 在恢复中使用日志管理 395
17.6 确认控制 395
17.6.1 退回事务 396
17.6.2 同时更新操作中的冲突 397
17.6.3 找出放在确认控制下的文件 399
17.6.4 在CL和HLL程序中指定确认控制下的文件 399
17.6.5 在应用程序中增加Commit和Rollback语句 400
17.6.6 为物理文件记日志 402
17.6.7 在任务或激活组中建立确认控制环境 403
17.6.8 结束任务或激活组中的确认控制环境 403
17.6.9 确认控制使用的记录锁 403
17.7 触发程序 407
17.7.1 编写触发程序 408
17.7.2 触发缓冲区的软编码 414
17.7.3 使用触发程序时要考虑的问题 418
17.8 分布式数据库 419
17.8.1 DDM 420
17.8.2 DRDA 420
17.8.3 ODBC 421
17.9 查询工具 423
17.9.1 Query/400 423
17.9.2 Query Manager/400 424
17.10 小结 425
17.12 练习 426
17.11 关键术语 426
第18章 数据库的安全性 429
18.1 概述 429
18.2 安全性基础 429
18.3 OS/400权限 430
18.4 库、程序和数据库文件的权限 431
18.5 公共权限 432
18.6 组简要表 433
18.7 权限列表 434
18.8 程序采用的权限 436
18.8.1 对象所有权 438
18.8.2 数据库安全性原则和指南 438
18.9 小结 439
18.10 关键术语 440
18.11 练习 440
第19章 备份和恢复 444
19.1 概述 444
19.2 备份和恢复策略介绍 444
19.3 保存数据库对象 445
19.3.1 缩短备份时间 447
19.3.2 处理从属数据库对象 449
19.4 恢复对象 450
19.5 保存和恢复存取路径 452
19.6 保存和恢复操作所需的权限 452
19.7 其他的AS/400恢复功能 453
19.8 小结 454
19.9 关键术语 454
19.10 练习 454
附录A 数据描述语句的关键字 457
附录B 数据库文件的CL命令描述 477