大型数据库技术大作业要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014-2015学年第2学期《大型数据库技术》
考查报告
要求:
1。
考试要求中独立完成,并提交相应的报告。
2. 报告封面注意课题名称、班级、学号、姓名
3。
报告必须符合附件中的提纲内容要求.
4. 报告必须打印装订。
5. 必须独立完成,抄袭者成绩记为零分。
请结合软件工程及大型数据库技术的相关知识,选择一个数据库应用系统的课题,完成课题的设计与开发,并撰写相应的报告.
具体要求如下:
(一)ORACLE11g的安装与配置(20分)
在自己的电脑上配置安装ORACLE 11g,并创建数据库。
具体要求如下:(1)安装版本为企业版
(2)在安装时,只安装Oralce服务器。
在安装完成后再创建数据库。
(3)利用DBCA创建数据库,数据库名称为自己姓名的拼音首字母,如某学生的姓名为“张三",则数据库的名称则为zs。
(4)数据库为共享数据库。
(5)创建数据库时选择示例模式.
(6)数据库所有的用户使用相同的口令,口令为学生的学号。
将上述安装过程截屏并将图片及相关文字描述添加在文档中。
数据库名称不正确者不得分。
(二)用户的创建与权限管理(20分)
(1)新建一个用户表空间MYTBS,要求大小为500M。
MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。
(2)创建用户配置文件userprofile,要求密码的生存周期为30天,允许输入错误的密码不得超过5次,超过5次密码锁2天.(用语句查看该配置文件中的资源配置结果,dba_profiles数据字典表,截图语句及查询结果)
(3)新建一个用户,用户名称为学生姓名的首字母,密码为学生的学号。
如学生姓名为“张三”,则用户名称则为zs.为新帐号设置默认表空间为MYTBS。
系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS表空间中。
用户的配置文件为userprofile; (用语句查看新建的用户默认表空间,dba_users数据字典表,截图语句及查询结果)
(4)为用户赋予登录Oracle的权限;为用户赋予创建任何表、创建任何索引的权限;将DBA的角色给新建用户;查看对应的用户获得的权限和角色(用数据字典表user_sys_privs,user_tab_privs,user_role_等,,截图语句及查询结果)
(5)用新建的帐号登录。
并执行show user命令,显示当前登录用户.
完成以上命令,并写入文档中。
(三)Oracle对象的创建与管理(20分)
选择一个熟悉的课题,并对课题进行需求分析,依据需求分析,完成数据库的设计。
确定系统所有的数据表.依据系统设计,在Oracle 11g环境下完成数据表及相关对象的创建。
(1)课题简述
对课题进行简述,主要描述系统实现的功能.
员工医疗保险系统,其功能是企业对员工的信息以及医疗信息的记录,可以实现增,删,改,查功能,以及对消费记录的统计,包括消费金额,消费时间,消费地点,还有进行医保卡的充值和消费,实现员工医疗信息的全面的管理。
(2)设计出系统的表结构,至少4个表.表名必须是以当前用户名开头。
如当前用户是“zs”,创建了一个学生表,则表名为zs_student。
(3)使用新建的用户登录,并在用户下创建系统所需的各种表。
完成各表的定义,并实现每个表的主键、外键、自定义约束,写出创建语句.用SQL语句完成对象的创建。
每个对象的创建必须有完整的SQL语句.
(4)创建适当的索引,写出创建的代码。
根据应用需要创建视图至少3个.
(四)PL/SQL编程(20分)
系统功能必须通过函数、存储过程、触发器或包实现。
至少创建一个函数、一个触发器(实现级联更新功能)、2个过程。
不能用程序设计语言实现.先描述功能,再写实现代码。
例如:用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。
-1表示登录失败,0表示没有此用户,1表示登录成功。
系统所有的业务逻辑必须通过上述方式实现,否则答辩无效。
create user fsl
identified by 1315925122
account unlock;
grant create session,create table,create view,create any procedure,create role,create sequence with admin option;
连接fsl 用户,然后建立四张表(关于学生管理系统的表)
建立studentInfo表并插入数据
create table studentInfo
(
stuID char(10)primary key,
stuName char(20) not null,
sex char(8)not null,
spec char(20) not null,
class char(20)not null,
birthday char(20)not null,
address char(50)
);
insert into studentInfo values(201301,’李力',’男','计算机系','软件设计一班’,'1994—3—10’,'jhhfsuihfiufh');
insert into studentInfo values(201302,’王雪',’女’,’计算机系’,’软件设计二班’,’1994—4—8’,'sfssfss’);
insert into studentInfo values(201303,’李冰’,'男',’计算机系',’数据库一班','1994—5-6',’dfsds’);
insert into studentInfo values(201304,’张丽',’女’,’计算机系',’数据库二班’,'1994-8-9','jhhdfsdfh');
insert into studentInfo values(201305,’赵水','男',’计算机系','数据库三班','1994-10—10',’zcshsj');
建立courses表
create table Courses
(
courID char(10)primary key,
courName char(15)not null,
creditHour number(2,0) not null,
creditScore number(3,1) not null
);
insert into courses values(1201,’数据库一班’,26,2.0); insert into courses values(1202,’软件设计一班’,32,2。
5); insert into courses values(1203,’数据库二班',26,2。
0); insert into courses values(1204,'软件设计二班’,32,3.0); insert into courses values(1205,’数据库计三班’,26,2。
0);
建立scores
create table scores
(
stuID char(10),
stuName char(20) not null,
class char(20) not null,
courID char(10),
usualScore number(3,1) not null,
testScore number(3,1)not null,
constraint scores_stuID foreign key(stuID)references studentInfo(stuID), constraint scores_courseID foreign key(courID)references courses(courID) );
insert into scores values(201301,’李力','软件设计一班',1202,90。
0,95。
0);insert into scores values(201302,'王雪','软件设计二班',1204,95。
0,96。
0); insert into scores values(201303,’李冰',’数据库一班’,1201,80.0,90.0);insert into scores values(201304,'张丽’,’数据库二班’,1203,85.0,90.0);insert into scores values(201305,'赵水',’数据库计三班',1205,60。
0,95。
0);
建立users表
create table users
(
userName char(10) not null,
password char(10)not null,
usertype char(10)
);
insert into users values(’fan',1315925122 ,'学生’);
insert into users values('shao',131 ,’管理员’);
insert into users values('lin',131592,'教师');
创建一个陆的存储过程,判断登陆用户的权限,包括学生、教师、系统管理员。
create or replace procedure login(
p_name in erName%type,
p_password in users.password%type)
As
v_password users.password%type; /*判别输入的密码是否正确*/
v_usertype users。
usertype%type; /*判别该用户的管理等级*/
begin
select password,usertype into v_password,v_usertype from users where
userName=p_name;/*核对用户是否存在*/
begin
if v_password=p_password then /*验证密码*/
begin
if v_usertype='学生' then dbms_output。
put_line(’学生’||p_name||’登陆成功');
elsif v_usertype=’教师' then dbms_output.put_line('教师’||p_name||’登陆成功');
elsif v_usertype=’系统管理员' then dbms_output。
put_line(’系统管理员’||p_name||’登陆成功’);
end if;
end;
else dbms_output.put_line('密码输入错误,该用户登录失败’);
end if;
end;
exception
when no_data_found then
dbms_output.put_line(’该用户不存在!');
end login;
/
set serveroutput on
declare
begin
login('fan',’1315925122’);
end;
/
set serveroutput on
declare
begin
login('shao’,'131');
end;
/
(五)Oracle备份与导出(20分)
利用备份和还原的有关知识.设置数据库的备份方案。
设计数据库备份和恢复的方法,并写出相关的命令和操作.
(1)设置归档模式。
先查看当前文档归档模式
select log_mode from v$database;
当前处于非归档模式,设置为归档模式关闭并重新启动数据库shutdown immediate;
shutdown immediate;
startup mount;
改变日志模式
Alter database archivelog
select log_mode from v$database;
Alter system set log_archive_dest_1=’location=d:\arch';
(2)归档当前日志。
(3)数据库完全备份及实现。
查询数据文件datafile的所在目录:
SELECT name FROM v$datafile;
查询控制文件controlfile的所在目录:
SELECT name FROM v$controlfile;
查询重做日志文件的所在目录:
SELECT member FROM v$logfile;
关闭数据库
shutdown immediate
(4)数据库完全恢复及实现。
(5)利用数据泵实现逻辑导出与导入.
(6)举例说明闪回技术使用(闪回查询、闪回表、闪回删除等)。
附1:报告封面
2014—2015学年第二学期《大型数据库技术》大作业
课题名称:XXXXX系统
班级: 13级软工数据库X班
学号:1234567
姓名:张三
成绩:
2015年5月
(一)Oracle的安装与配置
(1)Oracle 11g的安装
此部分主要描述Oracle 11g的安装过程,在此粘贴安装过程中的屏幕截图。
(2)创建数据库
此部分主要描述利用DBCA创建数据库的过程,在此粘贴创建过程中的屏幕截图。
(二)用户与权限管理
(1)表空间的创建
此部分书写创建一个用户表空间MYTBS的实现代码的屏幕截图。
(2)用户配置文件的创建
此部分写创建用户配置文件的实现代码的屏幕截图。
(3)用户的创建
此部分写创建用户配置文件的实现代码的屏幕截图。
(4)权限的分配
此处写分配权限的代码及查看权限代码
(5)用户登录
此处粘贴用户登录,并执行show user命令的屏幕截图。
(三)Oracle对象创建与管理
(1)课题简介
此部分对课题进行简述,主要描述系统实现的功能。
(2)数据库表清单
此部分主要介绍数据库所有数据表的清单,包括表的类型、表的名称和中文含义
(3)普通数据表及索引的实现
此处描述普通表的创建语法(含主键、外键及自定义约束的实现),直接粘贴用户操作屏幕截图,不用源代码。
(4)索引、视图的实现
(四)PL/SQL编程
此部分主要介绍功能的实现,每个功能分别描述.每个功能单独作为二级标题.
(1)XX1功能
1)功能简介
每个功能首用文字描述功能的作用,然后介绍该功能的输入参数和输出结果.
2)实现代码
(2)XX2功能
1)功能简介
每个功能首用文字描述功能的作用,然后介绍该功能的输入参数和输出结果。
2)实现代码
(五)数据库的备份与恢复
(1)设置归档模式。
(2)归档当前日志。
(3)数据库完全备份及实现。
(4)数据库完全恢复及实现.
(5)利用数据泵实现逻辑导出与导入。
(6)举例说明闪回技术使用(闪回查询、闪回表、闪回删除等)。
注:14周2上交,选择时间进行答辩。