财务管理系统.docx

上传人:b****7 文档编号:11214749 上传时间:2023-02-25 格式:DOCX 页数:23 大小:487.75KB
下载 相关 举报
财务管理系统.docx_第1页
第1页 / 共23页
财务管理系统.docx_第2页
第2页 / 共23页
财务管理系统.docx_第3页
第3页 / 共23页
财务管理系统.docx_第4页
第4页 / 共23页
财务管理系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

财务管理系统.docx

《财务管理系统.docx》由会员分享,可在线阅读,更多相关《财务管理系统.docx(23页珍藏版)》请在冰豆网上搜索。

财务管理系统.docx

财务管理系统

课程设计说明书

 

课程设计名称:

数据库课程设计

课程设计题目:

家庭财务管理系统

学院名称:

信息工程学院

专业:

计算机应用与技术班级:

 

一、数据库需求分析:

对于"家庭财务管理系统"而言,整个系统就是一个加工"家庭财务管理"。

从用户的需求描述可知,"管理员"是数据的源点,"普通用户"是数据的终点。

另外,管理员需要录入用户信息、理财信息和日常管理信息,说明"用户信息"、"理财信息"和"日常管理信息"是数据流;同样,"统计请求"和"统计结果"也是数据流。

根据上述分析,得到如图所示的第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

编号

int

4

FamilyName

姓名

nvarchar

50

FamilyPwd

密码

nvarchar

50

FamilyType

权限

int

4

FamilyBZ

备注

nvarchar

50

表4-2收入来源表IncomeType

字段名

字段说明

数据类型

字段长度

必填字段

主键

IncomeTypeID

编号

int

4

IncomeTypeType

收入来源

nvarchar

50

IncomeTypeDate

收入日期

nvarchar

50

IncomeTypeMember

收入人员

nvarchar

50

IncomeTypeSum

收入金额

int

4

IncomeBZ

备注

nvarchar

50

表4-3支出类型表OutputType

字段名

字段说明

数据类型

字段长度

必填字段

主键

OutputTypeID

编号

int

4

OutputTypeType

支出类型

nvarchar

50

OutputTypeDate

支出日期

nvarchar

50

OutputTypeMember

支出人员

nvarchar

50

OutputTypeSum

支出金额

int

4

OutputBZ

备注

nvarchar

50

表4-4活期银行账户表LiveBank

字段名

字段说明

数据类型

字段长度

必填字段

主键

LiveBankID

编号

int

4

LiveBankNo

帐号

nvarchar

50

LiveBankType

账户类型

nvarchar

50

LiveBankKa

卡号

nvarchar

50

LiveBankName

账户户主姓名

nvarchar

50

LiveBankChu

初始金额

float

8

LiveBankYu

余额

float

8

LiveBankBank

开户银行

nvarchar

50

LiveBankDate

开户日期

datetime

8

表4-5定期银行账户表FixBank

字段名

字段说明

数据类型

字段长度

必填字段

主键

FixBankID

编号

int

4

FixBankNo

帐号

nvarchar

50

FixBankType

账户类型

nvarchar

50

FixBankKa

卡号

nvarchar

50

FixBankName

账户户主姓名

nvarchar

50

FixBankChu

初始金额

float

8

FixBankYu

余额

float

8

FixBankBank

开户银行

nvarchar

50

FixBankDate

开户日期

datetime

8

表4-6日常收入表DailyIncome

字段名

字段说明

数据类型

字段长度

必填字段

主键

DailyIncomeID

编号

int

4

DailyIncomeDate

收入日期

datetime

8

DailyIncomeName

收入人员

int

4

DailyIncomeType

收入来源

int

4

DailyIncomeNum

收入金额

float

16

DailyIncomeBZ

备注

nvarchar

50

表4-7日常支出表DailyOutput

字段名

字段说明

数据类型

字段长度

必填字段

主键

DailyOutputID

编号

int

4

DailyOutputDate

支出日期

datetime

8

DailyOutputName

支出人员

int

4

DailyOutputType

支出类型

int

4

DailyOutputNum

支出金额

float

8

DailyOutputBZ

备注

nvarchar

50

表4-8活期账户操作表LiveAction

字段名

字段说明

数据类型

字段长度

必填字段

主键

LiveActionID

编号

int

4

LiveActionNo

账户编号

int

4

LiveActionDate

日期

datetime

8

LiveActionName

经手人

int

4

LiveActionCun

存入金额

float

8

LiveActionQu

支出金额

float

8

LiveActionBZ

备注

nvarchar

50

该表中,LiveActionCun与LiveActionQu的默认值设为0。

表4-9定期账户操作表FixAction

字段名

字段说明

数据类型

字段长度

必填字段

主键

FixActionID

编号

int

4

FixActionNo

账户编号

int

4

FixActionDate

日期

datetime

8

FixActionName

经手人

int

4

FixActionCun

存入金额

float

8

FixActionQu

支出金额

float

8

FixActionBZ

备注

nvarchar

50

该表中,FixActionCun与FixActionQu的默认值设为0。

表4-10借出款LendMoney

字段名

字段说明

数据类型

字段长度

必填字段

主键

LendMoneyID

编号

int

4

LendMoneyDateOut

借出日期

datetime

8

LendMoneyDateIn

预还日期

datetime

8

LendMoneyNameOut

出借人

int

4

LendMoneyNameIn

借贷人

nvarchar

50

LendMoneyNum

借出金额

float

8

LendMoneyBZ

备注

nvarchar

50

表4-11借入款BorrowMoney

字段名

字段说明

数据类型

字段长度

必填字段

主键

BorrowMoneyID

编号

int

4

BorrowMoneyDateOut

借入日期

datetime

8

BorrowMoneyDateIn

预还日期

datetime

8

BorrowMoneyNameOut

借入人

int

4

BorrowMoneyNameIn

出借人

nvarchar

50

BorrowMoneyNum

借入金额

float

8

BorrowMoneyBZ

备注

nvarchar

50

综合上述的E-R图和信息表,得到如下所示的数据库整体关系图:

数据库整体关系图

四、系统功能设计

功能模块图:

本系统主要的功能包括:

对家庭财务管理系统。

对理财项目可以进行编辑。

收入和支出管理包括成员日常收入来源和成员日常支出类型,活期银行账户和定期银行账户。

相关信息分别存在“收入来源表”、“支出类型表”、“活期银行账户表”和“定期账户操作表”中,均可以实现添加、删除、修改功能。

收入、支出管理,包括日常收入、日常支出,即记录下成员的日常收入、日常的支出。

银行账户管理,包括活期银行账户和定期银行账户,即记录下对银行账户的存取款记录。

债务管理,包括借入款和借出款,即记录下借出钱或借入钱的记录。

收支统计,对以往债务可以进行查询和统计,同时实现了分类查询。

1.创建名为student的数据库。

*/

createdatabasestudent

2.向student数据库里创建.11张表,表名分别为:

家庭成员表family、收入来源表incometype、支出类型表outcometype、活期银行账户表livebank、定期银行账户表fixbank、日常收人表daiyincome、日常支出表daiyoutput、活期账户操作表liveaction、定期账户操作表fixaction、借出款lendmoney、借入borrowmoney*/

3.创建一个带有查询语句的简单过程,该存储过程返回所有家庭成员的编号,姓名

,备注。

*/

createprocstu_info

asFamilyID,FamilyName,FamilyBZ

select

fromFamily

go

创建一个存储过程,该存储过程时,其参数值作为数据添加到DailyIncome中。

*/

createprocinsertdata

@param1int(4),

@param2datetime(8),

@param3int(4),

@param4int(4)

@param5float(16)

@param6nvarchar(50)

as

begin

insertintosc(DailyIncomeID,DailyIncomeDate,DailyIncomeName,DailyIncomeType,DailyIncomeNum,DailyIncomeBZ)

values(@param1,@param2,@param3,@param4,@param5,@param6)

end

go

创建存储过程usp_Select_Student,查询家庭成员的信息,

创建存储过程

createprocusp_select_student

@departnvarchar(50),

@avg_ageintoutput,

@max_ageintoutput

as

select*fromfamily

wherefamilyID=@depart

4.创建触发器

1.CREATETRIGGERinsert_family

ONfamily

AFTERINSERT

AS

INSERTINTOfamilyVALUES('02','李晓莉','妻子')

PRINT'数据插入成功'

2.CREATETRIGGERdelete_family

ONfamily

AFTERINSERT

AS

DELETEfamily

FROMfamily

WHEREfamilyID='02'

PRINT'数据删除成功'

3.CREATETRIGGERupdate_family

ONfamily

AFTERINSERT

AS

UPDATEfamily

SETfamilyID=familyID+10

WHEREfamilynamelike‘李晓莉’

4.CREATETRIGGERselect_family

ONfamily

AFTERINSERT

AS

SELECT*FROMfamily

 

五、结论

本家庭财务管理系统,主要使用于家庭对家庭成员资料的管理及对系统权限的管理、对理财项目的编辑和管理、对日常财务的管理、对银行账户的管理、对债务的管理、日常明细和收支的统计等等。

本家庭财务管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

本系统针对的人群结构为同一个家庭的不同成员,虽然如此仍然设置了权限控制,由于权限控制的实现,导致要将相关内容分割在几个表中,这样就造成了表之间字段的依赖。

该系统是面向小型家庭的,相对来说功能要求不多,因此总体的结构也比较简单,这样的优点是操作比较的简单、容易上手,很适合即学即用。

总之,现在的人门开始关注财务管理,只有在有条理的管理好家庭财务的前提下,才能过上更有质量的生活。

 

参考文献

1、王珊、萨师煊、《数据库系统概论》、高等教育出版社、2005年第4版

2、钱雪忠、陈国俊、《数据库原理及应用指导》、北京邮电大学出版社、2007年第二版

3、王长松、秦琴、余健、《数据库应用课程设计案例精编》、清华大学出版社、2009年版

4、路游、于玉宗、《数据库系统课程设计》、清华大学出版社、2009年版

5、余金山、冯星红、李肖.PowerBuilder数据开发高级实例[M].北京:

科学出版社.2005年版

6、黄浩、赵宏杰.PowerBuilder9.0精彩编程百例[M].中国水利水电出版社.2004年版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1