个人财务管理系统(共19页).doc
《个人财务管理系统(共19页).doc》由会员分享,可在线阅读,更多相关《个人财务管理系统(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录1 前言俗话说“你不理财,财不理你”,只有通过合理的理财,才能够有效的管理你的个人资产,使它得到的合理运用。个人理财软件不仅可以帮你记帐,更多的是可以实时掌握你的收入与支出,掌握资金的变动情况,同时还可以统计出资金的主要流向,从而更合理的分配资金,提高理财的效率。本次课程设计的任务就是综合运用所学的Oracle数据库知识设计一个简单的个人理财软件个人记账系统。2 需求分析2.1 课程设计目的通过专业课程设计,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在
2、大型数据库中得以实现。同时要求对数据库的运营、管理及使用上进行必要的规划和实现。2.2 课程设计任务针对财务管理信息系统的需求,设计一个数据库系统。具体内容如下:(1) 根据需求,建立ER模型。通过ER图表示。(2) 在此基础上,设计物理表结构,编写创建数据库表的语句。较高要求为在设计创建数据表语句的同时考虑性能上的要求,采用相关的磁盘存储技术。(3) 从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。(4) 针对常用的业务,创建包,同时实现一个函数放入包中。(5) 从数据检验的角度出发,为相关的表建立至少1个触发器。(6) 从数据更新或修改的角度出发,设计至少1个存储过程。(7
3、) 从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。(8) 预计每个表的大致容量和增长速度。指定备份的方案,写出相关的备份命令。(9) 以上所有命令及脚本均需测试,在设计报告中说明其功能并记录其输出。2.3 设计环境(1)WINDOWS 2000/2003/XP系统(2)Oracle数据库管理系统(3)Java开发及运行环境2.4 开发语言PL/SQL语言JAVA3 分析和设计3.1 界面设计界面设计工作使用eclipse完成,其中使用了JDatePicker日期控件。1. 主界面设计2.收入界面设计2. 支出界面设计4.查询界面设计3.2 系统E-R模型3.3 表空间及
4、表的设计1 .创建收入表 CREATETABLEBANK_INCOME ( IN_IDNUMBERNOTNULLENABLE, IN_NAMEVARCHAR2(50BYTE)NOTNULLENABLE, IN_DATEVARCHAR2(50BYTE)NOTNULLENABLE, IN_MONEYNUMBER(10,0)NOTNULLENABLE, IN_COMMENTVARCHAR2(500BYTE)NOTNULLENABLE, CONSTRAINTBANK_INCOME_PKPRIMARYKEY(IN_ID); 收入表BANK_INCOME表结构2.创建支出表CREATETABLEBAN_O
5、UT(OUT_IDNUMBERNOTNULL,OUT_NAMEVARCHAR2(50)NOTNULL,OUT_DATEVARCHAR2(50)NOTNULL,OUT_MONEYNUMBER(10,2)NOTNULL,OUT_COMMENTVARCHAR2(500)NOTNULL,CONSTRAINTBAN_OUT_PKPRIMARYKEY(OUT_ID)ENABLE );支出表bank_out表结构3.4 视图设计1收入视图(Bank_income_view)设计Create or replace view Bank_income_viewAsSelect in_id,in_name,in_d
6、ate,in_money,in_commentFrom bank_income;2.支出视图(Bank_out_view)设计Create or replace view Bank_out_viewAsSelect out_id,out_name,out_date,out_money,out_commentFrom bank_out;3.5 存储过程、函数、序列的设计1.存储过程设计2.函数设计创建收入ID序列CREATESEQUENCESCOTT.SEQ_INCOME_IDMINVALUE1MAXVALUEINCREMENTBY1STARTWITH1CACHE20NOORDERNOCYCLE
7、; 创建支出ID序列 CREATESEQUENCESCOTT.SEQ_OUT_IDMINVALUE1MAXVALUEINCREMENTBY1STARTWITH1CACHE20NOORDERNOCYCLE;3.6 触发器设计1.创建检测收入ID序列的触发器CREATETRIGGERTRI_AUTO_INCOME_IDBEFOREINSERTONBANK_INCOMEFOREACHROWBEGINSELECTSEQ_INCOME_ID.NEXTVALINTO:NEW.IN_IDFROMDUAL;END;2.创建检测支出ID序列的触发器CREATEORREPLACETRIGGERTRI_AUTO_O
8、UTCOME_IDBEFOREINSERTONBANK_OUTFOREACHROWBEGINSELECTSEQ_OUT_ID.NEXTVALINTO:NEW.OUT_IDFROMDUAL;END;3.7 角色、用户、权限设计数据库ORCL中新建一个scott用户,在cmd中进行解锁,并赋予权限。所用语句如下:创建scott用户,口令为scott:createuserscottidentifiedbyscottdefaulttablespaceusersquota10Monusersaccountlock;解锁scott用户:alteruserscottaccountunlock;赋予scott
9、用户权限:grantcreatesession,createtable,createview,createsequence,createtriggertoscott;4 课程设计总结通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。数据库设计主要讨论数据库设计的方法和
10、步骤应注意的事项。概念结构设计采用的是实体属性分析法。实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:实践是检验真理的
11、唯一标准!在这里感谢老师和同学的帮助!参考文献1 张福祥. C语言程序设计M. 辽宁大学出版社,2008.12 张福祥,王萌C语言程序设计习题解答与实验实训M沈阳:辽宁大学出版社,20083 牛莉,刘远军等计算机等级考试辅导教程M北京:中国铁道出版社,2008致 谢经过两周的不懈努力,很高兴能完成一个oracle程序。从中体会到以及学习到很多关于oracle的知识,是我更加了解了oracle,并更加熟练了oracle。 在此次设计中我也遇到了很多的问题,都是经过查看老师所给的关于课程设计书和图书馆借的书才明白所用函数的用法,更重要的是上课时老师的细心教学,使我们学会了许多关于oracle的基础
12、知识,为本次的课程设计打好了很好的基础。从而使我能够顺利完成这次课程设计。 在本次做课程设计过程中,要感谢申寿云老师的悉心关照,一直陪伴我们,并为大家讲解不懂的地方,很是辛苦,也很是忙碌。有时我会突然对某个函数有了编写的灵感,然后就会去问一下老师是否可行,有时都到了很晚的时候了,老师还会细心的跟我讲解,这让我很是感动。也要感谢和我一起做这个课题的同学们,因为我们会经常互相讨论不懂的地方,互相学习。正是有了他们的帮助我才能成功的完成此次课程设计。虽然只有短短的几周时间,但是通过课程设计让我锻炼了动手能力和思考能力,再次向老师致以深深的谢意!附录主要代码:1.连接数据库代码:package com
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 财务管理 系统 19
限制150内