数据库课程设计-JAVA-个人记账管理系统.doc
《数据库课程设计-JAVA-个人记账管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计-JAVA-个人记账管理系统.doc(21页珍藏版)》请在咨信网上搜索。
1、目 录1 前言12 需求分析12.1 课程设计目的12.2 课程设计任务12.3 设计环境12。4 开发语言23 分析和设计23。1 系统ER模型23。2 表空间及表的设计23.3 视图设计53。4 存储过程、函数、包的设计63。5 触发器设计73.6 角色、用户、权限设计83。7 备份方案设计94 课程设计总结94.1 程序运行结果94。2 设计结论11参考文献12致 谢12附 录131 前言设计一个个人记账管理系统,用JAVA来编写。综合运用JAVA的基础和算法设计的基本原则,用PLSQL Developer,orcale等工具实现。功能包括收入记录、支出记录、查询功能、报表,并将记录保存
2、在数据库中,通过连接数据库可以查询所有记录,可以通过选择日期将符合条件的记录显示在查询框中,可以选择收入或支出查询收入记录或者支出记录。用户可以通过报表了解到指定时间段内收入总和、支出总和、余额。2 需求分析2.1课程设计目的通过专业课程设计,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。同时要求对数据库的运营、管理及使用上进行必要的规划和实现。2。2 课程设计任务针对某管理信息系统的需求,设计一个数据库系统。具体内容如下:(1) 根据需求,建立ER模型.通过ER
3、图表示.(2) 在此基础上,设计物理表结构,编写创建数据库表的语句.较高要求为在设计创建数据表语句的同时考虑性能上的要求,采用相关的磁盘存储技术。(3) 从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。(4) 针对常用的业务,创建包,同时实现一个函数放入包中。(5) 从数据检验的角度出发,为相关的表建立至少1个触发器.(6) 从数据更新或修改的角度出发,设计至少1个存储过程。(7) 从安全的角度出发,规划系统的角色、用户、权限,并通过SQL实现。(8) 预计每个表的大致容量和增长速度。指定备份的方案,写出相关的备份命令。(9) 以上所有命令及脚本均需测试,在设计报告中说明其功能
4、并记录其输出。2.3 设计环境(1)WINDOWS2000/2003/XP系统(2)Oracle数据库管理系统2。4 开发语言PL/SQL语言3 分析和设计3。1 系统E-R模型图3-1个人记账管理系统ER图3。2 表空间及表的设计- Create tablecreate table BANK_INCOME( IN_ID NUMBER not null, IN_NAME VARCHAR2(50), IN_DATE VARCHAR2(50), IN_MONEY NUMBER(10,2), IN_COMMENT VARCHAR2(500))tablespace USERS pctfree 10 i
5、nitrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );- Create/Recreate primary, unique and foreign key constraints alter table BANK_INCOME add constraint PK_IN_ID primary key (IN_ID) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K min
6、extents 1 maxextents unlimited );- Create tablecreate table BANK_OUT(OUT_ID NUMBER not null, OUT_NAME VARCHAR2(50), OUT_DATE VARCHAR2(50), OUT_MONEY NUMBER(10,2), OUT_COMMENT VARCHAR2(500)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );-
7、Create/Recreate primary, unique and foreign key constraints alter table BANK_OUT add primary key (OUT_ID) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );列名类型说明in_idnumber主键,收入idin_nameVarchar2(50)收入项in_dateVarchar2(50)收入日期in_
8、moneyNumber(10,2)收入金额in_commentVarchar2(500)收入备注图32收入表列名类型说明out_idnumber主键,支出idout _nameVarchar2(50)支出项out _dateVarchar2(50)支出日期out _moneyNumber(10,2)支出金额out _commentVarchar2(500)支出备注 图33 支出表3。3 视图设计图3-4 收入视图图35 支出视图3。4 存储过程、函数、包的设计图36存储过程图37包的设计3。5 触发器设计(1)收入触发器create or replace trigger tri_auto_in
9、come_id before insert on bank_income for each rowdeclare- local variables herebegin select seq_income_id。nextval into:new。in_id from dual;end tri_auto_income_id;(2)支出触发器create or replace trigger TRI_AUTO_OUT_ID before insert on bank_out for each rowdeclare- local variables herebegin select seq_out_i
10、d。nextval into:new.out_id from dual;end TRI_AUTO_OUT_ID;3。6 角色、用户、权限设计 Create the role create role ROLE1;-给角色授权grant select,update,insert on bank_income to role1 grant select,update,insert on bank_out to role1- Create the user create user huanghuaidentified by 123456”default tablespace SYSTEMtempora
11、ry tablespace TEMP profile DEFAULT;grant select,update,insert on bank_income to huanghua with grant option3。7 备份方案设计(1)启动SQLplus,以SYSDBA身份登录数据库(2)查询当前数据库所有数据文件、控制文件、联机重做文件的位置SQLselect file_name from dba_data_files;SQLSELECT member FROM v$logfile;SQLSELECT value FROM v$parameter WHERE name=control_fi
12、les;(3)关闭数据库SQLSHUTDOWN IMMEDIATE(4)复制所有数据文件、联机重做文件以及控制文件到备份磁盘可以直接在操作系统中使用复制、粘贴方式进行(5)重新启动数据库SQLSTARTUP4 课程设计总结4。1运行结果如下图所示: 图41 个人记账管理界面图42 收入记录界面图4-3支出记录界面图4-4 查询收入支出界面图45 报表界面4。2、设计总结这次我们的课程设计题目是个人记账管理系统.通过此次课程设计,掌握到了数据库系统的开发方法。同时也加深了对刚刚学习的JAVA的印象。整个代码在写的过程中出现了很多问题.有的实在解决不了的问题,就去问教我们JAVA的柳小文老师,老师
13、也非常乐意帮助我解决一些困难.有的时候不懂的问题就去上网搜索答案,或者自己去看书。学习需要自主,对这一点我颇有感触。此次课程设计结束之后,我还意犹未尽,因为从中感觉到了写代码的趣味。于是,我就开始想方设法找点小的应用程序去写.因为这样的学习方法是最快也是最有效的方式。比老师上课讲要好的多.而且大学生也应该培养自己的动手能力.而动手能力只能来自于自己从头到尾的去写一个不大的应用程序。了解整个创作的一个大体思路,在写的过程中还要不断地去请教我们的老师.因为他们对实际应用程序的把握比我们要强的多.当然,学无止境,不能因为这么一点小的成就就止步不前.前路很漫长,但我相信只要自己肯用心去学习,Nothi
14、ng is impossible!参考文献1孙风栋,刘蕾等。Oracle 10g数据库基础教程M.北京:电子工业出版社,2012。10。2王珊,萨师煊。数据库系统概论M北京:高等教育出版社,2006。5。3Java Programming Java程序设计M北京:清华大学出版社,2010。1.致 谢感谢我们的指导老师柳小文老师,谢谢她在我们的课程设计过程中提出了指导性的方案和架构,并指引我们阅读相关的资料和书籍,使我们在不熟悉的领域中仍能迅速掌握新的方法和技术.同时也感谢校领导给我们这次难得的锻炼机会,让我们能更好的理解和实践Oracle数据库,让我们对数据库有了更深刻的认知,对已学知识有了更
15、进一步的巩固。总之,通过这次课程设计,我获益良多.附 录主要代码:package com。sxt。bank。dao;import java。sql。Connection;import java.sql.DriverManager;import java。sql。Statement;/* 数据库工具类 * author Administrator /public class DBUtil / * 专用于取得数据库的连接 return */public static Connection getConn()Connection conn=null;try /加载驱动Class.forName(”o
16、racle。jdbc.driver.OracleDriver”);String url=”jdbc:oracle:thin:172.19。95。36:1521:orcl;/取得连接conn=DriverManager。getConnection(url, scott, ”tiger”); catch (Exception e) e。printStackTrace();return conn;/ 专用于关闭连接 * param conn param stat */public static void closeConn(Connection conn,Statement stat)try sta
17、t。close();conn.close(); catch (Exception e2) e2.printStackTrace();收入数据处理代码:package com。sxt。bank。dao;import java.sql。Connection;import java.sql.DriverManager;import java。sql。PreparedStatement;import com。sxt。bank。entity.InCome;/* 数据处理 author Administrator /public class IncomeDao / 用于保存收入项到数据库 * param
18、income */public void saveIncome(InCome income)Connection conn=null;PreparedStatement stat=null;try conn=DBUtil。getConn();/得到预编译执行器stat=conn.prepareStatement(”insert into bank_income(in_name,in_date,in_money,in_comment) values(?,?,?,?)”);/设置参数/stat。setInt(1,2);stat。setString(1, income。getInName());st
19、at。setString(2, income。getInDate());stat。setFloat(3, income.getMoney());stat.setString(4, income。getComment();/执行stat。execute(); catch (Exception e) e.printStackTrace();finallyDBUtil。closeConn(conn, stat);支出数据处理代码:package com。sxt。bank.dao;import java。sql.Connection;import java。sql。DriverManager;impo
20、rt java。sql.PreparedStatement;import com。sxt。bank.entity.Out;/* 支出的数据处理 * author Administrator /public class OutDao /* * 用于保存支出项到数据库 param income /public void saveOutcome(Out out)Connection conn=null;PreparedStatement stat=null;try /加载驱动Class。forName(”oracle。jdbc.driver.OracleDriver”);String url=jdb
21、c:oracle:thin:172。19。95。36:1521:orcl”;/取得连接conn=DriverManager。getConnection(url, ”scott, ”tiger”);/得到预编译执行器stat=conn。prepareStatement(”insert into bank_out(out_name,out_date,out_money,out_comment) values(?,?,?,?);/设置参数stat。setString(1,out。getOutName();stat。setString(2, out.getOutDate();stat.setFloat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 JAVA 个人 记账 管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。