版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第22章数据库研发实践:家庭财务管理系统数据库应用系统的研发大多这是工程型项目,而非理论型的研究,因此,在学习数据库应用系统的开发主要还是以实例示范为主。本章就是通过介绍实例开发来进行数据库研发的学习,本章数据库应用系统将实现数据库的添加、修改和统计等功能。本章的主要内容有:E-R图设计:读者将学会数据库应用系统研发中最重要的E-R图(实体关系图)的设计,以及学会由E-R图转化成为关系表。基于数据库的应用研发:读者将学会使用数据库进行项目研发,掌握数据库应用系统开发常用的函数和程序设计步骤。第22章数据库研发实践:家庭财务管理系统数据库应用系统的122.1提出问题:设计一个家庭财务管理系统本小节是讲解概要功能和界面设计,一般而言,小规模的项目研发总是以功能需求为主导,界面设计为手段的。因此,在考虑具体的开发实施之前,应该先清楚本项目需要实现什么功能,以及可以提供给用户的操作界面。22.1提出问题:设计一个家庭财务管理系统本小节是讲解概222.1.1概要功能家庭财务管理系统相对于企业的财务系统而言,要简单得多,毕竟收支方面的流程和种类都比较小,而且使用该系统的管理员也比较少。为了简单起见,本项目就实现家庭财务管理系统的支出方面进行讲解分析,收入方面的相关功能其实是类似的,该功能留给感兴趣的读者完成。家庭财务管理系统的概要功能如下:可以对每天的支出进行记帐,记帐要实现分类:(1)按不同的支出类型分类。(2)按不同的消费人员进行分类。可以对历史数据进行查询,查询要实现的功能是:(1)指定时间段,可以按类型进行该时间段的支出统计查询。(2)指定时间段,可以按消费人员进行该时间段的支出统计查询。(3)指定时间段,可以同时按类型和消费人员进行该时间段的支出统计查询。22.1.1概要功能家庭财务管理系统相对于企业的财务系统322.1.2界面需求根据前文所述的功能需求,在功能上可以分为两个模块:记帐的功能。查询并统计的功能。因此,在操作界面上也应该分两个区域分别为这两个功能提供用户的操作界面:日常功能:日常功能就是对日常的开支进行记帐。统计功能:统计功能就是根据用户输入的起止时间,对特定的类型和消费人员的支出进行统计。22.1.2界面需求根据前文所述的功能需求,在功能上可以422.2数据库设计基于数据库的应用系统可以分为两个层次:应用程序层数据库层数据库层是不与用户直接打交道的,用户是通过应用程序来访问数据库,因此,数据库可以看作是整个数据库应用系统的“后台”,而应用程序所展示的界面可以看作是该系统的“前台”。因此,设计好后台,直接关系到整个系统的稳定性和应用程序设计的方便与否。22.2数据库设计基于数据库的应用系统可以分为两个层次:522.2.1数据关系分析数据库的设计,首先应该从数据之间的相互关系入手。如果数据库系统比较复杂,则还需要进行规范化的项目管理流程,一般的数据库系统开发流程如下:(1)需求分析阶段(2)概念结构设计阶段(3)数据库详细设计阶段(4)应用程序开发阶段(5)数据库系统实施阶段(6)数据库系统运行和维护阶段22.2.1数据关系分析数据库的设计,首先应该从数据之间622.2.2E-R图设计概念模型就是对信息世界的抽象建模,狭义的信息世界可以专指数据库中的数据,那么概念模型就可以理解为对数据库数据的抽象建模。概念模型最常用的描述方法是E-R图(“实体-联系”图)描述法,E-R图主要有3个要素:实体:实体是以矩形表示。实体就是数据库数据中具有实际意义的主体,如在前文分析的实体就是“消费人员”和“消费品”。属性:属性用椭圆表示。就是实体所拥有的特性,如果是在面向对象程序设计中,可以将“实体”和“属性”对应为“对象”和“对象中的数据成员”的关系。联系:联系用菱形表示。联系是实体与实体之间发生的动作、从属或其他依赖关系。22.2.2E-R图设计概念模型就是对信息世界的抽象建模722.2.3数据库表的生成由E-R图生成数据库表是数据库系统研发的必要步骤,如果没有联系,只有单实体或孤立的实体的E-R图,转换方式很简单:(1)首先将实体名写成数据库表的表名。(2)然后将实体的属性写成数据库表的属性。(3)根据实际含义,将设定数据库属性的类型(整型、字符串型或日期类型等)。(4)设定主码。22.2.3数据库表的生成由E-R图生成数据库表是数据库822.3算法设计本章项目的功能比较简单,而且本章主要的学习目的在于:连接数据库。修改数据库内容。添加数据。统计数据库信息。因此,算法的设计和分析也将围绕这4个功能展开。22.3算法设计本章项目的功能比较简单,而且本章主要的学922.3.1连接数据库连接数据库的功能是所有数据库应用系统开发的必要过程,本项目采用ADO的连接方式进行连接。连接数据库的过程如下:初始化OLE,创建ADO连接。调用Open()函数,打开本地的数据库文件“Home.mdb”。为界面读取初始化数据,传递SQL语句选择出相应的数据库元组。22.3.1连接数据库连接数据库的功能是所有数据库应用系1022.3.2添加数据为数据库添加数据是数据库开发的重要功能,主要步骤如下:调用Open()函数打开数据集。调用AddNew()成员函数,告知系统开始添加数据。添加数据操作。调用Update()将添加的数据写回到磁盘的数据库文件中。调用Close()成员函数关闭数据集。22.3.2添加数据为数据库添加数据是数据库开发的重要功1122.3.3修改数据库内容从应用程序种修改数据库的内容关键也在于传递SQL语句,使用SQL的更新语句即可,如下所示:update表名setDateA='某日期',Content='某内容',MoneyA=某金额,Handler='某人',Type='某类型'whereID=某ID;将该SQL语句存放在strSql字符串变量中,然后再调用Execute()函数执行即可。代码如下:m_pConnection->Execute(_bstr_t(strSql),&vAffected,adCmdText);22.3.3修改数据库内容从应用程序种修改数据库的内容关1222.3.4统计数据库信息统计数据库的信息关键在于使用SQL语句的集函数,就是对数据表中的某属性进行集操作,这里使用的集函数是“和”操作,即“SUM()”函数,代码如下:selectSUM(MoneyA)asSumMoneyAfromBudgetwhereDateA>=某日期andDateA<=某日期andType=某消费品类型andHandler=某消费人;22.3.4统计数据库信息统计数据库的信息关键在于使用S1322.4软件项目开发过程本节将讲解如何开发家庭财务管理项目,通过前文的项目背景和算法分析的准备,本节的内容就相对比较简单了。22.4软件项目开发过程本节将讲解如何开发家庭财务管理项1422.4.1开发家庭财务管理系统项目的流程开发家庭财务管理系统项目的流程如图所示。图22.5家庭财务管理系统项目的开发流程
22.4.1开发家庭财务管理系统项目的流程开发家庭财务管1522.4.2根据E-R图创建数据库表E-R图中一共有两个实体和一个联系,因此,在本项目中就相应创建3个数据库表,如图所示。为数据库创建3个数据表
22.4.2根据E-R图创建数据库表E-R图中一共有两个1622.4.3功能研发的准备工作在实现系统的添加、修改和统计功能之前,需要做一些准备工作,使整个项目的数据库连接和访问等能顺利进行,并使界面可以达到预期目标。准备工作的工作流程如图所示。准备工作的工作流程
22.4.3功能研发的准备工作在实现系统的添加、修改和统1722.4.4实现算法设计根据前文所创建的项目,在项目的对话框中设计出前文所示的界面设计。界面上主要的功能按钮有:“添加”按钮:单击该按钮后,将对话框编辑控件的内容添加到数据库。“修改”按钮:单击该按钮后,使对话框编辑控件中与数据库对应的内容作出相应的修改。“统计”按钮:单击该按钮后,对指定时间段内的数据库内容,分消费品的经手人或消费品种类进行统计,并将统计结果显示在对话框相应的控件中。22.4.4实现算法设计根据前文所创建的项目,在项目的对1822.4.5测试本小节对“HomeRes”项目进行测试,按F5键编译并运行项目,测试流程如下:(1)测试添加功能。(2)测试统计功能。(3)测试修改功能。在日常功能中,选中与添加功能的数据组合相同的数据,对金额进行修改,修改后,按照测试统计功能的数据组合再进行统计,查看并思考统计结果的变化。在软件工程项目开发过程中,软件测试是软件生命周期中质量保证的关键环节,任何软件都不可能做到十全十美,而编译器也只负责检查语法错误,而对于逻辑错误则无能为力了,因此软件测试对于成功开发软件至关重要。22.4.5测试本小节对“HomeRes”项目进行测试,1922.5小结本章详细讲解了基于ADO连接方式的数据库应用项目-家庭财务管理系统的设计和研发,涉及的技术较多,但各个知识点相对来说并不难。需要读者细心阅读并通过本章的内容进行实践操作。通过本章的学习,读者应该掌握的内容如下:E-R图的设计。E-R图转换为关系数据库表的方式,特别是联系转换成数据表的种类和方法。数据库连接操作。数据库元组添加操作。修改数据库元组的方法。简单的数据库数据统计方法。22.5小结本章详细讲解了基于ADO连接方式的数据库应用20第22章数据库研发实践:家庭财务管理系统数据库应用系统的研发大多这是工程型项目,而非理论型的研究,因此,在学习数据库应用系统的开发主要还是以实例示范为主。本章就是通过介绍实例开发来进行数据库研发的学习,本章数据库应用系统将实现数据库的添加、修改和统计等功能。本章的主要内容有:E-R图设计:读者将学会数据库应用系统研发中最重要的E-R图(实体关系图)的设计,以及学会由E-R图转化成为关系表。基于数据库的应用研发:读者将学会使用数据库进行项目研发,掌握数据库应用系统开发常用的函数和程序设计步骤。第22章数据库研发实践:家庭财务管理系统数据库应用系统的2122.1提出问题:设计一个家庭财务管理系统本小节是讲解概要功能和界面设计,一般而言,小规模的项目研发总是以功能需求为主导,界面设计为手段的。因此,在考虑具体的开发实施之前,应该先清楚本项目需要实现什么功能,以及可以提供给用户的操作界面。22.1提出问题:设计一个家庭财务管理系统本小节是讲解概2222.1.1概要功能家庭财务管理系统相对于企业的财务系统而言,要简单得多,毕竟收支方面的流程和种类都比较小,而且使用该系统的管理员也比较少。为了简单起见,本项目就实现家庭财务管理系统的支出方面进行讲解分析,收入方面的相关功能其实是类似的,该功能留给感兴趣的读者完成。家庭财务管理系统的概要功能如下:可以对每天的支出进行记帐,记帐要实现分类:(1)按不同的支出类型分类。(2)按不同的消费人员进行分类。可以对历史数据进行查询,查询要实现的功能是:(1)指定时间段,可以按类型进行该时间段的支出统计查询。(2)指定时间段,可以按消费人员进行该时间段的支出统计查询。(3)指定时间段,可以同时按类型和消费人员进行该时间段的支出统计查询。22.1.1概要功能家庭财务管理系统相对于企业的财务系统2322.1.2界面需求根据前文所述的功能需求,在功能上可以分为两个模块:记帐的功能。查询并统计的功能。因此,在操作界面上也应该分两个区域分别为这两个功能提供用户的操作界面:日常功能:日常功能就是对日常的开支进行记帐。统计功能:统计功能就是根据用户输入的起止时间,对特定的类型和消费人员的支出进行统计。22.1.2界面需求根据前文所述的功能需求,在功能上可以2422.2数据库设计基于数据库的应用系统可以分为两个层次:应用程序层数据库层数据库层是不与用户直接打交道的,用户是通过应用程序来访问数据库,因此,数据库可以看作是整个数据库应用系统的“后台”,而应用程序所展示的界面可以看作是该系统的“前台”。因此,设计好后台,直接关系到整个系统的稳定性和应用程序设计的方便与否。22.2数据库设计基于数据库的应用系统可以分为两个层次:2522.2.1数据关系分析数据库的设计,首先应该从数据之间的相互关系入手。如果数据库系统比较复杂,则还需要进行规范化的项目管理流程,一般的数据库系统开发流程如下:(1)需求分析阶段(2)概念结构设计阶段(3)数据库详细设计阶段(4)应用程序开发阶段(5)数据库系统实施阶段(6)数据库系统运行和维护阶段22.2.1数据关系分析数据库的设计,首先应该从数据之间2622.2.2E-R图设计概念模型就是对信息世界的抽象建模,狭义的信息世界可以专指数据库中的数据,那么概念模型就可以理解为对数据库数据的抽象建模。概念模型最常用的描述方法是E-R图(“实体-联系”图)描述法,E-R图主要有3个要素:实体:实体是以矩形表示。实体就是数据库数据中具有实际意义的主体,如在前文分析的实体就是“消费人员”和“消费品”。属性:属性用椭圆表示。就是实体所拥有的特性,如果是在面向对象程序设计中,可以将“实体”和“属性”对应为“对象”和“对象中的数据成员”的关系。联系:联系用菱形表示。联系是实体与实体之间发生的动作、从属或其他依赖关系。22.2.2E-R图设计概念模型就是对信息世界的抽象建模2722.2.3数据库表的生成由E-R图生成数据库表是数据库系统研发的必要步骤,如果没有联系,只有单实体或孤立的实体的E-R图,转换方式很简单:(1)首先将实体名写成数据库表的表名。(2)然后将实体的属性写成数据库表的属性。(3)根据实际含义,将设定数据库属性的类型(整型、字符串型或日期类型等)。(4)设定主码。22.2.3数据库表的生成由E-R图生成数据库表是数据库2822.3算法设计本章项目的功能比较简单,而且本章主要的学习目的在于:连接数据库。修改数据库内容。添加数据。统计数据库信息。因此,算法的设计和分析也将围绕这4个功能展开。22.3算法设计本章项目的功能比较简单,而且本章主要的学2922.3.1连接数据库连接数据库的功能是所有数据库应用系统开发的必要过程,本项目采用ADO的连接方式进行连接。连接数据库的过程如下:初始化OLE,创建ADO连接。调用Open()函数,打开本地的数据库文件“Home.mdb”。为界面读取初始化数据,传递SQL语句选择出相应的数据库元组。22.3.1连接数据库连接数据库的功能是所有数据库应用系3022.3.2添加数据为数据库添加数据是数据库开发的重要功能,主要步骤如下:调用Open()函数打开数据集。调用AddNew()成员函数,告知系统开始添加数据。添加数据操作。调用Update()将添加的数据写回到磁盘的数据库文件中。调用Close()成员函数关闭数据集。22.3.2添加数据为数据库添加数据是数据库开发的重要功3122.3.3修改数据库内容从应用程序种修改数据库的内容关键也在于传递SQL语句,使用SQL的更新语句即可,如下所示:update表名setDateA='某日期',Content='某内容',MoneyA=某金额,Handler='某人',Type='某类型'whereID=某ID;将该SQL语句存放在strSql字符串变量中,然后再调用Execute()函数执行即可。代码如下:m_pConnection->Execute(_bstr_t(strSql),&vAffected,adCmdText);22.3.3修改数据库内容从应用程序种修改数据库的内容关3222.3.4统计数据库信息统计数据库的信息关键在于使用SQL语句的集函数,就是对数据表中的某属性进行集操作,这里使用的集函数是“和”操作,即“SUM()”函数,代码如下:selectSUM(MoneyA)asSumMoneyAfromBudgetwhereDateA>=某日期andDateA<=某日期andType=某消费品类型andHandler=某消费人;22.3.4统计数据库信息统计数据库的信息关键在于使用S3322.4软件项目开发过程本节将讲解如何开发家庭财务管理项目,通过前文的项目背景和算法分析的准备,本节的内容就相对比较简单了。22.4软件项目开发过程本节将讲解如何开发家庭财务管理项3422.4.1开发家庭财务管理系统项目的流程开发家庭财务管理系统项目的流程如图所示。图22.5家庭财务管理系统项目的开发流程
22.4.1开发家庭财务管理系统项目的流程开发家庭财务管3522.4.2根据E-R图创建数据库表E-R图中一共有两个实体和一个联系,因此,在本项目中就相应创建3个数据库表,如图所示。为数据库创建3个数据表
22.4.2根据E-R图创建数据库表E-R图中一共有两个3622.4.3功能研发的准备工作在实现系统的添加、修改和统计功能之前,需要做一些准备工作,使整个项目的数据库连接和访问等能顺利进行,并使界面可以达到预期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(陕) 034-2020 条码水准标尺校准规范
- 《教学课件急性胃炎》课件
- 初中数学解题方法-配方法课件
- 提升外部合作伙伴关系的管理措施计划
- 水资源保护与社区发展的融合计划
- 节水型城市的建设标准计划
- 长期项目跟进的秘书工作计划
- 带式压榨过滤机相关项目投资计划书
- 医疗仪器设备制造相关行业投资方案
- 智慧城市相关行业投资规划报告范本
- 带式输送机机械设计课程设计(带式输送机)
- 结核性脑膜炎护理查房课件
- 直播推广合作合同:2024年主播专属流量投放合同
- 2024年度幼儿园安全副园长思想工作总结
- 垃圾填埋场运行管理方案
- 电力工程起重吊装施工方案
- 2024年业务员薪酬管理制度(五篇)
- 【公开课】+纪念与象征-空间中的实体艺术+课件高中美术人美版(2019)美术鉴赏
- GB/T 44588-2024数据安全技术互联网平台及产品服务个人信息处理规则
- 大学生职业生涯规划成品
- 2024-2025学年度北师大版八年级上册物理期中模拟测试卷
评论
0/150
提交评论