家庭财务管理系统.doc_第1页
家庭财务管理系统.doc_第2页
家庭财务管理系统.doc_第3页
家庭财务管理系统.doc_第4页
家庭财务管理系统.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书课程设计名称: 数据库课程设计 课程设计题目: 家庭财务管理系统 学 院 名 称: 信息工程学院 专业: 计算机应用与技术 班级: 一、数据库需求分析:对于家庭财务管理系统而言,整个系统就是一个加工家庭财务管理。从用户的需求描述可知,管理员是数据的源点,普通用户是数据的终点。另外,管理员需要录入用户信息、理财信息和日常管理信息,说明用户信息、理财信息和日常管理信息是数据流;同样,统计请求和统计结果也是数据流。根据上述分析,得到如图所示的第1层DFD。根据第1层DFD图绘制下一层数据流图时,细化第1层的加工家庭财务管理,从而描述系统的主要功能。从第1层DFD得知,用户信息是管理员需要录入的一个信息,因此加入一个加工录入用户信息,同样得到录入理财项目信息、录入日常管理信息两个加工。另外,数据流统计报告请求和统计报告结果应该由加工统计报告来完成。这样,我们用录入用户信息、录入理财项目信息、录入日常管理信息和统计报告四个加工代替第1层的家庭财务管理,同时增加这些数据流对应的数据存储,即用户、理财和日常管理,最后得到如图所示的第2层DFD。继续进行分解,分析第2层DFD中的加工统计报告。用户统计报告时需要提供合法性检查,因此,统计报告可以分解为合法性检查和统计两个处理步骤,从而形成如图所示的第3层DFD。数据字典(一)、数据项1 数据项名:编号;数据类型:int;数据长度: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 数据项名:支出金额;数据类型: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 数据项名:借出日期;数据类型:datetime;数据长度:8;21 数据项名:开户银行;数据类型:nvarchar;数据长度:50;22 数据项名:开户日期;数据类型:datetime;数据长度:8;(二)、数据结构23 数据结构名:用户;组成:编号姓名备注;24 数据结构名:收入来源;组成:编号收入来源;25 数据结构名:支出类型;组成:编号支出类型;26数据结构名:日常收入;组成:编号收入日期收入人员收入来源收入金额备注;27数据结构名:日常支出组成:编号支出日期支出人员支出类型支出金额备注;28数据结构名:活期账户;组成:编号账户编号日期+经手人+存入金额+支出金额+备注;29数据结构名:定期账户;组成:编号账户编号日期+经手人+存入金额+支出金额+备注;30数据结构名:借入款;组成:编号+借入日期+预还日期+借入人+出借人+借入金额+备注;31数据结构名:借出款;组成:编号+借出日期+预还日期+出借人+借贷人+借出金额+备注;32数据结构名:活期银行账户;组成:编号+账号+账户类型+卡号+账户户主姓名+初始金额+余额+开户银行+开户日期;33数据结构名:定期银行账户;组成:编号+账号+账户类型+卡号+账户户主姓名+初始金额+余额+开户银行+开户日期;(三)、数据流34数据流名:家庭成员信息;数据流来源: 户主;数据流去向:家庭成员信息表35数据流名:收入信息;数据流来源:户主;数据流去向:家庭成员信息表36数据流名:支出信息;数据流来源:户主;数据流去向:家庭成员信息表37数据流名:统计报告请求;数据流来源:户主;数据流去向:统计报告38数据流名:统计报告结果;数据流来源:统计报告;数据流去向:户主家庭成员信息包括的数据项由:编号,姓名,备注。家庭成员收入来源信息,包括的数据项有:编号,收入来源。家庭成员支出类型信息,包括的数据项有:编号,支出类型。收入来源信息,包括的数据项有:编号,收入日期,收入人员,收入来源,收入金额,备注。支出类型信息,包括的数据项有:编号,支持日期,支出人员,支出类型,支出金额,备注。活期账户信息,包括的数据项有:编号,账户编号,日期,经手人,存入金额,支出金额,备注。定期账户信息,包括的数据项有:编号,账户编号,日期,经手人,存入金额,支出金额,备注。借入款信息,包括的数据项有:编号,借入日期,预还日期,借入人,出借人,借入金额,备注。借出款信息,包括的数据项有:编号,借出日期,预还日期,出借人,借贷人,借出金额,备注。活期银行账户信息,包括的数据项有:编号,账号,账户类型,卡号,账户户主姓名,初始金额,余额,开户银 行,开户日期。定期银行账户信息,包括的数据项有:编号,账号,账户类型,卡号,账户户主姓名,初始金额,余额,开户银行,开户日期。二、数据库概念结构设计数据库概念结构设计就是在以上数据项和数据结构的前提下,设计出满足用户需求的实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。概念模型最常用的描述方法是E-R图(“实体联系”图)描述法,E-R图主要有3个要素: 实体:实体是以矩形表示。实体就是数据库数据中具有实际意义的主体,如在前文分析的实体就是“消费人员”和“消费品”。 属性:属性用椭圆表示。就是实体所拥有的特性,如果是在面向对象程序设计中,可以将“实体”和“属性”对应为“对象”和“对象中的数据成员”的关系。 联系:联系用菱形表示。联系是实体与实体之间发生的动作、从属或其他依赖关系。 本软件规划出的实体有:用户信息实体,收入来源信息实体,支出类型信息实体,日常收入信息实体,日常支出信息实体,活期银行账户信息实体,定期银行账户信息实体。概念模型就是对信息世界的抽象建模,狭义的信息世界可以专指数据库中的数据,那么概念模型就可以理解为对数据库数据的抽象建模。 各个实体具体的描述E-R图如下: E-R总图 :三、数据库逻辑结构设计逻辑关系:家庭成员信息(编号,姓名,备注);家庭成员收入来源(编号, 收入来源)家庭成员支出类型(编号, 支出类型);活期银行账户(编号, 帐号, 账户类型, 卡号,账户户主姓名, 初始金额, 余额, 开户银行, 开户日期);定期银行账户(编号, 帐号, 账户类型, 卡号,账户户主姓名, 初始金额, 余额, 开户银行, 开户日期);日常收入信息(编号, 收入日期, 收入人员, 收入类型, 收入金额, 备注;日常支出信息(编号, 支出日期, 支出人员, 支出类型, 支出金额, 备注);活期账户信息(编号, 账户编号, 日期, 经手人, 存入金额 , 支出金额, 备注);定期账户信息(编号, 账户编号, 日期, 经手人, 存入金额 , 支出金额, 备注);借出款信息(编号, 借出日期, 预还日期, 出借人, 借贷人, 借出金额, 备注);借入款信息(编号, 借入日期, 预还日期, 借入人,出借人, 借入金额, 借入金额);根据以上的信息实体E-R图和逻辑关系,本小型家庭财务管理软件数据库中的各个表格的设计结构如下面的表: 表4-1 家庭成员表Family 字段名字段说明数据类型字段长度必填字段主键FamilyID编号int4是是FamilyName姓名nvarchar50是否FamilyPwd密码nvarchar50是否FamilyType权限int4是否FamilyBZ备注nvarchar50否否 表4-2 收入来源表IncomeType 字段名字段说明数据类型字段长度必填字段主键IncomeTypeID编号int4是是IncomeTypeType收入来源nvarchar50是否IncomeTypeDate收入日期nvarchar50是否IncomeTypeMember收入人员nvarchar50是否IncomeTypeSum收入金额int4是否IncomeBZ备注nvarchar50否否 表4-3 支出类型表OutputType字段名字段说明数据类型字段长度必填字段主键OutputTypeID编号int4是是OutputTypeType支出类型nvarchar50是否OutputTypeDate支出日期nvarchar50是否OutputTypeMember支出人员nvarchar50是否OutputTypeSum支出金额int4是否OutputBZ备注nvarchar50否否 表4-4 活期银行账户表LiveBank字段名字段说明数据类型字段长度必填字段主键LiveBankID编号int4是是LiveBankNo帐号nvarchar50是否LiveBankType账户类型nvarchar50是否LiveBankKa卡号nvarchar50是否LiveBankName账户户主姓名 nvarchar50是否LiveBankChu初始金额float8是否LiveBankYu余额float8是否LiveBankBank开户银行nvarchar50是否LiveBankDate开户日期datetime8是否表4-5 定期银行账户表FixBank字段名字段说明数据类型字段长度必填字段主键FixBankID编号int4是是FixBankNo帐号nvarchar50是否FixBankType账户类型nvarchar50是否FixBankKa卡号nvarchar50是否FixBankName账户户主姓名 nvarchar50是否FixBankChu初始金额float8是否FixBankYu余额float8是否FixBankBank开户银行nvarchar50是否FixBankDate开户日期datetime8是否 表4-6 日常收入表DailyIncome字段名字段说明数据类型字段长度必填字段主键DailyIncomeID 编号int4是是DailyIncomeDate收入日期datetime8是否DailyIncomeName收入人员int4是否DailyIncomeType收入来源int4是否DailyIncomeNum收入金额float16是否DailyIncomeBZ备注nvarchar50否否 表4-7 日常支出表DailyOutput字段名字段说明数据类型字段长度必填字段主键DailyOutputID 编号int4是是DailyOutputDate支出日期datetime8是否DailyOutputName支出人员int4是否DailyOutputType支出类型int4是否DailyOutputNum支出金额float8是否DailyOutputBZ备注nvarchar50否否表4-8 活期账户操作表LiveAction字段名字段说明数据类型字段长度必填字段主键LiveActionID编号int4是是LiveActionNo账户编号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是否FixActionCun存入金额float8是否FixActionQu支出金额float8是否FixActionBZ备注nvarchar50否否该表中,FixActionCun与FixActionQu的默认值设为0。表4-10 借出款LendMoney 字段名字段说明数据类型字段长度必填字段主键LendMoneyID编号int4是是LendMoneyDateOut借出日期datetime8是否LendMoneyDateIn预还日期datetime8是否LendMoneyNameOut出借人int4是否LendMoneyNameIn借贷人nvarchar50是否LendMoneyNum借出金额float8是否LendMoneyBZ备注nvarchar50否否 表4-11 借入款BorrowMoney字段名字段说明数据类型字段长度必填字段主键BorrowMoneyID编号int4是是BorrowMoneyDateOut借入日期datetime8是否BorrowMoneyDateIn预还日期datetime8是否BorrowMoneyNameOut借入人int4是否BorrowMoneyNameIn出借人nvarchar50是否BorrowMoneyNum借入金额float8是否BorrowMoneyBZ备注nvarchar50否否综合上述的E-R图和信息表,得到如下所示的数据库整体关系图: 数据库整体关系图四、系统功能设计 功能模块图:本系统主要的功能包括: 对家庭财务管理系统。对理财项目可以进行编辑。收入和支出管理包括成员日常收入来源和成员日常支出类型,活期银行账户和定期银行账户。相关信息分别存在“收入来源表”、“支出类型表”、“活期银行账户表”和“定期账户操作表”中,均可以实现添加、删除、修改功能。收入、支出管理,包括日常收入、日常支出,即记录下成员的日常收入、日常的支出。银行账户管理,包括活期银行账户和定期银行账户,即记录下对银行账户的存取款记录。债务管理,包括借入款和借出款,即记录下借出钱或借入钱的记录。收支统计,对以往债务可以进行查询和统计,同时实现了分类查询。1创建名为student的数据库。*/create database student2向student数据库里创建.11张表,表名分别为:家庭成员表family、收入来源表incometype、支出类型表outcometype、活期银行账户表livebank、定期银行账户表fixbank、日常收人表daiyincome、日常支出表daiyoutput、活期账户操作表liveaction、定期账户操作表fixaction、借出款lendmoney、借入 borrowmoney*/3创建一个带有查询语句的简单过程,该存储过程返回所有家庭成员的编号,姓名,备注。*/create proc stu_infoas 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,DailyIncomeNum,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 familyAFTER INSERTASINSERT INTO family VALUES(02,李晓莉,妻子)PRINT 数据插入成功 2CREATE TRIGGER delete_familyON familyAFTER INSERTASDELETE familyFROM familyWHERE familyID=02PRINT 数据删除成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论