数据库源代码家庭财务管理系统sqlr2.docx
- 文档编号:27650474
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:15
- 大小:476.44KB
数据库源代码家庭财务管理系统sqlr2.docx
《数据库源代码家庭财务管理系统sqlr2.docx》由会员分享,可在线阅读,更多相关《数据库源代码家庭财务管理系统sqlr2.docx(15页珍藏版)》请在冰豆网上搜索。
数据库源代码家庭财务管理系统sqlr2
课程设计报告
课程设计题目:
家庭财务管理系统
专业:
信息工程
班级:
13
学号:
2014
学生XX:
指导教师:
一、需求分析
a〕背景分析
近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要容。
社会学家细心的观察到,时下家庭的财务管理比之方案经济年代,开场发生微妙的变化。
现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。
大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。
为此,不少家庭就有中长期财务预算,有根本建立规划。
总的来说,家庭收入必须以量入为出为原那么,以财产保值增值为目标,处理好积累与消费的关系。
因此,开发一个家庭财务管理系统具有很强的实用性,能够到达对家庭财务合理有效的管理。
b〕功能分析
据功能分析图得出需要设计的表:
〔1〕用户根本信息:
用户编号,用户XX,性别,出生日期,职业;
〔2〕收入根本信息:
用户编号,用户XX,记录日期,收入类型,收入金额,备注;
〔3〕支出根本信息:
用户编号,用户XX,记录日期,支出类型,支出金额,备注。
二、数据库设计与实施
a〕流程图
b〕数据字典
数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
利用SQLServer2008建立“FcManage〞数据库,其根本表清单及表构造描述如下:
数据库中用到的表:
数据库表名
关系模式名称
备注
YHB
用户表
用户信息表
SR
收入表
收入信息表
ZC
支出表
支出信息表
YHB根本情况数据表,构造如下:
字段名
字段类型
NotNull
说明
ID
Char
Primarykey,NotNull
用户编号
Name
char
NotNull
用户XX
Sex
char
NotNull
性别
bithdate
char
NotNull
出生日期
zhy
char
NotNull
职业
SR数据表,构造如下:
字段名
字段类型
约束控制
说明
ID
Char
NotNull
用户编号
Name
char
NotNull
用户XX
b_Date
char
notnull
时间
Type
char
null
收入类型
Amount
money
null
收入金额
ment
char
null
备注
ZC情况数据表,构造如下:
字段名
字段类型
约束控制
说明
ID
char
NotNull
用户编号
Name
char
NotNull
用户XX
b_Date
char
notnull
时间
Type
char
null
支出类型
Amount
money
null
支出金额
ment
char
null
备注
c〕ER图
d〕创立数据库及相关
sql代码如下
1.数据库
CREATEDATABASEFcManage
ON
PRIMARY
(
NAME=FcManage_DATA,
FILENAME='D:
\FcManage_DATA.mdf',
size=10MB,
MAXSIZE=50MB,
FILEGROWTH=5
)
LOGON
(
NAME=FcManage_log,
FILENAME='D:
\FcManage_log.ldf',
size=5MB,
MAXSIZE=25MB,
FILEGROWTH=5
)
2.表
useFcManage
go
createtableSR
(
IDnchar(20)notnull,
Namenchar(15)notnull,
b_Datenchar(15)notnull,
Typenchar(15)null,
Amountmoneynull,
mentnchar(50)null
)
createtableYHB
(
IDnchar(20)notnull,
Namenchar(15)notnull,
Sexnchar
(2)null,
birthdaymoneynull,
zhynchar(10)null
)
createtableZC
(
IDnchar(20)notnull,
Namenchar(15)notnull,
b_Datenchar(15)notnull,
Typenchar(15)null,
Amountmoneynull,
mentnchar(50)null
)
3.视图
useFcManage
go
createviewzzc
as
selectSUM(Amount)as'总支出'
fromZC,YHB
WHEREYHB.ID=ZC.ID
useFcManage
go
createviewzsr
as
selectSUM(Amount)as'总收入'
fromSR,YHB
WHEREYHB.ID=SR.ID
useFcManage
go
createviewYE
as
select总收入-总支出as'余额'
fromzzc,zsr
useFcManage
go
createviewYHSR
as
selectYHB.ID,YHB.Name,SR.b_Date,SR.Type,SR.Amount,SR.ment
fromYHB,SR
WHEREYHB.ID=SR.ID
useFcManage
go
createviewYHZC
as
selectYHB.ID,YHB.Name,ZC.b_Date,ZC.Type,ZC.Amount,ZC.ment
fromYHB,ZC
WHEREYHB.ID=ZC.ID
4.索引
UseFcManage
go
createindexaa
onSR(b_Date)
UseFcManage
go
createindexbb
onZC(b_Date)
5.存储
UseFcManage
go
createproceduregetSRdata
(IDnchar(20),
Namenchar(15),
b_Datenchar(15),
Typenchar(15),
Amountmoney,
mentnchar(50)=’无’
)
AS
InsertintoSRvalues(ID,Name,b_Date,Type,Amount,ment)
createproceduregetZCdata
(IDnchar(20),
Namenchar(15),
b_Datenchar(15),
Typenchar(15),
Amountmoney,
mentnchar(50)=’无’
)
AS
InsertintoZCvalues(ID,Name,b_Date,Type,Amount,ment)
createproceduregetYHBdata
(IDnchar(20),
Namenchar(15),
Sexnchar
(2),
birthdaymoney,
zhynchar(10)=’无’
)
AS
InsertintoYHBvalues(ID,Name,Sex,birthday,zhy)
CREATEPROCEDUREdeleteYHBdata
(IDnchar(20)
)
As
DeletefromYHBwhereID=ID
6.触发器
保证在SR表中添加新数据时,YHB表中存在该ID
createtriggerwheninsertSRdata
onSR
afterinsert
as
ifexists
(select*frominsertedwhereIDin(selectIDfromYHB)
)
Print‘添加成功!
’
Else
Begin
Print‘用户表中没有该成员的根本信息,拒绝插入!
’
Rollbacktransaction
End
保证在ZC表中添加新数据时,YHB表中存在该ID
createtriggerwheninsertZCdata
onZC
afterinsert
as
ifexists
(select*frominsertedwhereIDin(selectIDfromYHB)
)
Print‘添加成功!
’
Else
Begin
Print‘用户表中没有该成员的根本信息,拒绝插入!
’
Rollbacktransaction
End
删除YHB中数据时,SR表中对应数据也被删除
createtriggerwhendeleteYHBdataSR
onYHB
afterdelete
as
deletefromID
whereSR.ID
in(selectIDfromdeleted)
删除YHB中数据时,ZC表中对应数据也被删除
createtriggerwhendeleteYHBdataZC
onYHB
afterdelete
as
deletefromID
whereZC.ID
in(selectIDfromdeleted)
7.备份
BackupDatabaseFcManage
Todisk='d:
FcManage_full.bak'
BackupLogFcManage
Todisk='d:
FcManage_Log.bak'
三、总结
通过本次课程设计发现这其中需要的一些知识都是我们没有接触过的,去图书馆查资料的时候才发现我们前面所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。
同时也发现很多已经学过的东西我们没有理解到位,不能灵活运用与实际,不能很好的用来解决问题,这就需要我们不断的大量实践,通过不断的自学,不断的发现问题,思考问题,进而解决问题。
在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
很多东西都没有那么简单,尤其是看起来简单的东西往往越麻烦,我们能做到的就是好好设计细心操作,因为在程序开发过程中,往往已经设计好的程序得到结果不是自己想要的,只好抛弃从头开场,也有是因为自己敲错了一个代码,导致程序出现问题,反反复复修改半天才发现原来就是那么一定小毛病,而就是这点小毛病花费了自己半天时间。
所以在程序开发的时候,我们要做的是好好的规划,根据需求一步步设计好程序,按照自己的设计来开发程序,同时在程序开发过程中要注重细心,稳重,出现错误也不要慌,认认真真的该,错误总会有消除的时候,不是有句话说好的软件都是一步一步修改出来的吗?
一周时间很快就过去了,本次数据库课程设计也快完毕了,我们也有了各自的劳动成果,我们不仅仅是有自己的设计成果,还提高了本分设计能力。
同时也有局部缺乏,在以后的学习生活中一步步将这些缺乏解决掉。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 源代码 家庭 财务管理 系统 sqlr2