财务管理系统数据库分析.docx

上传人:b****5 文档编号:4097939 上传时间:2022-11-27 格式:DOCX 页数:25 大小:203.97KB
下载 相关 举报
财务管理系统数据库分析.docx_第1页
第1页 / 共25页
财务管理系统数据库分析.docx_第2页
第2页 / 共25页
财务管理系统数据库分析.docx_第3页
第3页 / 共25页
财务管理系统数据库分析.docx_第4页
第4页 / 共25页
财务管理系统数据库分析.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

财务管理系统数据库分析.docx

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

财务管理系统数据库分析.docx

财务管理系统数据库分析

数据库技术课程设计

题目:

财务管理系统

姓名:

冯燕

学号:

33

班级:

网络1002

时间:

2011年6月31日

财务管理系统

摘要:

财务管理系统是利用互联网的管理系统。

家庭和个人的用户使用此软件,可以方便的进行个人理财,投资管理。

财务管理系统从生活实际出发,充分考虑到个人,家庭需要,秉承高效、实用、人性化的设计理念,财务系统通过对用户财务的管理,让用户可以轻松进行对财务的记录、查询、修改、删除和有效的分析财务的收支状况,用户可以将自己的每一笔收入和支出输入到数据库中。

达到了对财务的透明、管理的重要要求。

让本系统实现了对财务的有效管理。

关键词:

财务、分析、管理、查询、美工。

1.需求分析

本文主要介绍了财务管理系统的设计与实现。

财务管理系统是一个基于网络的信息管理系统,它具有操作简单、成本低廉、效率高等优点,而且没有区域限制。

1.1财务管理系统的功能分析

通过对财务内容的分析和查阅会计资料基本知识理解,一个标准的财务系统应该具备以下功能:

1)可以进行对用户的基本资料管理。

2)可以在管理员的权限下进行对用户的管理。

3)可以进行用户凭证管理。

(用户权限)

4)可以进行账簿管理。

5)可以进行财务的收支管理。

6)可以进行工资的管理。

7)可以进行财务的分析管理。

8)可以进行系统管理。

(升级与维护)

1.2财务管理系统的功能图

根据以上需求分析,财务管理系统功能如图1-1所示。

2.概念结构设计

1)用户实体及属性E-R图:

如图2-1

2-1

2)账簿实体及属性E-R图:

如图2-2所示

2-2

3)支出实体及属性E-R图:

如图2-3所示

2-3

4)借出实体及属性E-R图:

如图2-4所示

2-4

5)投资实体及属性E-R图:

如图2-5所示

6)借入实体及属性E-R图:

如图2-6所示

2-6

7)个人财务管理系统E-R图(各实体属性略去),如图2-7:

3.逻辑结构设计:

对个人财务管理系统E-R图分析,结合各实体属性E-R图,考虑…,本系统的逻辑关系结构…。

(说明:

“#”表示主键,下划线表示外键)

(1).用户表的逻辑关系模式:

Users(uid#,uname,pwd,admin)

(2)账簿表中的逻辑关系模式:

Zb(zdid#,uid,zbname,ztype,,zbintro)

(3)支出表的逻辑关系:

Zc(zdid#,zbid,sj,sztype,zj,zjtype,djp,ditime,djre,lost)

(4)投资表中的逻辑关系:

Tzb(Zdid#,Zbid,Yhz,Zctime,Yname,Czm,Lllv,Djp,tzr)

(5)借出表中的逻辑关系:

Jc(jdid#,zbid,jj,jname,guihuantime,djtime,dengjiren,remark)

(6)借入表中的逻辑关系:

Jr(jdid#,zbid,jj,jname,jiejintime,djtime,denjiren,remark)

4.数据库设计

数据库管理系统选用SQLServer2005,根据财务管理系统的功能及逻辑关系模式分析,建立相关联的表和视图,每张表通过外键连接,建立联系,还有增、删、改、更新表的存储过程,以便能方便的调用数据库中的数据,满足客户的需求。

4.1数据库和各表的创建

4.1.1数据表结构设计

1)jc(借出)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

Jdid

Int

x

与zbid联合主键,外键,参照jr表

Zbid

Int

X

与jdid联合主键,外键,参照jr表、tzb表、zc表

Jj

Int

Null

Jname

Varchar

20

Null

Guihuantime

Datetime

Null

Djtime

datetime

Null

Denjiren

Varchar

10

Null

Remark

Varchar

50

Null

2)jr(借入)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

Jdid

Int

X

与zbid联合主键,外键,参照jc表

Zbid

Int

X

与jdid联合主键,外键,参照jc表、tzb表、zc表

Jj

Int

Null

Jname

Varchar

20

Null

Jiejintime

Datetime

Null

djtime

datetime

Null

Denjiren

Varchar

10

Null

Remark

Varchar

50

X

Null

3)users(用户)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

uid

Int

X

主键

uname

Varchar

10

Null

pwd

Varchar

20

Null

admin

bit

Null

4)zb(账簿)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

zid

Int

X

与uid联合主键,外键,参照jc表,jr表,tzb表

uid

Int

X

与zid联合主键,外键,参照user表

zbname

Varchar

20

Null

ztype

varchar

20

Null

zbintro

varchar

20

Null

5)tzb(投资)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

zdid

Int

x

与zbid联合主键,外键,参照jr表,zc表

Zbid

Int

X

与zdid联合主键,外键,参照zc表

yhz

Int

Null

zctime

datetime

20

Null

yname

varchar

Null

czm

int

Null

lllv

int

int

Null

dip

Varchar

20

Null

tzr

varchar

20

Null

6)zc(支出)表结构设计

列名

数据类型

长度及精度

是否允许空值

说明

zdid

Int

x

与zbid联合主键,外键,参照tzb表

Zbid

Int

X

与zdid联合主键,外键,参照jr表,tzb表,jc表

Sj

Int

Null

Sztype

Varchar

20

Null

Zj

Int

Null

Zjtype

Varchar

20

Null

Djp

Varchar

20

Null

Ditime

Varchar

50

Null

Djre

varchar

50

Null

Lost

Int

Null

4.1.2创建数据表SQL脚本

CREATETABLEusers

uidintIDENTITY(1,1)primarykey,

unamevarchar(10)NOTNULL,

pwdvarchar(20)NOTNULL,

admibitNULL

go

CREATETABLEzb

zidintIDENTITY(1,1)primarykey,

uidintNULL,

zbnamevarchar(20)NULL,

ztypevarchar(20)NULL,

zbintrovarchar(20)NULL

go

CREATETABLEtzb

zdidintIDENTITY(1,1)primarykey,

zbidintNULL,

yhzintNULL,

zctimedatetimeNULL,

ynamevarchar(20)NULL,

czmintNULL,

lllvintNULL,

djpvarchar(20)NULL,

tzrvarchar(20)NULL

go

CREATETABLEzc

zdidintIDENTITY(1,1)primarykey,

zbidintNOTNULL,

sjintNULL,

sztypevarchar(20)NULL,

zjintNULL,

zjtypevarchar(20)NULL,

djpvarchar(20)NULL,

djrevarchar(50)NULL,

lostintNULL

Go

CREATETABLEjc

jdidintIDENTITY(1,1)primarykey,

zbidintNULL,

jjintNULL,

jnamevarchar(20)NULL,

guihuantimedatetimeNULL,

dengjirenvarchar(10)NULL,

remarkvarchar(50)NULL

Go

CREATETABLEjr

JdidintIDENTITY(1,1)primarykey,

zbidintNULL,

jjintNULL,

jnamevarchar(20)NULL,

jiejintimedatetimeNULL,

dengjirenvarchar(10)NULL,

remarkvarchar(50)NULL

Go

4.1.3数据表快照

上述脚本形成的表在SQLServer2005,如下图所示:

4-1-3-01借出表快照

4-1-3-02用户表快照

4-1-3-03投资表快照

4-1-3-04帐薄表快照

4-1-3-05借出表快照

4-1-3-06借入表快照

各表间的关系如图:

4.2系统功能的实现:

如果想要实现财务系统里面的功能就必须建一些存储过程,这些存储过程的代码是实现如下:

1.首先在users(用户表)表中的存储过程:

(1).增加用户的存储过程:

Createprocusersadd

@unamevarchar,

@pwdvarchar,

@adminvarchar

As

Insertintousersvalues(@uname,@pwd,@admin)

(2)查询用户的存储过程:

Createprocuserss

As

Select*fromusers

(3)验证用户密码的存储过程:

Createprocselectj

(@namevarchar,

@pwdvarchar

as

select*fromuserswhereuname=@unameandpwd=@pwd

(4)删除用户表中的存储过程;

Createprocusersd

@uidint

Deleteuserswhereuid=@uid

(4)更新用户表中的存储过程:

Createprocusersup

(@uiduid,

@unamevarchar,

@pwdvarchar,

@adminvarhcar

Updateusersupsetuname=@uname,pwd=@pwd,admin=@adminwhereuid=@uid

2.在zb(账薄表)表中的存储过程:

(1)查询账薄表中的存储过程:

Createprocads

As

Select*fromzb

(2)根据条件选择查询的账薄表中的sql语句:

select*fromzbwhere‘’tjlike‘%zhi%’

(3)在账薄表中插入新的数据:

Createprocinzb

@uidint,

@zbnamevarchar,

@ztypevarchar,

@zbintrovarchar

As

Insertintozhvalues(@uid,@zbname,@ztype,@zbintro)

(4)在账薄表中删除旧的数据:

Createpoczbde

@uidint

Deletezbwhereuid=@uid

(5)更新账薄表中的数据:

Createproczbup

@zbidint,

@uidint,

@zbnamevarchar,

@ztypevarchar,

@zbintrovarchar

Updatezbsetuid=@uid,zbname=@zbname,ztype=@ztype,zbintro=@zbintrowherezbid=@zbid

3.在zc(日常消费表)表中的存储过程:

(1)在日常消费表中插入数据:

Createproczcin

@zbidint,

@sjint,

@sztypevarchar,

@zjint,

@zjtypevarchar,

@djpvarhcar,

@ditimevarcahr,

@djrevarchar

@lostint

Insertintozcvalues(@zbid,@sj,@sztype,@zj,@zjtype,@djp,@ditime,@djre,@lost)

(2)日常消费表的的查询:

Createproczcsl

As

Select*fromzc

(3)日常消费表的条件查询:

Select*fromwhere‘tj’like‘%zhi%’

(4)日常消费表的删除:

Createproczcde

@zdidint

As

Deletezcwherezdid=@zdid

(5)日常消费表的更新数据:

Createproczcupdate

@Zdidint,

@zbidint,

@sjint,

@sztypevarchar,

@zjint,

@zjtypevarchar,

@djpvarhcar,

@ditimevarchar,

@djrevarchar,

@lostint

Updatezcsetzbi@zbid,sj=@sj,sztype=@sztype,zj=@zj,zjtype=@zjtype,djp=@djp,ditime=@ditime,djre=@djre,lost=@lostwherezdid=@zdid

4.在tzb(银行储存表)表中的存储过程:

(1)银行存储表中的查询:

Createproctzbsel

As

Select*fromtzb;

(2)银行存储表中的条件查询:

Select*fromtzbwhere‘tj’like‘%zhi%’

(3)银行存储表中的插入数据:

Createproctzbin

@Zbid,

@Yhz,

@Zctime,

@Yname,

@Czm,

@Lllv,

@Djp,

@tzr

Insertintotzbvalues(@Zbid,@Yhz,@Zctime,@Yname,@Czm,@Lllv,@Djp,@tzr)

(4)银行存储表中删除数据:

Createproctzbd

@zdidint

Deletetzbwherezdid=@zdid

(5).银行存储表中的更新数据:

Createproctzbupdate

@Zdid,

@Zbid,

@Yhz,

@Zctime,

@Yname,

@Czm,

@Lllv,

@Djp,

@tzr

UpdatetzbsetZbid=@Zdid,Yhz=@Yhz,Zctime=@Zctime,Yname=@Yname,Czm=@Czm,Lllv=@Lllv,Djp=@Djp,tzr=@tzr

6.在jc(借出表)表中的存储过程:

(1)增加支出的存储过程:

createprocaddjc

(@jdidint,

@zbidint,

@jjint,

@jnamevarchar(20),

@guihuantimedatetime,

@djtimedateetime,

@denjirenvarchar(10),

@remarkvarchar(50)

As

Insertintojcvakues(@jdid,@zbid,@jj,@jname,@guihuantime,@djtime,@dengjiren,@remark)

(2)删除借出记录的存储过程

createprocdeletejc

@jdidint

As

Deletefromjcwherejdid=@jdid

(3)查询借出记录

createprocselectjc

@jdidint,

As

Select*fromjcwherejdid=@jdid

(4)更新借出记录

createprocupdatetjc

(@jdidint,

@zbidint,

@jjint,

@jnamevarchar(20),

@guihuantimedatetime,

@djtimedateetime,

@denjirenvarchar(10),

@remarkvarchar(50)

As

Updatejcset

zbid=@zbid,

jj=@jj,

jname=@jname,

guihuantime=@guihuantime,

djtime=@djtime,

denjiren=@denjiren,

remark=@remark

wherejdid=@jdid,

5.在jr(借入表)表中的存储过程:

(1).增加借入记录的存储过程

Createprocaddjr

@jdidint,

@zbidint,

@jjint,

@jnamevarchar(20),

@jiejintimedatetime,

@djtimedatetime,

@denjirenvarchar(10),

@remarkvarchar(50)

Insertintojrvalues(@jdid,@zbid,@jj,@jname,@jiejintime,@djtime,@denjiren,@remark)

(2).删除借入记录的存储过程

Createprocdeletejr

@jdidint

As

Deletefromjrwherejdid=@jdid

(3).更新借入记录的存储过程

Createprocupdatejr

@jdidint,

@zbidint,

@jjint,

@jnamevarchar(20),

@jiejintimedatetime,

@djtimedatetime,

@denjirenvarchar(10),

@remarkvarchar(50)

Updatejrset

Zbid=@zbid,

Jj=@jj,

Jname=@jname,

Jiejintime=@jiejintime,

Djtime=@djtime,

Denjiren=@denjiren,

Remark=@remark

Wherejdid=@jdid

(4).查询借入记录的存储过程

Createprocselectjr

@jdidint

As

Select*fromjrwherejdid=@jdid

5.设计总结

这次的数据库课程设计可以说是为我们这一学期的数据库学习的一次练兵。

看起来很简单的财务管理系统的设计做起来真的是困难重重。

做这个系统的初衷是因为财务管理系统对于任何一家企业、公司和单位甚至个人的发展都是不可缺少的,企业的生存和发展很大程度上依赖于财务活动所涉及的不同利益主体之间的协调、平衡。

而企业管理目标就是企业价值最大化,加强企业财务管理的各环节的实施有助于正确地制定理财策略。

而我们这个设计主要是针对主要是小资产阶级的财务个人管理。

经过这次的数据库设计,我们深刻的领会到做一个简单的系统,里面有很多知识我们都没怎么接触过,去图书馆查阅资料时,我们发现现阶段我们很多知识学的仅仅是皮毛,还有很多需要我们去挖掘,就算看完一本书,我们还是会发现很多知识没有吃透,还是需要我们不断地去实践,去努力学习,去发现问题继而思考解决问题。

经过一段时间的学习与实践,我们的系统在同学还有老师的帮助中,成功的完成了。

在这些日子当中,我们学习到了很多书本上没有的知识,也使我们这个团队更加的有凝聚力。

这个财务管理系统具备了1.登记日常的流水账2.管理个人用户的日常借贷3.管理个人在银行的存储或贷款4,实现对个人账务的报表分析等功能。

经过大家的总结发现在这个系统中还需要一些完善的地方1业务最后的逻辑分析不是很到位;2功能模块的实现不是很完整;3还有自己在技术上的掌握不是很牢固。

经过这次的数据库设计,我们得到一个结论,人如果没有自信,没有目标,没有信心就不能把事情做好。

在困难面前勇于尝试,这是这次设计给我们的最大感想。

6.参考文献

[1]何勇、郑文钟:

《财务管理信息系统的原理方法及应用》,浙江大学出版社,2005年第1版,第21-79页。

[2](美)本-甘,(美)萨卡,(美)沃尔特著,赵立东译,电子工业出版社,《MicrosoftSQLServer2005技术内幕:

T-SQL程序设计》,2007年8月第1版。

[3]徐绪松:

《财务信息系统原理》,科学出版社,2006年第1版,第200-272页。

[4]朱志强:

《财务管理信息系统——原理、开发及应用》,复旦大学出版社,2007年第1版,第109-194页。

[5]甘容、李明东:

“财务管理信息系统——个人工资信息查询模块的实现”,《甘肃科技》,2007年第03期。

温馨提示:

最好仔细阅读后才下载使用,万分感谢!

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

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

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

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