暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据库 实验三 用户与对象管理

原创 海忧达嘉 2023-05-18
1301

实验报告仅供参考,有错的地方自行思考,学号记得改掉!。。。

当时有个步骤实验失败,过一年了忘记是啥

文章是导入md,图片使用哔站图床

一、实验目的及要求

1、掌握用户的建立、修改、查看、删除操作。
2、掌握权限的建立、修改、查看、删除操作。
3、掌握表结构的建立、修改、查看、删除操作。
4、掌握表数据的更新和查询操作。
5、必须设计一个良好的数据库结构。

二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)

1、安装windows 7或Windows 2000及更高版本的微型计算机。
2、并要求Oracle软件11g以后版本。

三、实验内容及要求

(一)实验步骤

1、创建用户

请以sys管理员登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1) 利用SQL*Plus,创建“stu+学号”用户(用户名例如:stu091549901),密码为“stu +学号” ,默认表空间为“stu_tbs”(请提前创建该表空间),该用户处于锁状态。

(2)利用SQL*Plus,从DBA_USERS数据字典中查看“stu+学号”用户的默认表空间和临时表空间的信息。

(3) 利用SQL*Plus,修改“stu+学号”用户,将该用户解锁,并将密码改为“123456”。

2、用户权限管理。

请以sys管理员登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1) 利用SQL*Plus,授予“stu +学号”用户“CREATE ANY TABLE”、“CREATE ANY INDEX”、“ALTER ANY TABLE”、“ALTER ANY INDEX”、“DROP ANY TABLE”和“DROP ANY INDEX”系统权限。

(2)利用SQL*Plus,将“stu +学号”用户授予scott模式中对dept表的查看、修改、删除对象权限;对scott模式下emp表的全部权限。

(3) 利用SQL*Plus,收回“stu+学号”用户对scott模式中对dept表的修改、删除对象权限。

(4) 利用SQL*Plus,收回“stu+学号”用户的“DROP ANY TABLE” 和“DROP ANY INDEX”系统权限。

3、表对象管理

请以第1题创建的用户“stu+学号”用户登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1) 利用SQL*Plus方式建立三个表:P(产品信息表,包含一个价格字段,约束要求价格大于0且小于1000)、C(顾客信息表)和S(产品销售表,包含一个销售日期字段),三个表的具体字段及其类型请自行设计。并将其中一个表设计为分区表(分区表空间创建命令不需要记录在实验结果中)。分区表要给出具体的分区目的。

(2) 利用SQL*Plus查看P表的字段信息和约束信息。

(3) 利用SQL*Plus禁用P表的关于价格字段的约束。

(4) 利用SQL*Plus对某个表建立一个位图索引,并说明设计理由。

4、表数据编辑

请以第1题创建的用户“stu+学号”用户登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1)利用SQL*Pluss实现对P、C和S表中数据的实用性编辑,包括添加、修改和删除。至少各3条语句。

(3) 利用SQL*Plus实现对表中数据的各种实用性查询,并创建一个视图提现某个产品的每月销售额。

(二)思考题

请设计S表的历史数据的管理模式和方法。


四、实验步骤及结果(包含简要的实验步骤流程、结论陈述)

1、创建用户

请以sys管理员登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

打开cmd窗口,输入

sqlplus / as sysdba

img

(1) 利用SQL*Plus,创建“stu+学号”用户(用户名例如:stu091549901),密码为“stu +学号” ,默认表空间为“stu_tbs”(请提前创建该表空间),该用户处于锁状态。

create tablespace stu_tbs;

img

create user stu201543225 identified by stu201543225 default tablespace stu_tbs temporary tablespace temp quota unlimited on users;

img

alter user STU201543225 account lock;

img

(2) 利用SQL*Plus,从DBA_USERS数据字典中查看“stu+学号”用户的默认表空间和临时表空间的信息。

col username format a20 SELECT USER_ID, USERNAME, DEFAULT_TABLESPACE,temporary_tablespace FROM DBA_USERS WHERE USERNAME='STU201543225';

img

(3) 利用SQL*Plus,修改“stu+学号”用户,将该用户解锁,并将密码改为“123456”。

alter user STU201543225 account unlock;

img

alter user STU201543225 identified by 123456;

img

2、用户权限管理。

请以sys管理员登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1) 利用SQL*Plus,授予“stu +学号”用户“CREATE ANY TABLE”、“CREATE ANY INDEX”、“ALTER ANY TABLE”、“ALTER ANY INDEX”、“DROP ANY TABLE”和“DROP ANY INDEX”系统权限。

grant CREATE ANY TABLE, CREATE ANY INDEX,ALTER ANY TABLE,ALTER ANY INDEX,DROP ANY TABLE,DROP ANY INDEX to STU201543225 with admin option;

img

(2) 利用SQL*Plus,将“stu +学号”用户授予hr模式中对departments表的查看、修改、删除对象权限;对hr模式下employees表的全部权限。

grant select,alter,delete on hr.departments to STU201543225;

img

grant all on hr.employees to STU201543225;

img

(3) 利用SQL*Plus,收回“stu+学号”用户对hr模式中对departments表的修改、删除对象权限。

revoke alter,delete on hr.departments from STU201543225;

img

(4) 利用SQL*Plus,收回“stu+学号”用户的“DROP ANY TABLE” 和“DROP ANY INDEX”系统权限。

revoke DROP ANY TABLE,DROP ANY INDEX from STU201543225;

img

3、表对象管理

请以第1题创建的用户“stu+学号”用户登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

conn STU201543225/123456 as sysdba

img

(1) 利用SQL*Plus方式建立三个表:P(产品信息表,包含一个价格字段,约束要求价格大于0且小于1000)、C(顾客信息表)和S(产品销售表,包含一个销售日期字段),三个表的具体字段及其类型请自行设计。并将其中一个表设计为分区表(分区表空间创建命令不需要记录在实验结果中)。分区表要给出具体的分区目的。

create tablespace tbs1; create tablespace tbs2; create tablespace tbs3; create table P( Pid number(10) primary key, Pname varchar2(80), Pprice number(4) CONSTRAINT G_CK CHECK(Pprice between 0 and 1000) );

img

create table C( Cid number(10) primary key, Cname varchar2(18) not null, Csex CHAR(2) CHECK(Csex in ('M', 'F')) );

img

S产品销售表,保存数据量庞大的销售信息,适合按时间分区方便数据存储和管理,平衡硬盘的I/O操作,将一个表分散存储在不同的表空间tbs1,tbs2,tbs3中。

create table S( Pid number(10), Cid number(10), Stime date ) partition by range(Stime)( partition sales_q1 values less than (to_date('1-3-2022', 'DD-MM-YYYY')) tablespace tbs1, partition sales_q2 values less than(to_date('1-4-2022', 'DD-MM-YYYY')) tablespace tbs2, partition sales_q3 values less than(to_date('1-5-2022', 'DD-MM-YYYY')) tablespace tbs3 );

img

(2) 利用SQL*Plus查看P表的字段信息和约束信息。

select hr.table_name, hr.column_name, hr.data_length from user_tab_columns hr where hr.table_name='P';

img

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE,DEFERRED,STATUS FROM USER_CONSTRAINTS WHERE TABLE_NAME='P';

img

(3) 利用SQL*Plus禁用P表的关于价格字段的约束。

alter table P disable constraint G_CK;

img

(4) 利用SQL*Plus对某个表建立一个位图索引,并说明设计理由。

C(顾客信息表)中性别列的唯一值除以行数为一个很小的值,接近零。因为索引字段值域比较少时,位图索引对空间的占用非常少,而且顾客信息表也常常分析男女信息获取商机,适合创建位图索引。

create bitmap index C_sex on C(Csex);

img

4、表数据编辑

请以第1题创建的用户“stu+学号”用户登录,完成下面操作内容,并记录操作命令,可以分小题截图命令和反馈结果。

(1)利用SQL*Pluss实现对P、C和S表中数据的实用性编辑,包括添加、修改和删除。至少各3条语句。

P表:

insert into P values(1000000000,’梅赛德斯’,5000);

img

Update P set Pprice=6000 where Pid=100000000;

img

Delete from p where Pid=100000000;

img

(3) 利用SQL*Plus实现对表中数据的各种实用性查询,并创建一个视图提现某个产品的每月销售额。

Create view Saleview as select Pid,Pname,Pprice from P;

img

C表:

insert into C values(1000000086,’寒冬’,’F’);

img

Update C set Pname=’林湛湛’ where Cid=100000086;

img

Delete from C where Cid=100000086;

img

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论