实验六 模式对象管理与安全管理

简介: 实验六 模式对象管理与安全管理

😘欢迎关注:👍点赞🙌收藏✍️留言

🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!

实验六 模式对象管理与安全管理

【实验目的】

  1. 了解模式对象的类型
  2. 掌握命令方式建立表、视图、索引等常见对象的方法
  3. 了解保存点、回退、提交操作
  4. 熟悉Oracle中权限分类和设置,理解系统提供用户的角色和权限
  5. 熟练使用建立用户、角色,为用户授权、授予角色的命令

【实验内容】

  1. 创建一个TESTUSER用户,密码为test,默认表空间为users表空间,在users表空间中quota属性为unlimited
  • 编写程序
create user TESTUSER
IDENTIFIED BY test
default tablespace users
quota unlimited on users;
  • 运行结果

  1. 创建用户后为其授予登录数据库和创建数据库对象的权限
  • 编写程序
grant connect,resource to TESTUSER;
  • 运行结果

  1. TESTUSER用户登录数据库
  • 编写程序
conn testuser/test
  • 运行结果

  1. 创建学生信息表(学号,姓名,性别,入学成绩),定义主键和输入数据(至少5条数据),提交添加的数据。并完成下面的题目:

4.1.创建学生信息表并插入数据

  • 编写程序
create table stu_table
  (
    stu_no char(8) primary key not null,
    stu_name varchar2(10) not null,
    stu_sex char(1) not null,
    stu_grade float not null
  );
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20180001', 'Lunatic', 'M', 488.2);
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20180002', 'Insane', 'M', 391.5);
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20180003', 'Mad', 'M', 477.8);
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20180004', 'Faze Clan', 'F', 489.2);
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20180005', 'Astralis', 'F', 590.2);
  1. 再继续添加2条数据,设置一个保存点savepoint,再添加1条数据,执行回退到保存点的回退命令。查看此时表中数据
  • 添加2条数据
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20210006', 'ARSENAL', 'M', 591.2);
  insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
  values ('20210007', 'Chelsea', 'M', 488.5);
  • 设置一个保存点
savepoint key_rollback;
 

  • 再添加一条数据
insert into stu_table(stu_no, stu_name, stu_sex, stu_grade)
values ('20210008', 'Man Utd', 'M', '388.7');

  • 回退到保存点的位置
rollback to key_rollback;

  • 查看表中数据,可以看到学号为20210008的学生信息消失。
select * from stu_table;

  1. 查询入学成绩大于480的学生信息
select * from stu_table
where stu_grade > 480;

  1. 建立男生信息视图(创建视图的权限需要提前授予)
  • 授予创建视图的权限(注意切换到有权限的用户下进行授权)
grant create view to testuser;

  • 建立男生信息视图
  create view view_male
  as
  select * from stu_table
  where stu_sex = 'M';

  1. 在“成绩”字段上建立B-树索引
create index B_index on testuser.stu_table(stu_grade);

  1. 在testuser用户登录下,创建一个表簇,名为empl_dep,容纳empl表和dep表,有公共字段depno(簇键),大小为500,默认表空间为USERS表空间,存储参数为:初始化区间大小为100K,第二区间为200K等。
  • 编写程序
create cluster empl_dep(depno varchar2(4))
size 500
tablespace users storage(
  initial 100 K
  next 200 K
  minextents 2
  maxextents 20
  pctincrease 33
);

运行结果

  ![](https://ucc.alicdn.com/images/user-upload-01/img_convert/2da75772f4e8bb3e1fe4c4a60fec478d.png)
  1. 在表簇中建立empl表和dep表
  1. empl表(职员表)的主键为eno,外键为depno (需要先建立dep表)
  • 编写程序
  create table empl
  (
    e_no varchar(10) primary key,
    e_name varchar(10) not null,
    e_sex varchar(2),
    depno varchar(4) not null references dep
  )
  cluster empl_dep(depno);


  • 运行结果

  1. dep表(部门表)的主键为depno。
  • 编写程序
  create table dep
  (
    depno varchar(4) primary key,
    d_name varchar(10) not null,
    rs number
  )
  cluster empl_dep(depno);
  • 运行结果
![](https://ucc.alicdn.com/images/user-upload-01/img_convert/6260e2a01124809151829d3bce727cee.png)
  1. 在表簇中建立一个簇键索引,名为empl_dep_index。
  • 编写程序
create index empl_dep_index
on cluster empl_dep tablespace users;


  1. 授予scott用户在empl表上的所有权限,提示:授权和收回权限可在sys/system/testuser用户登录以后进行授权。
  1. 授权
  • 编写程序
grant all on empl to scott;
  • 运行结果

  1. 授权后,更改为scott用户登录,测试是否能对empl表进行查改增删
  • 在这之前先给dep表插入数据

  • 然后到SCOTT用户下对empl表进行操作
  • 登录SCOTT

  • 插入数据

  • 查看数据

  • 删除数据

  • 修改数据

  1. 收回scott用户拥有的empl表上DELETE权限,再次测试scott用户对empl表的删除操作是否还能执行
  • 在testuser用户下收回scott用户拥有的empl表上DELETE权限

  • 登录SCOTT用户测试是否可以对empl表进行删除

【实验总结】

本次实验着重介绍了模式对象管理和安全管理的知识。通过实验,我们学习了创建用户、授权和权限设置的方法,以及使用命令创建表、视图、索引等数据库对象的技巧。我们还学会了保存点、回退和提交操作的运用,以及如何建立和管理用户角色和权限。此外,我们还学习了在表簇中建立索引和授予权限的操作。通过这次实验,我们对数据库的结构管理和安全性有了更深入的理解,为今后的数据库管理工作打下了坚实基础。


相关文章
|
16天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34811 42
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
10天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
10415 34
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
5天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2144 21
|
28天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45700 155
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
10天前
|
机器学习/深度学习 存储 人工智能
还在手写Skill?hermes-agent 让 Agent 自己进化能力
Hermes-agent 是 GitHub 23k+ Star 的开源项目,突破传统 Agent 依赖人工编写Aegnt Skill 的瓶颈,首创“自我进化”机制:通过失败→反思→自动生成技能→持续优化的闭环,让 Agent 在实践中自主构建、更新技能库,持续自我改进。
1693 5
|
3天前
|
人工智能 弹性计算 安全
Hermes Agent是什么?怎么部署?超详细实操教程
Hermes Agent 是 Nous Research 于2026年2月开源的自进化AI智能体,支持跨会话持久记忆、自动提炼可复用技能、多平台接入与200+模型切换,真正实现“越用越懂你”。MIT协议,部署灵活,隐私可控。
1326 2