《财务管理系统(26页DOC).docx》由会员分享,可在线阅读,更多相关《财务管理系统(26页DOC).docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最新资料推荐 课程设计说明书课程设计名称: 数据库课程设计 课程设计题目: 家庭财务管理系统 学 院 名 称: 信息工程学院 专业: 计算机应用与技术 班级: 一、数据库需求分析:对于家庭财务管理系统而言,整个系统就是一个加工家庭财务管理。从用户的需求描述可知,管理员是数据的源点,普通用户是数据的终点。另外,管理员需要录入用户信息、理财信息和日常管理信息,说明用户信息、理财信息和日常管理信息是数据流;同样,统计请求和统计结果也是数据流。根据上述分析,得到如图所示的第1层DFD。根据第1层DFD图绘制下一层数据流图时,细化第1层的加工家庭财务管理,从而描述系统的主要功能。从第1层DFD得知,用户
2、信息是管理员需要录入的一个信息,因此加入一个加工录入用户信息,同样得到录入理财项目信息、录入日常管理信息两个加工。另外,数据流统计报告请求和统计报告结果应该由加工统计报告来完成。这样,我们用录入用户信息、录入理财项目信息、录入日常管理信息和统计报告四个加工代替第1层的家庭财务管理,同时增加这些数据流对应的数据存储,即用户、理财和日常管理,最后得到如图所示的第2层DFD。继续进行分解,分析第2层DFD中的加工统计报告。用户统计报告时需要提供合法性检查,因此,统计报告可以分解为合法性检查和统计两个处理步骤,从而形成如图所示的第3层DFD。数据字典(一)、数据项1 数据项名:编号;数据类型:int;
3、数据长度:4;2 数据项名:姓名;数据类型:nvarchar;数据长度:50;3 数据项名:备注;数据类型:nvarchar;数据长度:50;4 数据项名:收入来源;数据类型:nvarchar;数据长度:50;5 数据项名:支出类型;数据类型:nvarchar;数据长度:50;6 数据项名:收入日期;数据类型:datetime;数据长度:8;7 数据项名:收入人员;数据类型:int;数据长度:4;8 数据项名:收入金额;数据类型:float;数据长度:16;9 数据项名:支出日期;数据类型:datetime;数据长度:8;10. 数据项名:支出人员;数据类型:int;数据长度:4;11 数据项
4、名:支出金额;数据类型:float;数据长度:16;12 数据项名:账户编号;数据类型:int;数据长度:4;13 数据项名:日期;数据类型:datetime;数据长度:8;14 数据项名:经手人; 数据类型:nvarchar;数据长度:50;15 数据项名:存入金额;数据类型:float;数据长度:16;16 数据项名:支出金额;数据类型:float;数据长度:16;17 数据项名:初始金额;数据类型:float;数据长度:16;18 数据项名:余额;数据类型:float;数据长度:16;19 数据项名:预还日期;数据类型:datetime;数据长度:8;20 数据项名:借出日期;数据类型:
5、datetime;数据长度:8;21 数据项名:开户银行;数据类型:nvarchar;数据长度:50;22 数据项名:开户日期;数据类型:datetime;数据长度:8;(二)、数据结构23 数据结构名:用户;组成:编号姓名备注;24 数据结构名:收入来源;组成:编号收入来源;25 数据结构名:支出类型;组成:编号支出类型;26数据结构名:日常收入;组成:编号收入日期收入人员收入来源收入金额备注;27数据结构名:日常支出组成:编号支出日期支出人员支出类型支出金额备注;28数据结构名:活期账户;组成:编号账户编号日期+经手人+存入金额+支出金额+备注;29数据结构名:定期账户;组成:编号账户编号
6、日期+经手人+存入金额+支出金额+备注;30数据结构名:借入款;组成:编号+借入日期+预还日期+借入人+出借人+借入金额+备注;31数据结构名:借出款;组成:编号+借出日期+预还日期+出借人+借贷人+借出金额+备注;32数据结构名:活期银行账户;组成:编号+账号+账户类型+卡号+账户户主姓名+初始金额+余额+开户银行+开户日期;33数据结构名:定期银行账户;组成:编号+账号+账户类型+卡号+账户户主姓名+初始金额+余额+开户银行+开户日期;(三)、数据流34数据流名:家庭成员信息;数据流来源: 户主;数据流去向:家庭成员信息表35数据流名:收入信息;数据流来源:户主;数据流去向:家庭成员信息表
7、36数据流名:支出信息;数据流来源:户主;数据流去向:家庭成员信息表37数据流名:统计报告请求;数据流来源:户主;数据流去向:统计报告38数据流名:统计报告结果;数据流来源:统计报告;数据流去向:户主家庭成员信息包括的数据项由:编号,姓名,备注。家庭成员收入来源信息,包括的数据项有:编号,收入来源。家庭成员支出类型信息,包括的数据项有:编号,支出类型。收入来源信息,包括的数据项有:编号,收入日期,收入人员,收入来源,收入金额,备注。支出类型信息,包括的数据项有:编号,支持日期,支出人员,支出类型,支出金额,备注。活期账户信息,包括的数据项有:编号,账户编号,日期,经手人,存入金额,支出金额,备
8、注。定期账户信息,包括的数据项有:编号,账户编号,日期,经手人,存入金额,支出金额,备注。借入款信息,包括的数据项有:编号,借入日期,预还日期,借入人,出借人,借入金额,备注。借出款信息,包括的数据项有:编号,借出日期,预还日期,出借人,借贷人,借出金额,备注。活期银行账户信息,包括的数据项有:编号,账号,账户类型,卡号,账户户主姓名,初始金额,余额,开户银 行,开户日期。定期银行账户信息,包括的数据项有:编号,账号,账户类型,卡号,账户户主姓名,初始金额,余额,开户银行,开户日期。二、数据库概念结构设计数据库概念结构设计就是在以上数据项和数据结构的前提下,设计出满足用户需求的实体,以及它们之
9、间的关系,为后面的逻辑结构设计打下基础。概念模型最常用的描述方法是E-R图(“实体联系”图)描述法,E-R图主要有3个要素: 实体:实体是以矩形表示。实体就是数据库数据中具有实际意义的主体,如在前文分析的实体就是“消费人员”和“消费品”。 属性:属性用椭圆表示。就是实体所拥有的特性,如果是在面向对象程序设计中,可以将“实体”和“属性”对应为“对象”和“对象中的数据成员”的关系。 联系:联系用菱形表示。联系是实体与实体之间发生的动作、从属或其他依赖关系。 本软件规划出的实体有:用户信息实体,收入来源信息实体,支出类型信息实体,日常收入信息实体,日常支出信息实体,活期银行账户信息实体,定期银行账户
10、信息实体。概念模型就是对信息世界的抽象建模,狭义的信息世界可以专指数据库中的数据,那么概念模型就可以理解为对数据库数据的抽象建模。 各个实体具体的描述E-R图如下: E-R总图 :三、数据库逻辑结构设计逻辑关系:家庭成员信息(编号,姓名,备注);家庭成员收入来源(编号, 收入来源)家庭成员支出类型(编号, 支出类型);活期银行账户(编号, 帐号, 账户类型, 卡号,账户户主姓名, 初始金额, 余额, 开户银行, 开户日期);定期银行账户(编号, 帐号, 账户类型, 卡号,账户户主姓名, 初始金额, 余额, 开户银行, 开户日期);日常收入信息(编号, 收入日期, 收入人员, 收入类型, 收入金
11、额, 备注;日常支出信息(编号, 支出日期, 支出人员, 支出类型, 支出金额, 备注);活期账户信息(编号, 账户编号, 日期, 经手人, 存入金额 , 支出金额, 备注);定期账户信息(编号, 账户编号, 日期, 经手人, 存入金额 , 支出金额, 备注);借出款信息(编号, 借出日期, 预还日期, 出借人, 借贷人, 借出金额, 备注);借入款信息(编号, 借入日期, 预还日期, 借入人,出借人, 借入金额, 借入金额);根据以上的信息实体E-R图和逻辑关系,本小型家庭财务管理软件数据库中的各个表格的设计结构如下面的表: 表4-1 家庭成员表Family 字段名字段说明数据类型字段长度必
12、填字段主键FamilyID编号int4是是FamilyName姓名nvarchar50是否FamilyPwd密码nvarchar50是否FamilyType权限int4是否FamilyBZ备注nvarchar50否否 表4-2 收入来源表IncomeType 字段名字段说明数据类型字段长度必填字段主键IncomeTypeID编号int4是是IncomeTypeType收入来源nvarchar50是否IncomeTypeDate收入日期nvarchar50是否IncomeTypeMember收入人员nvarchar50是否IncomeTypeSum收入金额int4是否IncomeBZ备注nvar
13、char50否否 表4-3 支出类型表OutputType字段名字段说明数据类型字段长度必填字段主键OutputTypeID编号int4是是OutputTypeType支出类型nvarchar50是否OutputTypeDate支出日期nvarchar50是否OutputTypeMember支出人员nvarchar50是否OutputTypeSum支出金额int4是否OutputBZ备注nvarchar50否否 表4-4 活期银行账户表LiveBank字段名字段说明数据类型字段长度必填字段主键LiveBankID编号int4是是LiveBankNo帐号nvarchar50是否LiveBankT
14、ype账户类型nvarchar50是否LiveBankKa卡号nvarchar50是否LiveBankName账户户主姓名 nvarchar50是否LiveBankChu初始金额float8是否LiveBankYu余额float8是否LiveBankBank开户银行nvarchar50是否LiveBankDate开户日期datetime8是否表4-5 定期银行账户表FixBank字段名字段说明数据类型字段长度必填字段主键FixBankID编号int4是是FixBankNo帐号nvarchar50是否FixBankType账户类型nvarchar50是否FixBankKa卡号nvarchar50
15、是否FixBankName账户户主姓名 nvarchar50是否FixBankChu初始金额float8是否FixBankYu余额float8是否FixBankBank开户银行nvarchar50是否FixBankDate开户日期datetime8是否 表4-6 日常收入表DailyIncome字段名字段说明数据类型字段长度必填字段主键DailyIncomeID 编号int4是是DailyIncomeDate收入日期datetime8是否DailyIncomeName收入人员int4是否DailyIncomeType收入来源int4是否DailyIncomeNum收入金额float16是否Da
16、ilyIncomeBZ备注nvarchar50否否 表4-7 日常支出表DailyOutput字段名字段说明数据类型字段长度必填字段主键DailyOutputID 编号int4是是DailyOutputDate支出日期datetime8是否DailyOutputName支出人员int4是否DailyOutputType支出类型int4是否DailyOutputNum支出金额float8是否DailyOutputBZ备注nvarchar50否否表4-8 活期账户操作表LiveAction字段名字段说明数据类型字段长度必填字段主键LiveActionID编号int4是是LiveActionNo账户
17、编号int4是否LiveActionDate日期datetime8是否LiveActionName经手人int4是否LiveActionCun存入金额float8否否LiveActionQu支出金额float8否否LiveActionBZ备注nvarchar50否否该表中,LiveActionCun与LiveActionQu的默认值设为0。表4-9定期账户操作表FixAction字段名字段说明数据类型字段长度必填字段主键FixActionID编号int4是是FixActionNo账户编号int4是否FixActionDate日期datetime8是否FixActionName经手人int4是否
18、FixActionCun存入金额float8是否FixActionQu支出金额float8是否FixActionBZ备注nvarchar50否否该表中,FixActionCun与FixActionQu的默认值设为0。表4-10 借出款LendMoney 字段名字段说明数据类型字段长度必填字段主键LendMoneyID编号int4是是LendMoneyDateOut借出日期datetime8是否LendMoneyDateIn预还日期datetime8是否LendMoneyNameOut出借人int4是否LendMoneyNameIn借贷人nvarchar50是否LendMoneyNum借出金额f
19、loat8是否LendMoneyBZ备注nvarchar50否否 表4-11 借入款BorrowMoney字段名字段说明数据类型字段长度必填字段主键BorrowMoneyID编号int4是是BorrowMoneyDateOut借入日期datetime8是否BorrowMoneyDateIn预还日期datetime8是否BorrowMoneyNameOut借入人int4是否BorrowMoneyNameIn出借人nvarchar50是否BorrowMoneyNum借入金额float8是否BorrowMoneyBZ备注nvarchar50否否综合上述的E-R图和信息表,得到如下所示的数据库整体关系
20、图: 数据库整体关系图四、系统功能设计 功能模块图:本系统主要的功能包括: 对家庭财务管理系统。对理财项目可以进行编辑。收入和支出管理包括成员日常收入来源和成员日常支出类型,活期银行账户和定期银行账户。相关信息分别存在“收入来源表”、“支出类型表”、“活期银行账户表”和“定期账户操作表”中,均可以实现添加、删除、修改功能。收入、支出管理,包括日常收入、日常支出,即记录下成员的日常收入、日常的支出。银行账户管理,包括活期银行账户和定期银行账户,即记录下对银行账户的存取款记录。债务管理,包括借入款和借出款,即记录下借出钱或借入钱的记录。收支统计,对以往债务可以进行查询和统计,同时实现了分类查询。1
21、创建名为student的数据库。*/create database student2向student数据库里创建.11张表,表名分别为:家庭成员表family、收入来源表incometype、支出类型表outcometype、活期银行账户表livebank、定期银行账户表fixbank、日常收人表daiyincome、日常支出表daiyoutput、活期账户操作表liveaction、定期账户操作表fixaction、借出款lendmoney、借入 borrowmoney*/3创建一个带有查询语句的简单过程,该存储过程返回所有家庭成员的编号,姓名,备注。*/create proc stu_in
22、foas FamilyID,FamilyName,FamilyBZselect from Familygo创建一个存储过程,该存储过程时,其参数值作为数据添加到DailyIncome中。*/create proc insertdataparam1 int(4),param2 datetime(8),param3 int(4),param4 int(4)param5 float(16)param6 nvarchar(50)asbegin insert into sc(DailyIncomeID,DailyIncomeDate,DailyIncomeName,DailyIncomeType,Dai
23、lyIncomeNum,DailyIncomeBZ) values(param1,param2,param3,param4,param5,param6)endgo创建存储过程usp_Select_Student,查询家庭成员的信息,创建存储过程create proc usp_select_studentdepart nvarchar(50),avg_age int output,max_age int outputasselect * from familywhere familyID=depart4创建触发器1CREATE TRIGGER insert_familyON familyAFTE
24、R INSERTASINSERT INTO family VALUES(02,李晓莉,妻子)PRINT 数据插入成功 2CREATE TRIGGER delete_familyON familyAFTER INSERTASDELETE familyFROM familyWHERE familyID=02PRINT 数据删除成功 3CREATE TRIGGER update_ familyON familyAFTER INSERTASUPDATE familySET familyID=familyID+10WHERE familyname like 李晓莉4. CREATE TRIGGER se
25、lect_familyON familyAFTER INSERTASSELECT * FROM family五、结论本家庭财务管理系统,主要使用于家庭对家庭成员资料的管理及对系统权限的管理、对理财项目的编辑和管理、对日常财务的管理、对银行账户的管理、对债务的管理、日常明细和收支的统计等等。本家庭财务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系统针对的人群结构为同一个家庭的不同成员,虽然如此仍然设置了权限控制,由于权限控制的实现,导致要将相关内容分割在几个表中,这样就造成了表之间字段的依赖。该系统是面向小型家庭的,相对来说功能要
26、求不多,因此总体的结构也比较简单,这样的优点是操作比较的简单、容易上手,很适合即学即用。总之,现在的人门开始关注财务管理,只有在有条理的管理好家庭财务的前提下,才能过上更有质量的生活。参考文献1、王珊、萨师煊、数据库系统概论、高等教育出版社、2005年第4版2、钱雪忠、陈国俊、数据库原理及应用指导、北京邮电大学出版社、2007年第二版3、王长松、秦琴、余健、数据库应用课程设计案例精编、清华大学出版社、2009年版4、路游、于玉宗、数据库系统课程设计、清华大学出版社、2009年版5、余金山、冯星红、李肖.PowerBuilder数据开发高级实例M.北京:科学出版社.2005年版6、黄浩、赵宏杰.PowerBuilder 9.0精彩编程百例M.中国水利水电出版社.2004年版最新精品资料整理推荐,更新于二二年十二月二十七日2020年12月27日星期日11:10:02