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

🕺作者: 主页

我的专栏
C语言从0到1
探秘C++
数据结构从0到1
探秘Linux

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

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

文章目录

  • 实验六 模式对象管理与安全管理
    • 【实验目的】
    • 【实验内容】
    • 【实验总结】

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

【实验目的】

  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://img-blog.csdnimg.cn/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://img-blog.csdnimg.cn/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表进行删除

【实验总结】

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/336323.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

文章目录 Matplotlib: 强大的数据可视化工具1. 基础1.1 安装Matplotlib1.2 创建第一个简单的图表1.3 图表的基本组件:标题、轴标签、图例 2. 常见图表类型2.1 折线图2.2 散点图2.3 条形图2.4 直方图 3. 图表样式与定制3.1 颜色、线型、标记的定制3.2 背景样式与颜色…

Linux——进程等待

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、为什么要进程等待二、进程等待的方法1、wait方法2、waitpid方法 三、获取子进程status 一…

2008年苏州大学837复试机试C语言

2008年苏州大学复试机试C 题目 编写程序充成以下功能: 一、从键盘上输入随机变量x的 10个取样点。X0,X1—X9 的值; 1、计算样本平均值 2、判定x是否为等差数列 3、用以下公式计算z的值(t0.63) 注。请对程序中必要地方进行注释 补充:个人觉得这个题目回…

【51单片机】矩阵按键

0、前言 参考&#xff1a;普中 51 单片机开发攻略 1、硬件 2、软件 main.c #include <reg52.h> #include <intrins.h> #include "delayms.h"typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; #define GPIO_KEY P1 #d…

leetcode:每日温度---单调栈

题目&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例&…

浪花 - 用户信息展示+更新

1. 用户登录获取登录凭证 已登录的用户才能获取个人信息发送 Aixos 请求登录 const user ref();onMounted(async () > {const res await myAxios.get(/user/current);if (res.code 0) {console.log("获取用户信息成功");user.value res.data;} else {consol…

python_selenium自动化测试框架

设计思路 本文整理归纳以往的工作中用到的东西&#xff0c;现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写成基础测试框架&#xff0c;能适应日常测试工作需要。 1、使用Page Object模式将页面定位和业务操作分开&#xff0…

自然语言处理(Natural Language Processing,NLP)解密

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

多维表格产品vika多维表、Flowus、Wolai体验记录

昨天从下午6点肝到凌晨2点多体验低代码平台多维表格产品&#xff0c;体验了3个国内产品&#xff0c;vika多维表、Flowus、Wolai。 具有多维表格新型关系数据库的鼻祖是 Airtable&#xff0c;国内模仿产品有vika多维表、飞书多维表格等。 还有一种类型就是以在国内鼎鼎大名的N…

流式湖仓增强,Hologres + Flink构建企业级实时数仓

云布道师 2023 年 12 月&#xff0c;由阿里云主办的实时计算闭门会在北京举行&#xff0c;阿里云实时数仓Hologres 研发负责人姜伟华现场分享 HologresFlink 构建的企业级实时数仓&#xff0c;实现全链路的数据实时计算、实时写入、实时更新、实时查询。同时&#xff0c;随着流…

实验七 RMAN恢复管理器

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

Python笔记10-数据可视化练习折线图

文章目录 JSON数据Python数据和Json数据的相互转化pyecharts模块构建折线图全局配置绘制疫情数据折线图 JSON数据 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据 。本质上是一个带有特定格式的字符串 主要功能&#xff1a;可以在各个编程语言中流通…

JumpServer 堡垒机安装指南

介绍 什么是JumpServer JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产&#xff0c;包括&#xff1a; SSH (Linux / Unix / 网络设备 等)Windows (Web 方式连接 / 原生 R…

Wpf 使用 Prism 实战开发Day13

配置 AutoMapper 关系映射 在上一节 ToDoController 控制器&#xff0c;或 IToDoService 服务接口中&#xff0c;方法的传参都是直接传的实体类。但在实际开发过程中&#xff0c;这样是不允许的。标准且规范的做法是&#xff0c;定义一个数据传输层&#xff0c;即Dto层。 一.在…

forEach如何跳出或中断循环

文章目录 概要使用try...catch抛出错误设置数组长度为0使用splice删除数组的元素 概要 在Javascript中&#xff0c;我们使用forEach遍历循环的时候&#xff0c;往往会面临跳出循环和中断循环&#xff0c;我们可以采取以下几种方式&#xff1a; 使用try…catch抛出错误 const …

智能音箱喇叭杂音问题

智能音箱喇叭杂音问题 智能音箱生厂或出货过程会遇到多种喇叭播放有杂音的问题&#xff0e; 螺丝不匹配 智能音箱设备在生产过程&#xff0c;会有SPL测试喇叭失真&#xff0c;发现不良率8%的杂音问题&#xff0e; 分析原因是来料导入了新螺丝&#xff0c; 使用过程进入异物…

GO 中如何防止 goroutine 泄露

文章目录 概述如何监控泄露一个简单的例子泄露情况分类chanel 引起的泄露发送不接收接收不发送nil channel真实的场景 传统同步机制MutexWaitGroup 总结参考资料 今天来简单谈谈&#xff0c;Go 如何防止 goroutine 泄露。 概述 Go 的并发模型与其他语言不同&#xff0c;虽说它…

配置redis挂载

1. 暂停和删除redis 2.创建文件夹 /usr/local/software/redis/6379/conf/ /usr/local/software/redis/6379/data/ 把redis-conf文件上传到conf文件夹中 3.配置网络 docker network create --driver bridge --subnet172.18.12.0/16 --gateway172.18.1.1 wn_docker_net 4.运…

FaFu--练习复盘--1

1、输出图形及二维数组应用 1.1.输出图形 描述 编写程序打印n行如下图形&#xff0c;其中1≤n≤500。 输入用例 7 输出用例 具体实现 #include"stdio.h" int main(){int n,i,j;scanf("%d",&n);for(i 1; i< n;…

如何将PDF文件转换为Word格式?推荐PDF转换工具

pdf转word格式可以帮助我们对文档的格式进行调整和排版&#xff0c;有时候&#xff0c;pdd文件的排版可能不符合我们的需求&#xff0c;或者需要进行一些样式和布局的调整。通过将PDF转word&#xff0c;我们可以轻松地修改字体、样式、段落间距等&#xff0c;使文档符合我们的要…