秋石大远程数据库课程设计Word文档格式.docx
- 文档编号:13190602
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:11
- 大小:189.61KB
秋石大远程数据库课程设计Word文档格式.docx
《秋石大远程数据库课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《秋石大远程数据库课程设计Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
1.系统功能需求分析
本系统是针对用户要求,使用计算机对自己日常的资金和物品的收入、支出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计和以文档形式输出的操作而设计的一种现代化个人财务管理软件。
经过分析,本系统需要具有以下功能:
(1)、能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。
(2)、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
(3)、能够实现按日期查询以及对库存数据进行按月统计和以文本形式输出。
(4)、拥有良好的人机交互界面。
1.1系统业务需求
本系统具有以下几个功能模块:
用户登录模块、系统管理模块、现金管理模块、物品管理模块、统计模块。
用户登录模块为每个用户分配账号密码使得个人的财务信息具有隐私性,现金管理模块能有效的管理用户的现金,可以进行添加,查询,删除操作,物品管理模块可以添加物品借入,借出,买进,买出,和删除查询操作,统计模块使得用户能够查询用户某月的金钱和物品统计信息,能够让用户对自己每月或一段时间的收支情况,系统管理模块可以让用户修改密码,进行重要数据的备份和恢复。
1.2系统技术需求
稳定性:
本系统为财务管理系统,多为查询、修改、删除、添加数据等操作,要求数据的稳定性好。
可靠性:
用户财务数据多比较重要,要求系统具有数据备份,数据恢复等性能。
安全性:
系统设计个人银行账号以及密码的保存,要求系统提供加密保存等安全措施,即要求系统有较高的安全性能。
数据流图
9
产生收支
报表
收支信息报表
收支信息
收入/支出
接收收入/
支出
物品信息
物品信息报表
收入/支出 产生物品
更新数据
库
更新数据文件
物品
接收物品
产生收支
统计报表 收支统计报表
收支统计信息
物品统计信息
产生物品
统计报表 物品统计报表
管理员
2.数据库设计分析
登陆功能
对于个人财务管理系统,我们要求软件满足用户对个人财务的隐私性管理,确保在用户以外的其他人使用软件对其信息进行操作,所以要采用用户注册和登录制度,确保用户对自己财务信息的隐私管理。
物品管理模块功能
物品管理模块是用户对物品进行添加、删除、修改操作的模块,提供用户对物品的收入支出进行操作的功能。
现金管理模块功能
现金管理模块是用户对现金进行添加、删除、修改操作的模块,提供用户对现金的收入支
出进行操作的功能,使得当用户的记录需要修改时,可以方便的添加和修改。
统计管理模块
提供用户对现金收支信息和物品收支信息进行统计输出功能。
系统管理模块
系统管理模块提供用户对用户个人信息的管理和修改以及对系统信息进行备份和恢复的功
能。
收入编号
收入类型
金额
时间
备注
收入
N
收入物资
编号
1
类型
用户名
密码
M
支出物资
支出 支出物资
支出编号
支出类型
用户
数据库的ER图如下所示:
3.数据库整体逻辑结构设计
层次结构图
把整个系统分为收支管理,物品管理,统计管理,系统管理四个模块,收支管理模块分为添加收入,添加支出,修改收入,修改支出,查询收支,删除收支6个模块,物品管理模块分为物品借入,物品借出,物品买入,物品卖出,物品查询,物品删除,统计管理模块分为物品统计信息,收支统计信息两个模块,收支管理模块分为
退出系统
系统管理
统计管理
物品管理
收支管理
修改密码,数据备份,数据恢复,系统说明,退出系统5个部分,每个模块完成的功能可以从名字上明显的看出。
添修修删查物物物物删查收物修系数数加改改除询品品品品除询支品改统据据支收支收收借借买卖物物信信密说备恢出入出支支入出入出品品息息码明份复
个人财务管理
层次从结构图如下所示:
添加收入
数据库表
(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:
1)表1用户表,
表1 考生信息表
序号
字段中文名
字段英文
名
类型、宽度、精
度
取值约束
空否
默认
值
主键/
外键
用户编号
UserID
bigint
否
主键
2
UserName
varchar(50)
少于50字
符
3
Password
2)表2支出信息表
字段英文名
空
支出物资编
PayoutID
号
Paykind
varchar(50)
4
支出物资类
型
payoutking
Varchar(50)
5
支出金额
PayAccount
float
6
支出时间
PayTime
date
7
Remark
varchar(200)
少于200字符
3)表4.3收入信息表
收入信息编
IncomeID
Inkind
收入物资类
Payinkind
收入金额
InAccount
收入时间
InTime
图2 所有表之间的关系图
4.数据库实现
4.1建立数据库和表
mysql>
CREATEDATABASEgrcwgl;
mysql>
USEgrcwgl;
CREATETABLEszbb(字段名VARCHAR(20),字段名CHAR
(1));
CREATETABLEwpbb(字段名VARCHAR(20),字段名CHAR
(1));
CREATETABLEsztjbb(字段名VARCHAR(20),字段名CHAR
(1));
CREATETABLEwptjbb(字段名VARCHAR(20),字段名CHAR
(1));
4.2建立视图
createtriggeryyonworkerafterinsert,delete,updateas
begin
select*fromworker
4.3建立存储过程
ifexists(selectnamefromsysobjectswherename='
ptotal'
)dropfunctionptotal
go
createfunctionptotal(@achar)returnsfloat
declare@bfloat
select@b=(selectpayment.pmoneyfrompayment,workerwherepayment.pwid=worker.widandworker.wname=@a)
return@b
end
4.4建立触发器
了实现表间数据的一致性和完整性,创建了触发器,具体代码如下:
/*收支管理信息表触发器*/createtriggertrigger_ksxx1onksxx
forinsert,update,deleteas
if(SELECTLEN(收入金额)FROMinserted)<
6begin
raiserror('
收支长度不对!
'
10,1)rollbacktransaction
elsebegin
print'
添加成功!
ifexists(select*frominserted)begin
收入物资类型已经存在!
returnend
5.课程设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过这次课程设计增加很多认识,在拿到课程设计题目时,没有像以前一样马上开始动手写代码,我先做了整体的分析,把要设计的表,表的属性,表间的关系全部弄清楚,并画了相应的关系图和E-R图,从而也就基本形成了这次设计的整体构架。
在写代码的过程中明显感觉到很轻松,就是照着所设计的思路一步一步地进行。
并得到以下总结:
首先,流程是一切的根源,进度控制是项目顺利进行的基础。
没有大局观,面对问题和变更就会不知所措
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 秋石大 远程 数据库 课程设计