财务管理系统数据库分析Word下载.docx
《财务管理系统数据库分析Word下载.docx》由会员分享,可在线阅读,更多相关《财务管理系统数据库分析Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
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
X
与jdid联合主键,外键,参照jr表、tzb表、zc表
Jj
Null
Jname
Varchar
20
Guihuantime
Datetime
Djtime
datetime
Denjiren
10
Remark
50
2)jr(借入)表结构设计
与zbid联合主键,外键,参照jc表
与jdid联合主键,外键,参照jc表、tzb表、zc表
Jiejintime
djtime
3)users(用户)表结构设计
uid
主键
uname
pwd
admin
bit
4)zb(账簿)表结构设计
zid
与uid联合主键,外键,参照jc表,jr表,tzb表
与zid联合主键,外键,参照user表
zbname
ztype
varchar
zbintro
Null
5)tzb(投资)表结构设计
zdid
与zbid联合主键,外键,参照jr表,zc表
与zdid联合主键,外键,参照zc表
yhz
zctime
yname
czm
int
lllv
dip
tzr
6)zc(支出)表结构设计
与zbid联合主键,外键,参照tzb表
与zdid联合主键,外键,参照jr表,tzb表,jc表
Sj
Sztype
Zj
Zjtype
Djp
Ditime
Djre
Lost
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
CREATETABLEtzb
zdidintIDENTITY(1,1)primarykey,
zbidintNULL,
yhzintNULL,
zctimedatetimeNULL,
ynamevarchar(20)NULL,
czmintNULL,
lllvintNULL,
djpvarchar(20)NULL,
tzrvarchar(20)NULL
CREATETABLEzc
zbidintNOTNULL,
sjintNULL,
sztypevarchar(20)NULL,
zjintNULL,
zjtypevarchar(20)NULL,
djrevarchar(50)NULL,
lostintNULL
Go
CREATETABLEjc
jdidintIDENTITY(1,1)primarykey,
zbidintNULL,
jjintNULL,
jnamevarchar(20)NULL,
guihuantimedatetimeNULL,
dengjirenvarchar(10)NULL,
remarkvarchar(50)NULL
CREATETABLEjr
JdidintIDENTITY(1,1)primarykey,
jiejintimedatetimeNULL,
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
Select*fromusers
(3)验证用户密码的储备过程:
Createprocselectj
(@namevarchar,
@pwdvarchar
as
select*fromuserswhereuname=@unameandpwd=@pwd
(4)删除用户表中的储备过程;
Createprocusersd
@uidint
Deleteuserswhereuid=@uid
(4)更新用户表中的储备过程:
Createprocusersup
(@uiduid,
@unamevarchar,
@adminvarhcar
Updateusersupsetuname=@uname,pwd=@pwd,admin=@adminwhereuid=@uid
2.在zb(账薄表)表中的储备过程:
(1)查询账薄表中的储备过程:
Createprocads
Select*fromzb
(2)依照条件选择查询的账薄表中的sql语句:
select*fromzbwhere‘’tjlike‘%zhi%’
(3)在账薄表中插入新的数据:
Createprocinzb
@uidint,
@zbnamevarchar,
@ztypevarchar,
@zbintrovarchar
Insertintozhvalues(@uid,@zbname,@ztype,@zbintro)
(4)在账薄表中删除旧的数据:
Createpoczbde
Deletezbwhereuid=@uid
(5)更新账薄表中的数据:
Createproczbup
@zbidint,
@uidint,
)
Updatezbsetuid=@uid,zbname=@zbname,ztype=@ztype,zbintro=@zbintrowherezbid=@zbid
3.在zc(日常消费表)表中的储备过程:
(1)在日常消费表中插入数据:
Createproczcin
@sjint,
@sztypevarchar,
@zjint,
@zjtypevarchar,
@djpvarhcar,
@ditimevarcahr,
@djrevarchar
@lostint
Insertintozcvalues(@zbid,@sj,@sztype,@zj,@zjtype,@djp,@ditime,@djre,@lost)
(2)日常消费表的的查询:
Createproczcsl
Select*fromzc
(3)日常消费表的条件查询:
Select*fromwhere‘tj’like‘%zhi%’
(4)日常消费表的删除:
Createproczcde
@zdidint
As
Deletezcwherezdid=@zdid
(5)日常消费表的更新数据:
Createproczcupdate
@Zdidint,
@zbidint,
@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
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
Deletetzbwherezdid=@zdid
(5).银行储备表中的更新数据:
Createproctzbupdate
@Zdid,
UpdatetzbsetZbid=@Zdid,Yhz=@Yhz,Zctime=@Zctime,Yname=@Yname,Czm=@Czm,Lllv=@Lllv,Djp=@Djp,tzr=@tzr
6.在jc(借出表)表中的储备过程:
(1)增加支出的储备过程:
createprocaddjc
(@jdidint,
@jjint,
@jnamevarchar(20),
@guihuantimedatetime,
@djtimedateetime,
@denjirenvarchar(10),
@remarkvarchar(50)
Insertintojcvakues(@jdid,@zbid,@jj,@jname,@guihuantime,@djtime,@dengjiren,@remark)
(2)删除借出记录的储备过程
createprocdeletejc
@jdidint
Deletefromjcwherejdid=@jdid
(3)查询借出记录
createprocselectjc
@jdidint,
Select*fromjcwherejdid=@jdid
(4)更新借出记录
createprocupdatetjc
Updatejcset
zbid=@zbid,
jj=@jj,
jname=@jname,
guihuantime=@guihuantime,
djtime=@djtime,
denjiren=@denjiren,
remark=@remark
wherejdid=@jdid,
5.在jr(借入表)表中的储备过程:
(1).增加借入记录的储备过程
Createprocaddjr
@zbidint,
@jjint,
@jiejintimedatetime,
@djtimedatetime,
Insertintojrvalues(@jdid,@zbid,@jj,@jname,@jiejintime,@djtime,@denjiren,@remark)
(2).删除借入记录的储备过程
Createprocdeletejr
Deletefromjrwherejdid=@jdid
(3).更新借入记录的储备过程
Createprocupdatejr
@remarkvarchar(50)
Updatejrset
Zbid=@zbid,
Jj=@jj,
Jname=@jname,
Jiejintime=@jiejintime,
Djtime=@djtime,
Denjiren=@denjiren,
Remark=@remark
Wherejdid=@jdid
(4).查询借入记录的储备过程
Createprocselectjr
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期。