您的当前位置:首页正文

201258014009杨玉玲实验3

2024-05-01 来源:榕意旅游网


重庆文理学院软件工程学院

实 验 报 告 册

专 业:软件工程

班 级:_软件一班 _______

学 号:_201258014009______ ___ 姓 名:_杨玉玲______ ___________ 课程名称:oracle数据库 指导教师:李瑞

2014年11月03日

实验序号 实验地点 3 S-C1301/S-A1310 实验名称 实验日期 用户及权限,完整性约束 2014年11月 3日 1. 创建用户user1,user2,user3,user4,user5; 2. 把查询manager表的权限授给用户User1; 3. 把对manager表和JOBS表的全部操作权限授予用户User2和User3; 4. 把对表MANAGER的查询权限授予所有用户; 5. 把查询manager表和修改雇员编号的权限授给用户User4; 6. 把对表MANAGER的INSERT权限授予User5用户,并允许将此权限再授予其他用户; 7. 把用户User4修改经理编号的权限收回; 实 验 内 容 8. 收回所有用户对表MANAGER的查询权限; 9. 把用户User5对MANAGER表的INSERT权限收回; 10. 建立2个表,一个是stuInfo(学号sno,姓名sname,年龄sage,性别smale,系编号deptNo),一个是department(系编号deptNo,系名称deptName)。 要求: 每个表有主键,stuInfo表建立外键,学生的姓名不能为空,学生的年龄要在18到50之间,学生的性别必须是男女之一,默认是男。stuInfo表的deptNo列,要参照department表的deptNo列; 11. 添加约束:允许stuInfo中的姓名可以为空;允许stuInfo中的姓名不能重复;创建deptName_check,要求department的系名称列的内容,必须大于4个字符长度; 12. 删除约束:删除刚才建立的department表上的deptName_check 约束,删除主键语句; 13. 删除主键被引用的表department。 1. 创建用户user1,user2,user3,user4,user5;

create user user1 identified by user1; create user user2 identified by user2; create user user3 identified by user3; create user user4 identified by user4; create user user5 identified by user5;

实 验 过 程 及 步 骤

2. 把查询manager表的权限授给用户User1; 先在hr下根据employee表创建manager表

create table manager as select

EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,JOB_ID,SALARY,MANAGER_ID from employees where 1>2;

grant select on hr.manager to user1;

grant create session to user1;

select * from hr.manager;

3. 把对manager表和JOBS表的全部操作权限授予用户User2和User3;

grant all on hr.jobs to user2,user3; grant all on hr.manager to user2,user3;

grant create session to user2,user3;

结果:

4. 把对表MANAGER的查询权限授予所有用户;

grant select on hr.manager to user1,user2,user3,user4,user5;

或者是:

grant select on hr.manager to public;

5. 把查询manager表和修改雇员编号的权限授给用户User4;

grant select,update(EMPLOYEE_ID) on hr.manager to user4;

6. 把对表MANAGER的INSERT权限授予User5用户,并允许将此权限再授予其

他用户;

grant insert on hr.manager to user5 with grant option;

7.把用户User4修改经理编号的权限收回;

revoke update on hr.manager from user4;

8. 收回所有用户对表MANAGER的查询权限;

revoke select on hr.manager from user1,user2,user3,user4,user5;

9. 把用户User5对MANAGER表的INSERT权限收回;

revoke insert on hr.manager from user5;

10. 建立2个表,一个是stuInfo(学号sno,姓名sname,年龄sage,性别

smale,系编号deptNo),一个是department(系编号deptNo,系名称deptName)。

要求: 每个表有主键,stuInfo表建立外键,学生的姓名不能为空,学生的年龄要在18到50之间,学生的性别必须是男女之一,默认是男。stuInfo表的deptNo列,要参照department表的deptNo列;

create table department(

deptNo varchar2(20) constraint pk_dept primary key, deptName varchar2(20) );

create table stuInfo(

sno number constraint pk_stu primary key, sname varchar2(10) not null, sage int,

smale char(4) default '男' check(smale in('男','女')), deptNo varchar2(20),

foreign key(deptNo) references department(deptNo), constraint CS_AGE check(sage>18 and sage<50) );

11. 添加约束:允许stuInfo中的姓名可以为空;允许stuInfo中的姓名不

能重复;创建deptName_check,要求department的系名称列的内容,必须大于4个字符长度;

alter table stuInfo modify sname null;

alter table stuInfo add constraints sname_unique unique(sname);

alter table department add constraints deptName_check check(length(deptName)>4);

12. 删除约束:删除刚才建立的department表上的deptName_check 约束,

删除主键语句;

alter table department drop constraints deptName_check;

alter table department drop primary key cascade;

13. 删除主键被引用的表department。

drop table department cascade constraints;

实 验 结 果 及 分

实验过程中存在的问题和解决方法

通过这次实验,我对于用户权限管理和完整性约束的知识有了进一步的掌握,顺利完成了实验中所有的内容,对于不太清楚的问题查看了ppt,并上网查看了相关文档。

析 教 师 评 阅

成绩:A 教师签名:李瑞 2014年3月22日

因篇幅问题不能全部显示,请点此查看更多更全内容