第1讲 数据库基础知识 1
1.1 数据库的产生与发展 1
1.1.1 手工管理阶段 1
1.1.2 文件管理阶段 1
1.1.3 数据库管理阶段 2
1.2 数据库系统 3
1.2.1 数据库的几个重要概念 3
1.2.2 数据库系统的特点 4
1.3 实体及其相互联系 5
1.3.1 实体的描述 5
1.3.2 实体间的联系及联系的种类 5
1.4 数据模型 5
1.4.1 层次模型 6
1.4.2 网状模型 6
1.4.3 关系模型 7
1.5 关系术语及关系运算 7
1.5.1 关系术语 7
1.5.2 关系的特点 8
1.5.3 实际关系模型 9
1.5.4 关系运算 10
1.6 本书的一些约定 10
1.6.1 关于Visual FoxPro 6.0中文版 10
1.6.2 关于命令中一些符号的说明 10
1.6.3 关于汉字和标点符号使用的说明 11
1.7 小结 12
1.8 习题 12
第2讲 Visual FoxPro关系数据库入门 14
2.1 Visual FoxPro系统概述 14
2.1.1 历史沿革 14
2.1.2 Visual FoxPro的主要特点 15
2.2 Visual FoxPro的主要文件类型及创建工具 16
2.2.1 主要文件类型 16
2.2.2 向导、设计器和生成器简介 18
2.3 Visual FoxPro的数据类型 19
2.4 Visual FoxPro应用系统开发的基本步骤 20
2.5 Visual FoxPro数据库设计 21
2.5.1 数据库设计的原则 21
2.5.2 数据库设计的步骤 21
2.5.3 “教学管理系统”数据库设计案例 22
2.6 Visual FoxPro的启动与退出 26
2.6.1 Visual FoxPro的启动 26
2.6.2 Visual FoxPro的用户界面 26
2.6.3 Visual FoxPro的三种工作方式 27
2.6.4 Visual FoxPro的退出 27
2.7 小结 28
2.8 习题 28
第3讲 项目、数据库与表的创建 30
3.1 “项目”的创建及项目管理器的使用 30
3.1.1 项目和项目管理器的概念 30
3.1.2 创建项目和项目管理器 30
3.1.3 项目管理器的选项卡 32
3.1.4 项目管理器的功能按钮 32
3.1.5 定制项目管理器 32
3.1.6 项目管理器的关闭和打开 33
3.2 教学管理数据库的创建与基本操作 33
3.2.1 基本概念 33
3.2.2 创建数据库(Database) 34
3.2.3 数据库操作命令 35
3.3 数据库中数据表结构的创建、修改与数据输入 36
3.3.1 表的概念 36
3.3.2 在项目管理器中创建数据库表 36
3.3.3 以命令方式创建数据库表的结构 40
3.4 自由表的创建 40
3.4.1 在项目管理器中创建自由表 40
3.4.2 向数据库导入自由表 41
3.5 用SQL命令创建表的结构 41
3.5.1 SQL创建表结构的命令格式 41
3.5.2 应用案例 41
3.6 小结 42
3.7 习题 42
第4讲 常量、变量、表达式和函数 44
4.1 常量 44
4.1.1 数值型常量 44
4.1.2 字符型常量 44
4.1.3 日期型常量 44
4.1.4 日期时间型常量 46
4.1.5 逻辑型常量 46
4.2 变量 46
4.2.1 字段变量 47
4.2.2 内存变量 47
4.2.3 数组 49
4.3 表达式 50
4.3.1 运算符 50
4.3.2 运算符的优先级别 55
4.3.3 表达式的值及表达式的类型 55
4.4 常用函数 55
4.4.1 数值函数 56
4.4.2 字符函数 59
4.4.3 日期和时间函数 61
4.4.4 数据类型转换函数 62
4.4.5 测试函数 64
4.5 小结 65
4.6 习题 65
第5讲 数据库的基本操作(1) 68
5.1 使用浏览器对表的记录进行操作 68
5.1.1 浏览器的打开方法 68
5.1.2 浏览器的操作 68
5.1.3 用命令方式打开浏览器 71
5.2 表的记录指针与指针移动 73
5.2.1 绝对移动命令 73
5.2.2 相对移动命令 74
5.2.3 文件开始和结尾标志 75
5.3 增加记录的命令 75
5.3.1 APPEND命令 75
5.3.2 SQL的INSERT命令 76
5.4 删除与恢复记录的命令 77
5.4.1 添加删除标记命令 77
5.4.2 取消删除标记命令 79
5.4.3 物理删除带有删除标记记录的命令 79
5.4.4 物理删除所有记录的命令 79
5.5 工作区的选择与表的关闭 80
5.5.1 工作区的概念与使用 80
5.5.2 关闭表的命令 81
5.6 小结 81
5.7 习题 82
第6讲 数据库的基本操作(2) 85
6.1 字段数据的替换和更新 85
6.1.1 替换命令(REPLACE) 85
6.1.2 更新命令(SQL的UPDATE) 85
6.2 表结构的修改 86
6.2.1 在数据库设计器中修改表结构 86
6.2.2 MODIFY STRUCTURE命令 87
6.2.3 SQL的ALTER TABLE命令 88
6.3 索引的建立与使用 88
6.3.1 索引的种类 89
6.3.2 索引的四要素 90
6.3.3 索引的创建和修改 90
6.3.4 使用索引文件 92
6.4 记录的查找与显示 94
6.4.1 显示记录的命令 94
6.4.2 顺序查找命令 95
6.4.3 索引查找命令 95
6.5 数据表与数组的交互操作 96
6.5.1 将表中当前记录的数据复制到数组 96
6.5.2 将数组中的数据复制到当前记录 97
6.6 表的添加和删除 98
6.6.1 在数据库设计器中添加和删除表 98
6.6.2 添加和删除表的命令 99
6.7 小结 99
6.8 习题 100
第7讲 数据库的基本操作(3) 104
7.1 表的关联 104
7.1.1 关联的概念 104
7.1.2 用VF命令建立关联 104
7.1.3 用SQL命令建立关联 106
7.1.4 在一对多表单中建立关联 106
7.1.5 在视图和查询中建立关联 106
7.1.6 在数据库中建立永久关联 106
7.2 数据的完整性 107
7.2.1 实体完整性 108
7.2.2 域完整性 108
7.2.3 参照完整性 109
7.3 用向导创建表单 111
7.3.1 表单(Form)的概念 111
7.3.2 用向导创建单表表单 111
7.3.3 用向导创建一对多表单 114
7.3.4 表单的运行 116
7.4 小结 117
7.5 习题 117
第8讲 视图与查询 119
8.1 视图 119
8.1.1 视图的概念 119
8.1.2 用视图向导建立本地视图 119
8.1.3 用视图设计器建立本地视图 123
8.1.4 设置更新条件 126
8.1.5 使用视图 127
8.2 查询 127
8.2.1 查询的创建及查询去向 128
8.2.2 运行查询 130
8.3 对视图和查询的进一步讨论 130
8.3.1 视图与表的关系 130
8.3.2 视图与查询的关系 131
8.3.3 视图与查询的本质 131
8.4 小结 131
8.5 习题 132
第9讲 结构化查询语言——SQL(1) 133
9.1 SQL概述 133
9.1.1 SQL语言发展简史 133
9.1.2 SQL语言的特点 133
9.2 SQL查询语句的基本结构 134
9.3 简单查询 134
9.3.1 查询指定列 134
9.3.2 查询经过计算的列 135
9.3.3 去掉重复值 136
9.3.4 条件查询 136
9.3.5 对查询结果进行排序 138
9.3.6 使用库函数 139
9.3.7 分组查询 139
9.4 查询结果的去向 140
9.4.1 屏幕显示选择 140
9.4.2 将查询结果存入数组中 141
9.4.3 将查询结果存入临时文件中 141
9.4.4 将查询结果存入表中 141
9.4.5 将查询结果存入文本文件中 142
9.4.6 将查询结果输出到打印机中 142
9.4.7 将查询语句保存到文本文件中 143
9.5 小结 143
9.6 习题 144
第10讲 结构化查询语言——SQL(2) 145
10.1 连接查询 145
10.1.1 等值连接查询 145
10.1.2 超连接查询 146
10.1.3 多表连接 148
10.1.4 自连接查询 149
10.2 嵌套查询 149
10.2.1 带有谓词IN的子查询 150
10.2.2 带有比较运算符的子查询 150
10.2.3 带有ANY、SOME或ALL谓词的子查询 151
10.2.4 带有EXISTS谓词的子查询 152
10.2.5 内外层互相关嵌套查询 152
10.3 集合查询 153
10.4 视图的定义 153
10.5 小结 154
10.6 习题 155
第11讲 报表与标签 156
11.1 概述 156
11.1.1 设计步骤 156
11.1.2 选择报表布局类型 156
11.1.3 打印机设置 157
11.2 使用报表向导创建报表 157
11.2.1 报表向导 157
11.2.2 报表向导应用实例 158
11.3 用报表设计器创建和修改报表 161
11.3.1 报表设计器的基本组成 161
11.3.2 报表的数据环境 162
11.3.3 报表的控件和控件工具栏 162
11.3.4 报表的布局工具栏 163
11.3.5 在报表设计器中修改报表布局 163
11.3.6 在报表设计器中设计快速报表 165
11.4 分组报表设计 166
11.4.1 用向导做初步设计 166
11.4.2 用设计器修改完善 167
11.5 创建标签 168
11.5.1 标签的设计方法 168
11.5.2 标签的设计步骤 168
11.6 报表和标签的运行 170
11.6.1 菜单方式 170
11.6.2 命令方式 171
11.7 小结 172
11.8 习题 172
第12讲 程序设计基础(1) 174
12.1 程序设计预备知识 174
12.1.1 程序的概念 174
12.1.2 程序中常用的几条命令 174
12.1.3 用户自定义对话框函数 177
12.2 程序的建立、运行与调试 179
12.2.1 程序的建立和修改 179
12.2.2 程序的运行 179
12.2.3 程序的调试 180
12.3 结构化程序设计 181
12.4 顺序结构 182
12.5 分支结构 182
12.5.1 条件语句(IF...ENDIF) 182
12.5.2 多分支语句(DO CASE...ENDCASE) 184
12.6 循环结构 186
12.6.1 条件循环(DO...ENDDO) 186
12.6.2 循环辅助语句 187
12.7 小结 188
12.8 习题 188
第13 讲程序设计基础(2) 192
13.1 循环结构(续) 192
13.1.1 步长循环(FOR...ENDFOR) 192
13.1.2 扫描循环(SCAN...ENDSCAN) 193
13.1.3 多重循环 193
13.2 多模块程序 195
13.2.1 子程序 195
13.2.2 过程 197
13.2.3 变量的作用域 197
13.3 从结构化到面向对象的程序设计 199
13.3.1 什么是面向对象的程序 200
13.3.2 对象(Object)和类(Class) 200
13.3.3 子类与继承 200
13.3.4 Visual FoxPro中的基类 201
13.3.5 容器和控件 201
13.3.6 对象的三要素 202
13.3.7 结构化程序设计与面向对象程序设计的关系 203
13.4 程序调试器 203
13.4.1 调用调试器的方法 203
13.4.2 调试器环境 203
13.4.3 设置断点 204
13.4.4 调试菜单 205
13.5 小结 206
13.6 习题 206
第14讲 系统主程序与菜单设计 208
14.1 “教学管理系统”功能分析与设计 208
14.1.1 系统开发目标 208
14.1.2 系统功能设计 208
14.1.3 为“叶子”功能指定调用程序 211
14.2 系统整体结构描述 212
14.3 系统主程序设计 213
14.3.1 主程序的概念 213
14.3.2 主程序的主要内容 213
14.3.3 主程序示例 213
14.3.4 主程序中的“事件驱动机制” 214
14.4 菜单设计 214
14.4.1 系统菜单与用户菜单 214
14.4.2 菜单设计的基本过程 215
14.4.3 菜单设计举例 216
14.4.4 运行菜单的命令 221
14.5 将主程序与菜单连接运行 222
14.6 小结 222
14.7 习题 223
第15讲 表单设计(1) 224
15.1 表单设计器概述 224
15.1.1 表单设计器的打开 224
15.1.2 表单设计器环境 225
15.1.3 表单的创建步骤 226
15.2 对象的属性、方法和事件 227
15.2.1 常用属性 227
15.2.2 常用方法 228
15.2.3 常用事件 229
15.2.4 对象的引用 231
15.3 标签、形状、线条控件及其应用 231
15.3.1 标签(Label) 231
15.3.2 形状(Shape) 232
15.3.3 线条(Line) 232
15.3.4 控件的操作与布局 232
15.3.5 应用案例 232
15.4 文本框、命令按钮控件及应用 233
15.4.1 文本框(TextBox) 233
15.4.2 命令按钮(Command Button) 234
15.4.3 应用案例 234
15.4.4 主程序、菜单与表单连接调试 237
15.5 小结 238
15.6 习题 238
第16讲 表单设计(2) 240
16.1 表格控件及应用 240
16.1.1 表格(Grid) 240
16.1.2 表格应用举例 241
16.2 列表框、组合框控件及应用 243
16.2.1 列表框(ListBox) 243
16.2.2 组合框(ComboBox) 245
16.2.3 应用案例 245
16.3 容器、时钟控件及其应用 248
16.3.1 容器(Container) 248
16.3.2 时钟(Timer) 248
16.3.3 容器、时钟控件应用案例 248
16.4 小结 249
16.5 习题 250
第17讲 表单设计(3) 252
17.1 复选框、选项组、微调控件及应用 252
17.1.1 复选框(CheckBox) 252
17.1.2 选项组(OptionGroup) 253
17.1.3 微调控件(Spinner) 254
17.1.4 应用案例 254
17.2 命令按钮组和页框控件 257
17.2.1 命令按钮组(CommandGroup) 257
17.2.2 页框(PageFrame)控件 259
17.3 用“另存为”的方法设计表单 260
17.4 小结 261
17.5 习题 261
第18讲 表单设计(4) 263
18.1 编辑框、图像、ActiveX控件和ActiveX绑定控件 263
18.1.1 编辑框(EditBox) 263
18.1.2 图像(Image) 265
18.1.3 ActiveX控件(ActiveX Control) 266
18.1.4 ActiveX绑定控件(ActiveX Bound Control) 266
18.2 为顶层表单添加菜单 266
18.2.1 为顶层表单添加下拉式菜单的过程 266
18.2.2 为顶层表单添加下拉式菜单实例 266
18.3 表单快捷菜单的设计 268
18.3.1 建立快捷菜单的过程 268
18.3.2 建立快捷菜单举例 268
18.4 控件综合应用表单设计实例 270
18.4.1 成批数据输入表单 270
18.4.2 带统计计算的智能表单 272
18.5 小结 274
18.6 习题 274
第19讲 应用程序的连编与发布 276
19.1 系统调试与连编 276
19.1.1 系统调试 276
19.1.2 设置主文件 276
19.1.3 设置项目信息 276
19.1.4 设置文件的“排除”与“包含” 277
19.1.5 连编 277
19.1.6 使用命令来连编应用程序 279
19.1.7 运行可执行文件 279
19.2 为应用程序制作安装盘 280
19.2.1 制作应用程序发布目录 280
19.2.2 用向导创建发布磁盘 281
19.2.3 用安装程序进行安装 285
19.3 项目向导简介 285
19.3.1 启动向导 286
19.3.2 应用程序生成器 286
19.4 小结 288
19.5 习题 288
第20讲 Visual FoxPro网络程序设计 289
20.1 并发控制 289
20.1.1 锁定的分类 289
20.1.2 具有锁定功能的命令和函数 290
20.2 缓冲技术 292
20.2.1 记录缓冲和表缓冲 292
20.2.2 缓冲设置 293
20.2.3 执行更新 294
20.3 事务处理 295
20.3.1 事务的定义 295
20.3.2 使用事务处理 296
20.3.3 嵌套事务处理 297
20.4 在互联网中使用Visual FoxPro 297
20.4.1 概述 298
20.4.2 Visual FoxPro的Web发布功能实现 298
20.5 开发客户/服务器模型 301
20.6 小结 302
20.7 习题 303
附录 国家二级Visual FoxPro考试大纲 304
参考文献 308