2018-2019学年第1学期《大型数据库技术》

                                                                                            考查报告

要求:

1. 考试要求中独立完成,并提交相应的报告。

2. 报告封面注意课题名称、班级、学号、姓名

3. 报告必须符合附件中的提纲内容要求。

4. 报告必须打印装订。

5. 必须独立完成,抄袭者成绩记为零分

请结合软件工程及大型数据库技术的相关知识,选择一个数据库应用系统的课题,完成课题的设计与开发,并撰写相应的报告。

具体要求如下:

(一)ORACLE11g的安装与配置(10分)

在自己的电脑上配置安装ORACLE 11g,并创建数据库。具体要求如下:

(1)安装版本为企业版

(2)在安装时, 只安装Oralce服务器。在安装完成后再创建数据库。

1、Oracle 11g的安装

  1. 解压下载的包,然后进入包内,点击setup.exe开始安装 。
  2. 出现如下:一般把那个小对勾取消,点击下一步进行,

弹出下图这个后点‘是’

3.下图后,选择创建和配置数据库,点击下一步。

4.下图,选择服务器类,因为桌面类没有高级选项的功能,下一步。

5.下图,选择单实例数据库,下一步

6.下图,选择高级安装,下一步

7,下图选择语言,如果数据库内没有用到其他的语言,就这样默认的就可以了,下一步

8.下图,选择安装版本,用企业版的,下一步

9.下面,选择基目录的时候要注意了,最好去新建一个自定义的目录,以后方便自己查询和更改,不要用这个默认的,删除的时候麻烦。下面说一下怎么新建一个自定义目录。

10.新建自定义目录:在d盘下新建一个文件夹,取名为myoracle,进入这个文件夹,在里面新建一个文件夹,取名oracle. 注意:这两个文件夹的名字可以自己定义,但是最好不要用中文名作文件夹的名字,容易出问题。最好是如下这样的目录结构。

如图,就是这个样子的:

11.继续安装,点击‘oracle基目录’后面的那个浏览:

12.选择刚新建的d:\myoracle\oracle这个文件夹:如图:

13.上面的选择好后,就应该是下面这个样子的:基目录选择好后,软件位置就会自动选择好了,不用管下面的那个浏览了,直接点击下一步。

14.下图,选择‘一般用途事务处理’直接点击下一步:

15.下图,‘全局数据库名’,可以自己定义。下面的服务标识符也是可以自己定义。一般这两个就使用默认的了。下一步。

16.下图,就按照默认的来吧,点击下一步。

17.下图,也选择默认,下一步

18.下图,还是默认的,点击下一步。

19.下图,直接下一步

20.下图,配置口令,如果怕麻烦的话,如果仅仅是做学习用的话,统一口令就行。如果以后高级了,可以分别设置口令。这几个用户权限是不同的。我就用统一口令了,输入了oracle123.。。注意一点:你的这个口令,必须以字母开头,数字开头的话,后面会有很多问题的。

21.输入上面那个oracle后,会弹出如下:在这里要注意了,oracle的密码标准是要字母数字大小写组合的大于八位才行,一般要是仅供学习用的话,不用在意这个。直接点‘是’就行。

22.下图,检测环境:

24.环境检测完后,有的是可以直接点击下一步的,有的会出现如下图:这个时候,一般是下图这样的,那么就应该没多大问题,选择全部忽略,再点击下一步就行了。

25.会出现如下:点击完成,就可以开始安装了。

26.开始安装了:安装比较慢,安装完数据库软件后,还会接着创建一个数据库实例,所以要等上好一会儿,玩一会儿后再来。

27.安装完后出现这个:点击确定就可以完成了。关闭。

这样就完成oracle的安装了。

(3)利用DBCA创建数据库,数据库名称为自己姓名的拼音首字母,如某学生的姓名为“张三”,则数据库的名称则为zs。

(4)数据库为共享数据库。

(5)创建数据库时选择示例模式。

(6)数据库所有的用户使用相同的口令,口令为学生的学号。

将上述安装过程截屏并将图片及相关文字描述添加在文档中。数据库名称不正确者不得分。

(二)用户的创建与权限管理(20分)

(1)新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。

(2)创建用户配置文件userprofile,要求密码的生存周期为10天,允许输入错误的密码不得超过3次,超过3次密码锁1天。(用语句查看该配置文件中的资源配置结果,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编程(30分)

系统功能必须通过函数、存储过程、触发器或包实现。至少创建一个函数、一个触发器(实现级联更新功能)、2个过程。不能用程序设计语言实现。先描述功能,再写实现代码。

例如:用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。 -1表示登录失败,0表示没有此用户,1表示登录成功。系统所有的业务逻辑必须通过上述方式实现,否则答辩无效。

SQL> grant create session,create table,create view,create any procedure,create role,

create sequence to hlt with admin option;

创建用户users表:

create table hlt_users

(userName char(10) not null,

password char(10) not null,

usertype char(10));

插入数据

SQL> insert into hlt_users values('胡','123456','学生');

SQL> insert into hlt_users values('苑','123456','学生');

SQL> insert into hlt_users values('中华','666666','管理员');

SQL> insert into hlt_users values('杜','999','教师');

SQL> insert into hlt_users values('中文','321','管理员');

SQL> insert into hlt_users values('轰20','320','教师');

SQL> create or replace procedure login(

2  p_name in hlt_users.userName%type,

3  p_password in hlt_users.password%type)

4  As

5  v_password  hlt_users.password%type;  /*判别输入的密码是否正确*/

6  v_usertype hlt_users.usertype%type;  /*判别该用户的管理等级*/

7  begin

8  select password,usertype into v_password,v_usertype from hlt_users where userName=p_name;   /*核对用户是否存在*/

9  begin

10    if v_password=p_password then            /*验证密码*/

11    begin

12  if v_usertype='学生' then  dbms_output.put_line('学生'||p_name||'登陆成功');

13  elsif v_usertype='教师' then dbms_output.put_line('教师'||p_name||'登陆成功');

14  elsif v_usertype='系统管理员' then dbms_output.put_line('系统管理员'||p_name||'登陆成功');

15    end if;

16    end;

17  else dbms_output.put_line('密码输入错误,该用户登录失败');

18  end if;

19  end;

20  exception

21  when no_data_found then

22  dbms_output.put_line('该用户不存在!');

23  end login;

24  /

登录:

set serveroutput on

declare

begin

login('轰20','320');

end;

/

(五)Oracle备份与导出(20分)

利用备份和还原的有关知识。设置数据库的备份方案。设计数据库备份和恢复的方法,并写出相关的命令和操作。

(1)设置归档模式。

先查看当前文档归档模式

select log_mode from v$database;

切换用户:

SQL> conn /as sysdba

当前处于非归档模式,设置为归档模式关闭并重新启动数据库

shutdown immediate;

startup mount;

改变日志模式:

SQL> Alter system set log_archive_dest_1='location=d:\arch';

(2)归档当前日志。

SQL> Alter database archivelog;

SQL> select log_mode from v$database;

(3)数据库完全备份及实现。

查询控制文件datafile的所在目录:

查询控制文件controlfile的所在目录:

查询重做日志文件的所在目录:

关闭数据库:

(4)数据库完全恢复及实现。

1.找到故障数据文件

alert.log

backgroundtracefile

vSrecover filev$recovery log

通过这两个视图可以了解详细的需要恢复的数据文件与需要使用到的归档日志

(5)利用数据泵实现逻辑导出与导入。

导出数据库:

expdb user/password@orcl tables=table1=’ where number = 1234’        dumpfile=expdb.dmp firectory = data,dir logfile = expdp;

导入数据库:

impdp sys/password tablespace=tbs1 directory=data_dir dumpfile=expdp.dmp        logfile=impdp.log;

Oracle数据库大作业相关推荐

  1. 数据库大作业 openGauss程序设计

    本文最终实现一个Web在线考试管理系统,可作为Python Web,Django的练手项目. 摘要 本系统实现学生在线考试管理的基本功能,包括学生登录.查看自己的个人信息及考试信息:提供了在线考试的界 ...

  2. java大作业用jsp数据库java_JSP数据库大作业 - 不是太阳也要发光的个人页面 - OSCHINA - 中文开源技术交流社区...

    本人QQ:240814476  欢迎大家提问,共同学习,共同进步. 最近做了一个数据库大作业啊,想用JSP做,发现代码量好大,在做前台的时候感觉手忙脚乱,没时间. 可能是本人拖了太久的原因吧 . 做的 ...

  3. 专科mysql数据库大作业_数据库大作业整理·总

    能找到这里的小同学,我们可能是校友哦. 这个不正经的帖子来整理一下我们用pyqt5+eric6+mysql开发天气管理系统(17地市)的所有走过的路,尤其是我走弯路后的修正路线. 因为找了一些资料,看 ...

  4. 数据库大作业代码展示2

    因为上个界面实在是太卡了,尤其在c#代码里,打字都是延缓的,所以分开来展示. 这一个主要是管理员界面的介绍,窗口调用如下: ManageMain窗口:(管理员主界面)省略代码和前文一样, (学生管理) ...

  5. MySQL数据库大作业——学生管理系统GUI

    MySQL数据库大作业--学生管理系统GUI 原程序链接: https://www.bbsmax.com/A/kmzL3WQBdG/ 为了完成数据库大作业, 我在其基础上进行了一定的修改和扩充. 如果 ...

  6. mysql数据库大作业学籍管理系统_数据库大作业学籍管理系统代码和报告

    [实例简介] 此为大学数据库大作业的报告以及源代码及打包程序.数据库使用MySQL设计,管理界面采用java编写,附带完整报告. [实例截图] [核心代码] 15180210013康辉数据库报告 └─ ...

  7. 数据库大作业学习(一)

    写在前面: 写这些博文,记录一下被数据库大作业逼迫的日子.两周,看看能不能赶出来. 港真,我们小组三人都是菜到不能再菜的渣渣了!!绝望.jpg.我觉得够呛--不管咋样,试试再说吧.我们准备用从来没玩过 ...

  8. 数据库大作业C++builder

    数据库大作业C++builder 功能齐全 下载地址 Access 完成增删改查 利用C++builder 实现显示 运行截图

  9. 学校图书借阅管理系统(python + sql serve)数据库大作业

    最近学校数据库原理结课,需要做一个大作业,还要求写图形化界面,现在分享我的源码,有很多不足之处我也懒的改了,给大家参考一下 具体要实现的功能为图书,读者信息的增删查改,借书还书触发器更改实时库存,超时 ...

最新文章

  1. SpringBoot线程池的创建、@Async配置步骤及注意事项
  2. ADO.NET入门教程(三) 连接字符串,你小觑了吗?
  3. ios UIScrollView 中控件自动增加间隔
  4. linux cache 内核参数,Linux内核中drop_caches参数
  5. Kafka设计解析(六)- Kafka高性能架构之道
  6. html输入支付密码样式,基于JS实现类似支付宝支付密码输入框
  7. 简单易用的IT运维服务器管理程序分享!
  8. 【To Read】LeetCode | Jump Game II(转载)
  9. Netty工作笔记0056---Unpooled应用实例2
  10. 计算机网络第四章 答案,第四章计算机网络技术练习及答案
  11. 京东分类页面部分的实现
  12. 软件测试面试中90%会遇到的问题:“你会搭建测试环境吗?”
  13. [JS] 聊一聊File对象
  14. 科技型中小企业申报时间?
  15. 首席数据官:从哪里来?到哪里去?
  16. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  17. SwiftUI学习记录
  18. php模拟彩票生成器,一种彩票号码生成器的制作方法
  19. 2014届百田校招笔试
  20. 如何制作地图符号的实验报告

热门文章

  1. 检测OTU序列遗传发育信号的R实现
  2. android中Zing二维码扫描,二维码生成
  3. kafka eagle的介绍和详细安装教程
  4. 数字IC设计学习笔记(一)——逻辑综合简介
  5. PAT A1008 Elevator
  6. sdk manger
  7. 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查
  8. 编程中常见的Foo是什么意思
  9. STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏
  10. C语言 简易计算器 //支持求阶乘