..目录1 前言 .................................................................................. 错误!未定义书签。
2 需求分析.......................................................................... 错误!未定义书签。
2.1 课程设计目的.......................................................... 错误!未定义书签。
2.2 课程设计任务.......................................................... 错误!未定义书签。
2.3 设计环境 (1)2.4 开发语言 .................................................................. 错误!未定义书签。
3 分析和设计...................................................................... 错误!未定义书签。
3.1 系统E-R模型 ......................................................... 错误!未定义书签。
3.2 表空间及表的设计 (2)3.3 视图设计 .................................................................. 错误!未定义书签。
3.4 存储过程、函数、包的设计................................. 错误!未定义书签。
3.5 触发器设计.............................................................. 错误!未定义书签。
3.6 角色、用户、权限设计 ......................................... 错误!未定义书签。
3.7 备份案设计.............................................................. 错误!未定义书签。
4 课程设计总结 (9)4.1 程序运行结果 (9)4.2 设计结论 (11)参考文献............................................................................... 错误!未定义书签。
致....................................................................................... 错误!未定义书签。
附录................................................................................... 错误!未定义书签。
1 前言设计一个个人记账管理系统,用JAVA来编写。
综合运用JAVA的基础和算法设计的基本原则,用PLSQL Developer,orcale等工具实现。
功能包括收入记录、支出记录、查询功能、报表,并将记录保存在数据库中,通过连接数据库可以查询所有记录,可以通过选择日期将符合条件的记录显示在查询框中,可以选择收入或支出查询收入记录或者支出记录。
用户可以通过报表了解到指定时间段收入总和、支出总和、余额。
2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。
本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。
同时要求对数据库的运营、管理及使用上进行必要的规划和实现。
2.2 课程设计任务针对某管理信息系统的需求,设计一个数据库系统。
具体容如下:(1)根据需求,建立ER模型。
通过ER图表示。
(2)在此基础上,设计物理表结构,编写创建数据库表的语句。
较高要求为在设计创建数据表语句的同时考虑性能上的要求,采用相关的磁盘存储技术。
(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。
(4)针对常用的业务,创建包,同时实现一个函数放入包中。
(5)从数据检验的角度出发,为相关的表建立至少1个触发器。
(6)从数据更新或修改的角度出发,设计至少1个存储过程。
(7)从安全的角度出发,规划系统的角色、用户、权限,并通过SQL实现。
(8)预计每个表的大致容量和增长速度。
指定备份的案,写出相关的备份命令。
(9)以上所有命令及脚本均需测试,在设计报告中说明其功能并记录其输出。
2.3 设计环境(1)WINDOWS 2000/2003/XP系统(2)Oracle数据库管理系统2.4 开发语言PL/SQL语言3 分析和设计3.1 系统E-R模型图3-1 个人记账管理系统E-R图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 USERSpctfree 10initrans 1maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);-- Create/Recreate primary, unique and foreign key constraints alter table BANK_INCOMEadd constraint PK_IN_ID primary key (IN_ID)using indextablespace USERSpctfree 10initrans 2maxtrans 255storage(initial 64Kminextents 1maxextents 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 USERSpctfree 10initrans 1maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);-- Create/Recreate primary, unique and foreign key constraints alter table BANK_OUTadd primary key (OUT_ID)using indextablespace USERSpctfree 10initrans 2maxtrans 255storage(initial 64Kminextents 1maxextents unlimited);图3-2 收入表图3-3 支出表3.3 视图设计图3-4 收入视图图3-5 支出视图3.4 存储过程、函数、包的设计图3-6 存储过程图3-7包的设计3.5 触发器设计(1)收入触发器create or replace trigger tri_auto_income_idbefore insert on bank_incomefor each rowdeclare-- local variables herebeginselect seq_income_id.nextval into:new.in_id from dual;end tri_auto_income_id;(2)支出触发器create or replace trigger TRI_AUTO_OUT_IDbefore insert on bank_outfor each rowdeclare-- local variables herebeginselect seq_out_id.nextval into:new.out_id from dual;end TRI_AUTO_OUT_ID;3.6 角色、用户、权限设计-- Create the rolecreate role ROLE1;--给角色授权grant select,update,insert on bank_income to role1grant select,update,insert on bank_out to role1-- Create the usercreate user huanghuaidentified by "123456"default tablespace SYSTEMtemporary tablespace TEMPprofile DEFAULT;grant select,update,insert on bank_income to huanghua with grant option3.7 备份案设计(1)启动SQL*plus,以SYSDBA身份登录数据库(2)查询当前数据库所有数据文件、控制文件、联机重做文件的位置SQL>select file_name from dba_data_files;SQL>SELECT member FROM v$logfile;SQL>SELECT value FROM v$parameter WHERE name=’control_files’;(3)关闭数据库SQL>SHUTDOWN IMMEDIATE(4)复制所有数据文件、联机重做文件以及控制文件到备份磁盘可以直接在操作系统中使用复制、粘贴式进行(5)重新启动数据库SQL>STARTUP4 课程设计总结4.1运行结果如下图所示:图4-1 个人记账管理界面图4-2 收入记录界面图4-3支出记录界面图4-4 查询收入支出界面图4-5 报表界面4.2、设计总结这次我们的课程设计题目是个人记账管理系统。
通过此次课程设计,掌握到了数据库系统的开发法。
同时也加深了对刚刚学习的JAVA的印象。