




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计 课程设计报告 题目:家庭财务管理系统 学生姓名: 鲍海仁 学 号: 201320181203 班 级: 1321812 指导教师: 李荣 2015年 月 日目录第一章 绪论11.1课题简介11.2设计目的11.3设计内容1第二章 需求分析.12.1 需求分析的任务12.2 需求分析的过程12.3数据字典与流程图2第三章 概念结构设计43.1 概念结构设计的方法与步骤43.2 数据抽象与局部视图设计43.3视图的集成7第四章 逻辑结构设计94.1 E-R图向关系模型的转换94.2 数据库的结构94.3触发器的设计114.4视图的设计12第五章 数据库的实施155.1表的建立与数据
2、的载入185.2 数据库的运行23数据库课程设计第一章 绪论1.1课题简介经过一年半的学习,我对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套家庭财务管理系统,在下面的各章中,我将以这套家庭财务管理系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识、DB2的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一
3、般过程,为毕业设计打下基础。1.3设计内容选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解家庭财务管理系统的构造以及收入支出的信息还有银行的相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除并且与家庭财务管理系统执行相同的操作。在需求分析阶段,需要完成家庭财务管理系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。 第二章 需求分析2.1 需求分析的任务调查家庭财务管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需
4、求分析说明书。最重要的是调查、收集信息、分析家人作为管理员登陆供其他家人进行查阅流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机(即查阅人)的界面要简单明了,易于操作,服务器程序利于维护。2.2 需求分析的过程为方便其他家人查阅家庭财务信息,需开发一个财务管理系统。包括登录时间、存取信息、存取的金额、收支差、管理员编号,输入家庭财务管理系统的客户端程序,系统经过处理后,为其他家人提供更新后的数据。相对于银行,本系统与银行管理系统和资产账户系统保持一致。如果本系统出现问题,家人可以凭借银行提供的账户单更改。要求系统能有效、快速、安全、可
5、靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.3数据字典与流程图1业务流程分析经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出家庭成员,管理员信息、家庭财务信息和银行账户参考信息的具体需求。 调查家庭成员需求 管理家庭成员需求l 查询功能:每个家庭成员对应一组个人基本信息² 成员编号² 个人姓名² 个人性别² 密码 设置家庭财务管理员需求l 登陆功能:² 分配给每个家庭成员各自的管理员编号² 输入账号登陆财务管理系统² 输入密码登陆财务管理系统 更新查阅
6、家庭财务信息需求l 记录功能:² 记录更新财务信息的登陆时间l 更新功能² 录入存取信类型² 录入存取金额² 根据假设的每个人月收入5000元更改当月收支差l 查询功能² 根据登陆时间查询相关财务信息² 查询每组财务信息对应的管理员编号,进一步了解管理员编号对应的家庭成员财务信息的情况 银行管理需求l 查询功能:² 查询银行编号² 查询银行名称² 查询银行的缩写简称 资产账户参照需求l 查询功能² 查询该笔资产的编号² 查询有关银行账号² 查询该笔资金的类型² 查询
7、开户人的编号² 查询与资产编号和银行账号相对应的成员编号l 更新功能² 根据假设的每个家庭成员原资产总额为10000元修改变化后的资产总额,并供修改财务信息时参考2系统模块分析在调查完了家庭成员需求之后,就要开始分析家庭成员需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,3数据字典将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个基本表:家庭成员表,管理员,财务信息表,银行表,资产账户表。数据结构定义如表所示。数据结构定义数据结构名含义说明组成家庭成员定义了家庭成员的有关信息成员编号
8、,姓名,性别,出生日期,手机,工作单位,管理员编号管理员定义了管理员的有关信息管理员编号,登陆账户,登陆密码财务信息定义了财务信息的有关信息存取类型,时间,金额,收支差,管理员编号银行定义了银行的有关信息银行编号,名称,简称,管理员编号资产账户定义了资产账户的有关信息成员编号,银行账号,资金类型,开户人编号,开户日期,存款类型,资金总额第三章 概念结构设计3.1 概念结构设计的方法与步骤概念设计阶段我也采用自顶向下的方法,即自顶向下的进行需求分析,然后再次自顶向下的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。3.2 数据抽象与局部视图设计按照家庭财务管
9、理系统总框架图,设计实体属性图以及局部E-R图。成员编号家庭成员实体属性图:姓名性别家庭成员出生日期管理员编号手机工作单位管理员实体属性图:管理员编号管理员登陆账户登陆密码登录时间财务信息实体属性图:财务信息存取类型金额管理员编号收支差银行实体属性图:银行编号银行名称管理员编号简称资产账户实体属性图:成员编号资产账户资金总额银行账号存款类型开户人账号资金类型开户日期3.3视图的集成经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到家庭财务管理总体概念结构E-R图。存取类型登录时间管理员编号金额收支差财务信息 n n管理员编号成员编号查看管理性别登陆账户姓名n 1登录管理员家庭成员 n
10、 1手机出生日期管理登陆密码工作单位 1管理员编号 n银行编号成员编号 n银行查看名称银行账号 n资产账户简称资金类型资金总额管理员编号开户人账号存款类型开户日期第四章 逻辑结构设计4.1 E-R图向关系模型的转换将图3.4总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括5张表,每个表都有主键,设必要的外键。)家庭成员表(成员编号,姓名,性别,出生日期,手机,工作单位,管理员编号)管理员表(管理员编号,登陆账户,登陆密码)财务信息表(时间,存取,金额,收支是否平横,管理员编号)银行表(银行编号,名资称,简称,管理员编号)资产账户表(编号,银行账号,资金
11、类型,开户人编号,开户日期,存款类型,资金总额)4.2 数据库的结构 根据总体结构图设计各表的结构,其相应表的定义如下:家庭成员表的结构(member) 字段名数据类型长度是否为空主/外键描述nochar2否主成员编号namevarchar50否姓名sexvarchar50否性别birthdatedate否出生日期phonenumberdecimal否手机workplacevarchar50否工作单位administratornumberdecimal否外管理员编号 管理员表的结构(administrator)字段名数据类型长度是否为空主/外键描述administratornumberdeci
12、mal否主管理员编号lognamevarchar50否登录账户passworddecimal否登陆密码财务信息表的结构(finance)字段名数据类型长度是否为空主/外键描述logtimetimestamp否主时间depositandwithdrawalvarchar50否存取moneydecimal否金额gapdecimal否收支差administratornumberdecimal否外管理员编号银行表的结构(bank)字段名数据类型长度是否为空主/外键描述banknumberdecimal否主银行编号banknamevarchar50否名称nicknamevarchar50否简称admin
13、istratornumberdecimal否外管理员编号资产账户表的结构(asset)字段名数据类型长度是否为空主/外键描述nodecimal否主、外成员编号bankaccountdecimal否银行账号capitaltypevarchar50否资金类型openernumberdecimal否开户人账号opendatedate否开户日期savingtypevarchar50否存款类型Totalcapitaldecimal否资金总额4.3触发器的设计根据应用要求,设计3个触发器,写出SQL语句。(1)-财务信息表插入触发器gocreate trigger insert_finance on fi
14、nanceafter insertas if exists ( select * from inserted where administratornumber in (select administratornumber from member) print '添加成功!' else begin print '家庭成员表中没有该成员的基本信息,拒绝插入!' rollback transaction end(2)-资产账户表修改触发器gocreate trigger update_asset on assetafter updateas if exists (
15、select * from updated where no in (select no from member) print '修改成功!' else begin print '家庭成员表中没有该成员的基本信息,拒绝修改!' rollback transaction end(3)-家庭成员删除触发器gocreate trigger delete_member on member after delete as delete from asset where asset.no in (select no from deleted) Go4.4视图的设计根据应用要
16、求,至少设计4个视图,写出SQL语句。-创建视图V1create view V1as select member.no,name,bankaccount,totalcapitalfrom member,assetwhere member.no=asset.no-创建视图V2create view V2as select administrator.administratornumber,logname,banknumber,gapfrom administrator,bank,financewhere administrator.administratornumber=bank.adminis
17、tratornumber and bank.administratornumber=finance.administratornumber-创建视图V3create view V3as select no ,name,administratornumberfrom member-创建视图V4create view V4as select no ,bankaccount,savingtype,totalcapitalfrom asset第五章 数据库的实施5.1表的建立与数据的载入 建立设计好的表,触发器、视图和约束。每个基本表一个抓图。 家庭成员表(member)创建的SQL语句:create
18、 table member(no char(2) NOT NULL,name varchar(50) NOT NULL,sex varchar(50) NOT NULL,birthdate date NOT NULL,phonenumber decimal(30,0) NOT NULL,workplace varchar(50) NOT NULL,administratornumber decimal(30,0) NOT NULLprimary key(no),foreign key(administratornumber)references administrator(administra
19、tornumber);表数据键入的SQL语句:insert into membervalues(1,'李力','男','1970-1-1''中国移动',10001)insert into membervalues(2,'李好','男','1971-2-14''中国联通',10002)insert into membervalues(3,'王芳','女','1973-4-16
20、39;'中国石化',10003)insert into membervalues(4,'张雪','女','1975-8-1''中国电信',10004)insert into membervalues(5,'李兰','女','1992-5-13''南昌二中',10005)insert into membervalues(6,'李广','男',
21、39;1991-7-8''中国石油',10006) 家庭成员表(member)表收录了6位家庭成员的个人信息,包括成员编号,姓名,性别,出生日期,手机号,工作单位,管理员编号。 管理员表(administrator) 创建的SQL语句:create table administrator(administratornumber decimal(30,0) NOT NULL,logname varchar(50) NOT NULL,password decimal(30,0) NOT NULL,primary key(administratorn
22、umber),constraint password_check check(password>=1 and password<=9999);表数据键入的SQL语句:insert into administratorvalues(10001,'张三',123)insert into administratorvalues(10002,'李四',111)insert into administratorvalues(10003,'王五',222)insert into administratorvalues(10004,'赵明&
23、#39;,333)insert into administratorvalues(10005,'黄涛',444)insert into administratorvalues(10006,'陈博',555) 管理员表(administrator)收录了6位家庭成员的管理员信息,包括管理员编号,登录账户,登陆密码。 财务信息表(finance) 创建的SQL语句:create table finance(logtime varchar(50) NOT NULL,depositandwithdrawal varchar(50) NOT NULL,money deci
24、mal(30,0) NOT NULL,gap decimal(30,0) NOT NULL,administratornumber decimal(30,0) NOT NULL,primary key(logtime),foreign key(administratornumber) references administrator(administratornumber);表数据键入的SQL语句:insert into financevalues('2015-1-1 12:30:00','存款',5000,5000,10001)insert into fina
25、ncevalues('2015-1-2 11:30:00','取款',10000,-10000,10002)insert into financevalues('2015-1-3 13:30:00','存款',3000,3000,10003)insert into financevalues('2015-1-4 15:30:00','取款',2000,-2000,10004)insert into financevalues('2015-1-5 10:30:00','存款
26、39;,4000,4000,10005)insert into financevalues('2015-1-5 9:30:00','取款',1000,-1000,10006) 财务信息表(finance)收录了6位家庭成员最近的财务信息,包括登陆时间,存取类型,金额,收支差,管理员编号。 银行表(bank) 创建的SQL语句create table bank(banknumber decimal(30,0) NOT NULL,bankname varchar(50) NOT NULL,nickname varchar(50) NOT NULL,administr
27、atornumber decimal(30,0) NOT NULL,primary key(banknumber),foreign key(administratornumber) references administrator(administratornumber);表数据键入的SQL语句:insert into bankvalues(1,'中国银行','CB',10001)insert into bankvalues(2,'中国工商银行','ICBC',10002)insert into bankvalues(3,'
28、;中国农业银行','ABC',10003)insert into bankvalues(4,'中国建设银行','CBC',10004)insert into bankvalues(5,'中国招商银行','CMBC',10005)insert into bankvalues(6,'中国民生银行','CMSB',10006) 银行表(bank) 收录了最近交易过的6间银行的信息(可重复),包括银行编号,名称,简称,管理员编号。 资产账户表(asset) 创建的SQL语句:create table asset(no char(2) NOT NULL,bankaccount decimal(30,0) NOT NULL,capitaltype varchar(50) NOT NULL,openernumber decimal(30,0) NOT NULL,opendate date NOT NULL,savingtype varchar(50) NOT NULL,totalcapital decimal(30,0) NOT NU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防婴儿肺炎护理常规课件
- 数学跨学科教学的师资要求与培训策略
- 绿色消费推动措施实施方案
- 合伙投标合同范本
- 句容龙虾买卖合同范本
- 协商更改合同范本
- 医疗试剂合同范本
- 商品房商铺合同范本
- 合伙做工厂合同范例
- 商业地产代理合同范本
- 企业安全培训课件-网络与信息安全
- 《无障碍设计》课件
- 绿化养护服务方案(技术标 方案)
- 《长征胜利万岁》杨成武-【中职专用】高一语文下学期同步课堂(高教版2023·基础模块下册)
- 二级公立医院绩效考核三级手术目录(2020版)
- 云母制品在阻燃材料中的应用
- 月考后正确的试卷分析方法分析研究
- 小波分析及其MATLAB实现
- 2021中国静脉血栓栓塞症防治抗凝药物的选用与药学监护指南(2021版)解读
- 装修施工规定(十四篇)
- 集团公司审批权限表
评论
0/150
提交评论