目 录
31
前言
32
需求分析
32.1要求
32.2任务
42.3开发工具
4Oracle中的SQL*Plus
43
概要
43.1 业务流程及说明
43.2系统ER图及分析
3.3数据库的物理设计
5
4
系统实现
6
54.1建库及表空间规划
54.2 安全子系统的实现
4.3个人办公肋理子模式的实现(包含各对象创建代码)
6
4.5 主要查询的实现
7
4.6 主要DML及事务控制的实现
7
4.7 主要视图及存储过程的实现
7
4.8 主要触发器的实现
7
4.9 备份子系统的的实现
8
5
课程设计的总结与体会
8
参考文献
8
1 前言
今天,计算机技术不但广泛地应用在办公自动化中,还全面渗透到各行各业。所有与相关的职业都要求工作者有很强的计算机操作技能,做到运用自如,熟练而且深入的掌握软件的应用。随着计算机技术的飞速发展,今后,计算机作为一种崭新的生产力,将在信息社会即新技术革命中发挥越来越重要的作用,并进一步推动人类社会更快的向前发展。其中ORCAL数据库起着重要的作用。
这里我们将所学到的知识融入到实际的应用中,用ORCAL数据库来实现运动会管理系统。建立一些表和相关的数据来实现一些简单的操作。并用它来加深对
的了解。
Oracle数据库是当前应用最广泛的大型关系数据库管理系统。Oracle数据库的广泛应用与其安全性高、稳定性好和良好的跨平台特性是分不开的。其容量大、并发性高等特性可以满足各种商业应用。Oracle数据库的应用结构包括C/S结构、B/S结构和分布式系统结构等多种,可以满足不同架构的系统要求。因此,Oracle数据库成为当前数据库市场占有率最高的产品。
2需求分析
2.1要求
(1)对整个系统进行关系模式分析,根据数据库的相关理论,画出ER图,并进行相关说明。
(2)将ER图转化为关系模式,最终得出物理设计;
(3)根据数据库的物理设计,结合Oracle相关语言支持。编写数据库各对象的创建及使用代码。
(4)从数据库底层开发的角度出发,建立各模块所需的视图、存储过程及触发器。
(5)提交完整的建库代码,并完成本报告。
2.2任务
(1) 业务流程图。
(2) 数据库的ER图集成。
(4) 数据库建库及表空间分配。
(5)个人办公助理系统子模式的物理实现。
(6)个人办公助理系统应用模块的视图(或存储过程)设计。
(7)个人办公助理系统应用模块的存储过程设计。
(8)个人办公助理系统应用模块的触发器设计。
(9) 系统(或子模式)的角色及用户创建。
(10)系统的备份与恢复的实现
2.3开发工具
Oracle中的SQL*Plus
3概要设计
3.1系统ER图及分析
事件实体E-R图
用户实体E—R图
(1)分析之后可以设计出能够满足各种实体以及他们之间的关系,为下一节的逻辑结构设计打下基础。这些实体包括各种信息,通过相互之间的作用形成数据的流动。本系统数据库的各实体E-R图如下所示:
3.2数据库的物理设计
编号
字段名称
结构类型
大小
说明
1
Eventid
Varchar2
20
事件的惟一编号
2
EventName
Varchar2
4000
事件标题
3
EventContent
Varchar2
4000
事件内容
4
EventDesc
Varchar2
4000
事件描述
5
EventExer
Varchar2
20
事件执行者
编号
字段名称
结构类型
大小
说明
1
Userid
Varchar2
50
用户的惟一编号
2
LoginName
Varchar2
50
用户登录名称
3
Password
Varchar2
50
用户登录密码
4
Name
Varchar2
50
用户名称
5
Description
Varchar2
4000
关于用户的描述
4系统实现
4.1将ER图转化为关系模式
Event(eventid,eventname,eventcontent,eventdesc,eventexer)
Users(userid,loginname,password,name,description)
4.2 安全子系统的实现
1、创建主要角色
CREATE ROLE high;
CREATE ROLE middle IDENTIFIED BY middlerole;
CREATE ROLE low IDENTIFIED BY lowrole;
2、创建主要用户
CREATE USER li IDENTIFIED BY li
DEFAULT TABLESPACE USERS QUOTA 10M ON ATHLETE ACCOUNT LOCK;
3、分配主要权限
XONNECT SYSTEM@RCL
GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW TO li;
4.3运动会管理系统子模式的实现(包含各对象创建代码)
1、创建Events表
CREATE TABLE Events
(eventid varchar2(20) prinmary key,
Eventname varchar2(4000) not null,
Eventcontent varchar2(4000),
Eventdesc varchar2(4000),
Eventexer varchar2(20)not null);
2、创建Usrers表
CREATE TABLE Users
(Userid varchar2(20) primary key,
Loginname varchar2(20) not null,
Password varchar2(20) not null,
Name varchar2(20) ,
Description varchar2(40000) );
3、创建events表的eventid列的一个唯一性索引
CREATE UNIPUE INDEX event_index ON Events(eventid);
4、创建events的索引表。
CREATE TABLE new_event
(eventid varchar2(20) prinmary key,
Eventname varchar2(4000) not null,
Eventcontent varchar2(4000),
Eventdesc varchar2(4000),
Eventexer varchar2(20)not null)
ORGANIZATION INDEX
TABLESPACE li;
5、统计用户人数
SELECT COUNT(*)
FROM Users
6、查1222c事件的基本情况
SELECT *
FROM Events
WHERE eventid=’1222c’;
7、查看用户“张”
SELSECT *
FROM users
WHERE name=’张’;
8、为Users 创建一个触发器,禁止在周六、周日对该表进行DML操作。
CREATE OR REPLACE TRIGGER trg_Users_weekend
BEFORE INSERT OR UPDATE OR DELETE ON Users
BEGIN
IF TO_CHAR(SYSDATE,’DY’,’NLS_DATE_LANGUDAGE=AMERICAN’)IN
(‘SAT’,’SUN’)
THEN
RAISE_APPLICATION_ERROR(-20000,’CANT”TOPERAT IN WRRKEND .‘);
END IF;
END TRG_User_WEEKEND;
4.4、备份子系统的实现
利用热备份进得恢复
1、将users表空间设置为脱机状态。
ALTER DATABASE DATAFILE
“D:\ORACEL\ORADATA\ORCL\users.DBF”;
2、将备份的数据文件复制到原来的目录,并覆盖原来的文件。
3、使用RECOVER命令进行介质恢复.
RECOVER DATAFILE”D:\ORACLE\ORADATA\ORCL\users.DBF”;
4、介质恢复完成后,将表空间恢复为联机状态。
ALTER DATABASE DATAFILE
“D:\ORACLE\ORADATA\ORCL\users.DBF”;
5、将数据库修改为打开状态。
ALTER DATABASE OPEN;
5课程设计的总结与体会
在老师的耐心指导下以及同学的帮助下,通过本次课程设计让我基本上掌握了ORACLE数据库的基本操作,以及安全性管理与使用。首先由于对spl语句的不熟练,在写语句时总是有语法及功能不能完全达到的错误,但后来通过查看书籍及问老师与同学,这些错误都基本解决,并达到了预期的效果。
参考文献
[1]孙风.ORACLE数据库基础教程 电子工业出版社.2007年8月
[2]刘先锋.羊四清数据库系统原理与应用.武汉大学出版社,2005年8月
用户描述
用户名称
登录密码
登录名称
用户编号
用户实体
事件执行者
事件描述
事件内容
事件标题
事件编号
事件实体
PAGE
2