Oracle的方案(Schema)和用户(User)的区别

转载 2013年12月04日 09:46:30
从定义中我们可以看出方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

        一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。

       一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。类似如果我们在创建对象时不指定该对象的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果我们在创建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,我们需要在创建对象时指定该对象的表空间。

       oracle中的schema就是指一个用户下所有对象的集合,schema本身不能理解成一个对象,oracle并没有提供创建schema的语法,schema也并不是在创建user时就创建,而是在该用户下创建第一个对象之后schema也随之产生,只要user下存在对象,schema就一定存在,user下如果不存在对象,schema也不存在;这一点类似于temp tablespace group,另外也可以通过oem来观察,如果创建一个新用户,该用户下如果没有对象则schema不存在,如果创建一个对象则和用户同名的schema也随之产生。

Oracle 用户(user)和模式(schema)的区别

概述: (一)什么Oracle叫用户(user):   A user is a name defined in the database that can connect to and a...

oracle的schema的基本概念及与User的区别

Oracle schema可视为同一个使用者所拥有的所有数据库对象(schemaobjects)之集合。举例来说,使用者scott所建立的EMPtable其完整名称为SCOTT.EMP,而SCOTT就...

Oracle User和Schema的区别

Oracle User和Schema的区别(原创) 博客分类:  Oracle日常管理   概述 Schema和User的定义如下 A schema is a ...

Oracle的schema、方案、模式、用户

The original website:http://carrie.blog.51cto.com/383855/77617   schema: Collection of database o...

Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)

SQL Server 2010-02-02 16:05:06 阅读189 评论0   字号:大中小 订阅 我相信很多人接触这些概念的时候一头雾水。要把这些概念理清楚真不是...

Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(二)

在第一节中,我们了解了架构的意义。在第二节的开始,我们暂时忘记架构这个东西。我们假设我们的数据库只有数据库对象。     李老板开了一个小公司,公司有个仓库,堆放了一些货物,由于仓库小,为了节约成本...

SQL Server中模式(schema)、数据库(database)、表(table)、用户(user)之间的关系

数据库的初学者往往会对关系型数据库模式(schema)、数据库(database)、表(table)、用户(user)之间感到迷惘,总感觉他们的关系千丝万缕,但又不知道他们的联系和区别在哪里,对一些问...

SQL Server中模式(schema)、数据库(database)、表(table)、用户(user)之间的关系

SQL Server中模式(schema)、数据库(database)、表(table)、用户(user)之间的关系 数据库的初学者往往会对关系型数据库模式(schema)、数据库(database...

SQL Server中模式(schema)、数据库(database)、表(table)、用户(user)之间的关系

sqlserver schema概要

为什么很多公司都开始去oracle而使用mysql?(整理)Oracle和MySQL的主要区别 Oracle:客户端和命令窗口,都是由用户决定内容-> conn user_name/password;

原文地址:https://www.zhihu.com/question/29088685 最近听了阿里的一个分享会,发现他们完成了整体从oralce转换为mysql的过程。为什么很多公司都开始去ora...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle的方案(Schema)和用户(User)的区别
举报原因:
原因补充:

(最多只允许输入30个字)