本书是“阶梯式GIS软件工程实践系列教程”的数据库篇,目的是通过完成一件事(实现一个小型点线区图形编辑系统)和围绕一个核心(数据库开发),使读者在了解数据库基本概念和基本用法的基础上,掌握运用C++语言通过SQL访问和控制数据库的方法。
本书包括实习目的及要求、背景知识概述、系统实现过程和强化编程练习四个部分,通过一系列循序渐进的练习有机地贯穿了数据库基本概念和用法、动态库开发和程序封装、点线区图形结构的定义和数据库存储、C++语言和编程工具等方面的内容。
其中系统实现过程这部分按照系统架构设计分别开发“图形数据管理动态库”和“图形编辑系统”,前者完成对关系数据库的封装并提供点线区数据的增删改查接口,后者调用动态库提供的接口完成点线区图形的编辑、查询和显示。整个实现过程已做了细致的划分,各次练习环环相扣,读者依次做循序渐进的练习,在数据库和编程知识运用上越来越深,在功能实现上越来越难,逐步达到强化数据库开发训练的目的。本书各项功能实现过程中,数据库开发不仅涉及常识层面,而且还包括了存储过程和触发器等高级开发,所有这些都被自然地融入到一个个具体的练习中。
“强化编程练习”部分给出了功能要求并说明实现相应功能的思考过程,为有意在功能和数据库开发方面做深度练习的读者提供指引。
样章试读
目录
- 目录
第1章实践目的及要求1
1.1实践目的1
1.2实践目标2
1.2.1数据库开发2
1.2.2C++语言3
1.2.3图形绘制3
1.2.4编程工具和框架3
1.2.5程序调试5
1.2.6编程规范化6
1.3实践要求6
1.3.1对学生的要求6
1.3.2对老师的要求6
第2章背景知识概述7
2.1几何图形及其结构7
2.1.1点7
2.1.2线7
2.1.3区8
2.2Windows图形编程9
2.2.1图形绘制方法9
2.2.2数据坐标系与窗口坐标系10
2.3数据库基本概念11
2.4系统功能与设计说明12
2.4.1软件架构设计12
2.4.2存储层“数据库物理结构”设计12
2.4.3逻辑层“数据管理接口”设计15
2.4.4表现层“功能及菜单”设计15
第3章系统实现过程16
练习1:创建图形数据管理层动态库工程16
练习2:在数据库中手动创建所需数据表16
练习3:建立“连接数据库”和“断开数据库”接口22
练习4:实现“初始化图形数据库”接口27
练习5:实现访问图形数据总表的接口29
练习6:实现“添加点”接口44
练习7:创建图形编辑系统应用工程47
练习8:完成“连接数据库”和“断开数据库”功能54
练习9:完成“初始化图形数据库”功能58
练习10:完成“造点”功能59
练习11:实现“查找点”接口62
练习12:实现“删除点”接口64
练习13:实现“删除点”功能65
练习14:实现“修改点”接口69
练习15:实现“移动点”功能71
练习16:实现“添加线”接口74
练习17:实现“添加线”功能79
练习18:实现“查找线”接口84
练习19:实现“删除线”接口88
练习20:实现“删除线”功能89
练习21:实现“修改线”接口94
练习22:实现“移动线”功能97
练习23:实现“添加区”接口101
练习24:实现“添加区”功能105
练习25:实现“查找区”接口110
练习26:实现“删除区”接口113
练习27:实现“删除区”功能114
练习28:实现“修改区”接口119
练习29:实现“移动区”功能122
练习30:窗口重绘126
练习31:实现“计算图形准确外包络矩形”功能128
练习32:编写“计算图形准确外包络矩形”存储过程133
练习33:用存储过程优化“计算图形准确外包络矩形”功能136
练习34:增加“更新点、线、区最大ID号”触发器139
第4章强化编程练习143
练习35:增加“更新点、线、区逻辑数”触发器143
练习36:增加“恢复点”接口143
练习37:实现“恢复点”功能143
练习38:实现“修改点参数”功能144
参考文献145
附录1C++编码规范146
附录2优秀程序员的基本修炼169