oracle schema是什么意思?
2019-11-09

Schema是Oracle中一个重要的概念,很容易跟User概念混淆。从下面多个角度来介绍:

1、首先来看一下原始的英文定义:

A schema is a collection of database objects

(used by a user). Schema objects are the logical

structures that directly refer to the database’s data.

A

user is a name defined in the database that can connect to and

access objects.

Schemas and users help database

administrators manage database

security.

2、从定义中可知Schema为数据库对象的集合,为了区分各个集合,认为的给这个集合起个名字,也就是通常在企业管理器的方案下看到的许多类似用户名的节点,节点也就是一个Schema,其包含了各种数据对象:如tables,

views, sequences, stored procedures, synonyms, indexes, clusters, and database

links。

3、Oracle里Schema几乎和user/用户是通用的。Schema是指一组数据库Object

(比如:表,视图,包,序列,等等),而这些Object是属于用户的,

属于一个用户的所有Object就叫Schema。

4、User即Oracle中的用户,是控制权限的,和所有系统的中用户概念类似,用户所持有的是系统的权限及资源;而Schema所涵盖的是各种对象,它包含了表、函数、包等等对象的“所在地”,并不包括对他们的权限控制。

5、举例说明如下:

一个房子里面放满了家具,对这些家具有支配权的是房子的主人(User),而不是房子(Schema)。你可以也是一个房子的主人(User),拥有自己的房子(Schema)。

可以通过alter session的方式进入别人的房子。这个时候,你可以看到别人房子里的家具(desc)。如果你没有特别指定的话,你所做的操作都是针对你当前所在房子中的东西。

至于你是否有权限使用(select)、搬动(update)或者拿走(delete)这些家具就看这个房子的主人有没有给你这样的权限了,或者你是整个大厦(DB)的老大(DBA)。

大家都在看
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!本站文章版权归原作者所有,内容为作者个人观点。本站只提供参考并不构成任何投资及应用建议。本站拥有对此声明的最终解释权。