课程设计说明书课程设计名称:数据库课程设计课程设计题目:家庭财务管理系统学院名称:信息工程学院专业:计算机应用与技术班级:一、数据库需求分析:对于"家庭财务管理系统"而言,整个系统就是一个加工"家庭财务管理"。从用户的需求描述可知,"管理员"是数据的源点,"普通用户"是数据的终点。另外,管理员需要录入用户信息、理财信息和日常管理信息,说明"用户信息"、"理财信息"和"日常管理信息"是数据流;同样,"统计请求"和"统计结果"也是数据流。根据上述分析,得到如图所示的第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数据流名:支出信息;数...