第一章数据库系统概述 1
第一节 数据库系统的发展与展望 1
一、简单的回顾 1
二、什么是数据库系统 2
三、数据库系统的主要特征 3
四、数据库系统的展望 6
第二节 由现实世界到数据库系统 7
一、三个世界的假设 7
二、信息模型(或称为实体模型) 10
三、数据模型 14
四、三类数据库系统 17
第三节 数据库系统的结构 18
一、三级模式结构 18
二、两级映射关系 20
三、结论 20
第四节 数据库系统的软件构成 21
一、数据库系统软件的层次关系 21
二、数据库管理系统(DBMS) 22
三、数据描述语言(DDL、SDDL及DSDL) 25
四、数据操作语言(DML) 27
五、宿主系统与自含系统 28
第五节 微机数据库系统简介 29
一、微机数据库系统的主要特点 30
二、目前国内常用的几种微机数据库管理系统 31
三、微机数据库管理系统的选择 34
练习题一 35
第二章 关系数据库系统的数学基础 37
第一节 关系 37
一、关系的一般定义 37
二、关系的数学定义 37
三、关系的性质 39
第二节 关系模型及关系操作 39
一、关系——单一的数据结构 40
二、关系模型 40
三、关系操作 41
四、关系模型的三类完整性 42
第三节 关系代数 43
一、传统的集合运算 43
二、专门的关系运算 44
三、数据操作功能的关系代数表示 49
四、应用实例 50
第四节 关系演算 52
一、关系的表示 52
二、数据操作功能的表示 52
三、域关系演算 54
第五节 关系模型系统特点 55
一、基本特点 55
二、存贮结构独有的特点 55
练习题二 56
第三章 关系数据库的标准语言——SQL 59
第一节 概述 59
一、SQL语言的概念和发展 59
二、SQL语言命令的种类和特点 60
三、使用的一些记号和符号定义 60
第二节 SQL的数据定义功能 60
一、表的定义 61
二、视图的定义 62
三、索引的定义 62
四、ORACLE的两个样本数据库 63
第三节 SQL的数据查询功能 64
一、简单查询 64
二、条件查询 64
三、高级查询 67
四、内部函数 71
第四节 SQL的数据操作功能 73
一、插入操作INSERT 73
二、修改操作UPDATE 73
三、删除操作DELETE 74
四、视图更新 74
第五节 SQL数据控制功能 75
一、系统范围类存取特权的授予 75
二、具体表类特权的授予 75
第六节 宿主式SQL 76
一、程序设计中,使用SQL的步骤 76
二、程序设计的要求 77
三、主变量 77
四、SQL通讯区 77
五、连接ORACLE 78
六、游标操纵 78
七、程序设计举例 79
练习题三 80
第四章 关系数据库的规范化理论 82
第一节 引言 82
一、构造关系模式的方法 82
二、两种构造方案的比较 82
三、原因分析 84
四、结论 85
第二节 数据依赖(属性间的内在联系) 85
一、函数依赖 85
二、多值依赖 87
第三节 关系模式的规范化 89
一、第一范式(1NF) 89
二、第二范式(2NF) 90
三、第三范式(3NF) 91
四、Bcyoe-Codd范式(BCNF) 92
五、第四范式(4NF) 94
第四节 关系模式的模式分解 95
第五节 规范化理论小结及应用 97
一、规范化理论小结 97
二、规范化理论应用 97
练习题四 98
第五章 数据库维护 100
第一节 数据库的安全性保护 100
一、防止数据库数据遭受破坏和损失的措施 100
二、防止数据库的非法使用即保密和防窃问题 100
第二节 数据库的完整性保护 102
一数据值的约束和结构完整性约束 102
二、静态约束和动态约束 103
三、立即执行约束和延迟执行约束 103
四、完整性保护的实现 103
第三节 并发控制 104
一、并发操作引起数据不一致 104
二、并发控制—解决并发操作引起数据不一致的方法 106
第四节 恢复 110
一、故障的种类 110
二、转储和恢复 111
练习题五 111
第六章 数据库应用系统的设计 112
第一节 数据库应用系统设计概述 112
一、设计准则 112
二、设计过程、步骤和任务 113
三、数据库设计的技术和方法 118
第二节 数据库应用系统的需求分析 119
一、需求分析 120
二、数据字典 121
三、需求分析时必须说明的几点 123
第三节 数据库系统的概念结构设计 123
一、概念结构(又称概念模型或信息模型) 123
二、概念结构设计的步骤和策略 124
三、数据抽象与用户视图设计 125
四、视图集成(或称为合并) 126
第四节 数据库系统的逻辑结构设计 132
一、设计过程和步骤 132
二、由E-R图向关系型数据模型的转换 132
三、模式分解的概念和算法 134
四、数据模型的优化 135
第五节 数据库系统的物理结构设计 136
一、物理设计过程 136
二、对物理设计的要求 137
三、物理设计的一般原则 137
四、物理设计的主要内容 138
五、性能评价 139
第六节 数据库应用系统的实施与维护 139
一、编写模式与建立数据库 139
二、数据库数据的装入 140
三、数据库应用程序的设计 140
四、数据库的试运行 140
五、数据库的正式运行和维护 141
练习题六 142
第七章 FOXBASE+概述 143
第一节 系统文件、配置文件、安装与启动 143
一、系统文件 143
二、配置文件 144
三、系统安装、启动和退出 144
第二节 FOXBASE+的基本术语 145
一、FOXBASE+使用的数据库术语 145
二、FOXBASE+的文件 146
三、FOXBASE+的保留字 147
四、FOXBASE+主要性能指标 147
第三节 FOXBASE+的语言、符号 147
一、命令行的构成 147
二、表达式与运算符 148
三、数据类型、常量、变量及函数 150
第四节 FOXBASE+的交互状态与命令状态 151
一、交互状态 151
二、程序状态 152
第五节 屏幕编辑、提示、菜单、键盘使用及文件的搜寻路径 152
一、全屏幕编辑 152
二、屏幕提示信息 152
三、菜单 152
四、键盘的使用 153
五、键盘缓冲区 153
六、有关文件的搜索路径 153
第八章数据库的建立、显示和处理 157
第一节 数据库的建立 157
一、CREATE(建立) 157
二、MODIFY STRUCTURE(修改结构) 160
三、USE(库文件的打开/关闭) 160
四、SELECT(选择工作区) 161
五、CLOSE(关闭库、文件) 161
第二节 记录的追加 162
第三节 数据库的显示 163
一、LIST(列表) 163
二、DISPLAY(显示) 166
三、DIR(列目录) 166
四、TYPE(文本文件显示) 166
第四节 数据库记录的定位 166
一、GO / GOTO(定位) 167
二、SKIP(指针移动) 167
第五节 数据库的修改 167
一、EDIT(编辑) 167
二、CHANGE(改变) 167
三、BROWSE(浏览) 167
四、FLUSH(注入) 169
五、UNLOCK(解锁) 169
六、REPLACE(替换) 169
第六节 数据库的插入与删除 170
一、INSERT(插入) 170
二、DELETE(逻辑删除) 170
三、RECALL(逻辑恢复) 171
四、PACK(物理删除) 171
五、ZAP(删除记录) 172
六、ERASE(清除文件) 172
第七节 数据库的排序与索引 172
一、SORT(排序) 172
二、INDEX(索引) 173
三、REINDEX(重索引) 174
第八节 数据库的查找 175
一、FIND(查找) 175
二、SEEK(搜索) 176
三、LOCATE(定位) 176
四、CONTINUE(继续) 176
第九节 数据库的复制与摘要 177
一、COPY(拷贝) 177
二、TOTAL(摘要) 181
第十节 相关数据库区间操作 182
一、UPDATE(更新) 182
二、JOIN(连接) 182
第十一节 其它相关操作 183
一、CLEAR(清屏) 183
二、KEYBOARD(键盘) 185
三、RENAME(换名) 185
练习题八 186
第九章 计算、求和及管理内存变量 188
第一节 内存变量的建立 188
一、COUNT(统计) 188
二、SUM(求和) 188
三、AVERAGE(求平均值) 188
四、STORE(建内存变量) 189
第二节 数组变量 189
一、DIMENSION(定义数组变量) 189
二、SCATTER(记录转数组) 190
三、GATHER(数组转记录) 191
第三节 全局变量与局部变量 192
一、PUBLIC(设全局变量) 192
二、PRIVATE(设局部变量) 192
第四节 内存变量的存取与显示 194
一、?/??(表达式显示) 194
二、SAVE(存储) 194
三、RESTORE(恢复) 195
四、RELEASE(释放) 195
练习题九 196
第十章 函数及状态设置 197
第一节 日期及时间函数 197
一、年月日函数 197
二、星期函数 198
三、时间函数 198
四、日期转换函数 199
第二节 字符操作及类型转换函数 200
一、字符串转换函数 200
二、子串操作函数 202
三、字串测试函数 204
四、字串生成函数 204
五、ASCII字符与数值之间转换函数 205
第三节 数字运算函数 206
一、数值计算函数 206
二、数值比较函数 207
第四节 数据库函数 207
一、当前记录状态函数 207
二、测数据库参数函数 209
三、数据工作区函数 210
四、辅助文件函数 211
五、数据库加锁函数 212
第五节 测试函数 213
一、文件及数据类型测试函数 213
二、条件判断函数 214
三、输入测试函数 215
四、显示器状态函数 217
五、打印设备状态函数 218
六、其他各类参数测试函数 219
七、系统环境函数 220
八、版本号函数 221
九、出错信息函数 221
第六节 自定义函数 221
一、UDF的生成 222
二、UDF的调用 222
第七节 系统状态设置 223
第八节 输出环境设置 228
第九节 文件、记录操作设置 230
第十节 程序调试环境设置 233
练习题十 234
第十一章 输入/输出命令及程序设计 237
第一节 交互命令 237
一、WAIT(等待) 237
二、INPUT(输入) 237
三、ACCEPT(接收) 238
第二节 @格式命令 238
一、@…SAY……GET……READ(指定坐标位置输入/输出) 238
二、@…BOX(屏幕画框) 241
三、@…TO(清框/画框) 241
四、@…PROMPT…MENU TO(建菜单) 242
第三节 屏幕格式文件 242
第四节 报告文件 243
一、报告文件的建立(CREATE REPORT) 243
二、报告文件的输出(REPORT FORM) 247
第五节 标签文件 249
一、标签文件的建立(CREATE LABEL) 249
二、标签文件的输出(LABELE FORM) 250
第六节 命令文件的编辑与执行 251
一、MODIFY COMMAND(编辑命令文件) 251
二、NOTE/*、&&(注释) 252
三、DO(执行) 252
四、PARAMETERS(参数传递) 253
五、RETURN、RETRY(返回) 253
六、CANCEL(中止) 254
七、SUSPEND(暂停) 254
八、RESUME(恢复) 254
九、TEXT-ENDTEXT(文本) 255
第七节 程序的判断选择执行 255
一、IF ELSE ENDIF(条件判断) 255
二、DO CASE ENDCASE(结构判断) 256
第八节 循环执行 257
第九节 程序的过程调用 261
第十节 随机事件处理 264
一、ERROR(出错处理) 264
二、ESCAPE(中断处理) 266
三、KEY(按键处理) 266
四、KEY=<expN >(按规定键处理) 267
第十一节 与其它语言的交互 268
一、RUN/!(调用外部程序) 268
二、LOAD(装载) 268
三、CALL(调用) 268
四、RELEASE MODULE(释放) 269
练习题十一 269
第十二章FOXBASE+的应用技巧及并发控制 271
第一节 FOXBASE+程序的编译 271
第二节 系统配置 272
一、系统配置文件 272
二、FOX配置文件 272
三、内存分配 272
四、参数项设置 273
第三节 并发控制 276
一、共享打开的文件特点 276
二、加锁与解锁 276
三、死锁 278
第四节 FOXBASE+应用技巧 279
一、优化FOXBASE+性能 279
二、数据保密性措施 281
三、程序调试与纠错技术 283
练习题十二 285
第十三章 ORACLE关系数据库系统概述 286
第一节 ORACLE关系数据库系统简介 286
一、ORACLE关系数据库系统特点 286
二、IBM PC / MS-DOS支持下的ORACLE产品 288
第二节 ORACLE RDBMS软件组成 288
一、ORACLE RDBMS 289
二、“SQL”ORACLE产品 290
三、“Pro”ORACLE产品 290
第三节 安全管理 291
第四节 数据库的一致性与并发控制 293
一、前映象文件 293
二、 ORACLE的锁机制 293
三、死锁 296
第五节 磁盘空间管理 296
一、分区与物理文件 297
二、表和索引的空间要求及空间定义 298
三、多个分区的使用及空间满的处理 299
第六节 转储与恢复 300
一、故障的分类 300
二、卸载实用程序EXP 301
三、装载实用程序IMP 302
四、后映象日志 302
练习题十三 303
第十四章 FOXBASE和高级语言的连结 304
第一节 文本文件传输数据 304
一、文本义件的格式 304
二、文本文件与数据库文件之间的相互转换 305
三、接口语句RUN命令 307
第三节 数据传输举例 307
一、BASIC语言访问库文件 308
二、FORTRAN语言访问库文件 310
三、C语言访问库文件 311
第三节 直接存取数据库技术 313
一、数据库文件结构分析 314
二、索引文件结构分析 315
三、变量文件的结构分析 316
第四节 直接存取数据库举例 318
一、C语言直接访问库文件 318
二、C语言直接访问索引文件 320
三、C语言直接访问变量文件 324
第五节 LOAD指令与汇编语言接口 325
练习题十四 326
参考文献 327