《大型数据库系统》实验指导书

2019-03-10 12:01

《大型数据库系统》课程实验指导书

修订 刘忠民

1

刘晓瑢

实验一 创建、修改和删除表

一、实验目的

? 了解Oracle系统的组织结构 ? 熟悉Oracle企业管理器环境 ? 熟悉SQL*Plus环境

? 掌握用Oracle企业管理器以及SQL*Plus创建、修改、删除表

二、实验环境

一台计算机,安装了WINDOWS 2000 SERVER和Oracle 9i。Oracle帐户(system/manager, sys/change_on_install, scott/tiger)。

三、预备知识

1、复习《数据库系统概论》第三章关系数据库标准语言SQL:

1)学生---课程数据库实例的三张表的ER图。

学生 选修 课程 成绩

2)表的定义3)表的修改 4)表的删除

5)插入、修改、删除数据

2、复习《数据库系统概论》第五章数据库完整性

3、在SQL*Plus中输入完SQL语句后,有3种处理方式: 1)在语句最后加分号(;),并按回车键,则立即执行该语句;

2)语句输入结束后回车换行,然后再按回车键,结束SQL语句输入但不执行该语句; 3)语句输入结束后按回车键,换行后按斜杠(/),则立即执行该语句。 4、编辑缓冲区

由于以命令行的方式编辑SQL缓冲区不太方便,常采用EDIT命令以编辑器打开缓冲区并进行编辑。

四、实验内容

1、查看数据库的系统文件。 2、熟悉Oracle系统环境

3、分别用OEM和SQL*Plus完成以下操作(用SQL语句创建表可参见《数据库系统概论》P85) 注:所有表都创建在scott方案下,在Sql*plus下以scott用户连接数据库

1)创建以下表

◆Student(Sno,Sname,Ssex,Sage,Sdept):学生表

sno是主码,ssex要有CHECK约束

◆Course(Cno,Cname,Cpno,Ccredit):课程表

2

其中,cno是主码, cpno表示先行课,参照本表的cno

(注:在用OEM创建cpno引用cno约束时,要先创建表course,再创建约束)

◆Sc(Sno,Cno,Grade):选课表

主码为(sno,cno), sno和cno都要有外键约束

2)修改表定义

向Student表中增加Sentrance“入学时间”列,定义为date数据类型 3)插入记录

注意,在插入记录时要满足数据完整性约束

Student表

Sno 98001 98002 98003 98004

Course表 Cno 1 2 3 4 5 6 7 Cname 数据库系统 数学分析 信息系统导论 操作系统原理 数据结构 数据处理基础 C语言 Cpno 5 null 1 6 7 null 6 Ccredit 4 2 3 3 4 4 3 Sname 钱横 王林 李民 赵三 Ssex 男 女 男 女 Sage 18 19 20 16 Sdept Sentrance CS CS IS MA 12-3月-92 12-3月-91 12-3月-90 12-3月-94 注:该表中Cpno参照本表的Cno,即Cpno要么为空,要么是已插入的课程记录,所以

注意记录插入的先后顺序。

SC表 Sno Cno Grade 87 67 90 95 88 98001 1 98001 2 98001 3 98002 2 98002 3 4)修改数据

①将SC表中的成绩都增加10% ②将CS系的学生成绩清零

5)删除记录(注在删除记录前检查是否保存插入记录的Sql语句) ①删除Student表的所有记录

②删除SC表中Cno是2的所有记录 6)用Sql语句恢复所删除的记录

4、该实验中的创建表、修改表语句以及插入记录语句保存到脚本文件中,备用于下次实验恢复表和记录。

5、思考其它的备份数据库的方法。

3

实验二 查询语句运用

一、实验目的

1、 熟练掌握查询语句的用法。 2、 进一步熟悉SQL*Plus工作环境

二、实验环境

一台计算机,安装了WINDOWS 2000 SERVER和Oracle 9i。Oracle帐户(system/manager, sys/change_on_install, scott/tiger)。

三、预备知识

1、复习数据查询语句

四、实验内容

1、打开Sql*Plus,用scott用户连接,密码是tiger. 2、用实验一备份的语句还原表和数据。 3、在SQL*Plus中完成以下查询语句: 1)基本查询语句

例:查询全体学生的学号与姓名

2)带ORDER BY子句的查询

例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

3)多表查询(连接操作)

例:查询选修2号课程且成绩在90分以上的所有学生。

4)元组变量的使用查询

例:查询与‘王林’在同一个系学习的学生。

5)查询语句中的集合操作

例:求各个课程号及相应的选课人数。

6)组函数与group by子句(having子句) 例:查询选修了3门以上课程的学生学号

7)嵌套查询

例:查询选修了课程号为“数据库系统”的学生学号和姓名。

4

实验三 权限及角色的设置操作

一、实验目的:

1、理解ORACLE中的各系统权限、对象权限及角色的含义。 2、掌握用户的创建和给用户授予适当的权限。

二、实验环境

一台计算机,安装了WINDOWS 2000 SERVER和Oracle 9i。Oracle帐户(system/manager, sys/change_on_install, scott/tiger)。

三、预备知识

1、 Oracle数据库系统中权限分为两类:系统级和对象级。

1)系统级权限:对某一特定类型实体上执行特定操作的权限 2)对象级权限:针对某个数据库对象(表、视图等)的操作权限 详见课本中权限列表。 2、创建用户

create user testuser --用户名为testuser identified by testpwd --口令为testpwd

default tablespace users --缺省表空间使用users表空间 temporary tablespace temp; --临时表空间使用temp表空间 quota unlimited on users --用户使用表空间users的配额限制 quota 10m on temp --用户使用临时表空间temp的配额限制 profile manager; --指定用户使用的概况名为manager

注意:创建新用户是必须为用户建立表空间配额,否则用户没有使用表空间的空间的权利;当用CREATE USER命令建立一个用户时,该用户的权利范围是空的。必须为用户指定一定的权限,用户才能操作数据库。如:为登录Oracle,用户必须有CREATE SESSION系统特权。 3、用户概要文件

用户概要文件决定对数据库资源的使用的限制,例 Create profile manager limit

sessions_per_user unlimited --可建立的会话数目 cpu_per_session unlimited --单位百分之一秒

cpu_per_call 3000 --执行一条SQL语句可用时间 connect_time 45 --会话建立后允许的持续时间(分) logical_reads_per_session default --会话期间可读数据库块数

logical_reads_per_call 1000 --执行一条SQL语句可读数据库块数 private_sga 15k

composite_limit 5000000 --总的资源限制

5


《大型数据库系统》实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:step by step3000第三册unit11答案及原文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: