Oracle中的用户和模式有什么区别?
当前回答
模式是对象的容器。 它由用户拥有。
其他回答
——USER和SCHEMA
用户和模式这两个词是可以互换的,这就是为什么大多数人对下面这个词感到困惑的原因
——User“User”是连接数据库(Server)的帐号。我们可以使用create user user_name IDENTIFIED by password来创建用户。
——模式
实际上Oracle数据库包含处理数据的逻辑结构和物理结构。模式也是处理数据库中数据的逻辑结构(内存组件)。当用户创建时,由oracle自动创建。它包含用户创建的与该模式相关联的所有对象。例如,如果我创建了一个名为santhosh的用户,那么oracle创建了一个名为santhosh的模式,oracle将用户santhosh创建的所有对象存储在santhosh模式中。
我们可以通过create schema语句创建模式,但是Oracle会自动为该模式创建一个用户。
我们可以使用Drop schema schama_name RESTRICT语句删除模式,但它不能删除模式中包含的对象,因此要删除模式,它必须为空。这里的限制词强制指定没有对象的模式。
如果我们试图删除一个用户包含对象,我们必须指定CASCADE字,因为oracle不允许你删除用户包含对象。 DROP用户user_name级联 因此oracle会删除模式中的对象,然后自动删除用户,从其他模式(如视图和私有同义词)中引用该模式的对象将进入无效状态。
我希望你现在已经明白了它们之间的区别,如果你对这个话题有任何疑问,请尽管问。
谢谢你!
这很简单。
If USER has OBJECTS
then call it SCHEMA
else
call it USER
end if;
用户可以访问不同用户拥有的模式对象。
模式和数据库用户是一样的,但如果模式拥有数据库对象,他们可以对对象做任何事情,但用户只能访问对象,他们不能做任何DDL操作,直到模式用户给你适当的特权。
用户:对数据库资源的访问。就像一把进入房子的钥匙。
架构:关于数据库对象的信息集合。就像你书中的索引,它包含了关于该章节的简短信息。
详情请看这里
从WikiAnswers:
A schema is collection of database objects, including logical structures such as tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links. A user owns a schema. A user and a schema have the same name. The CREATE USER command creates a user. It also automatically creates a schema for that user. The CREATE SCHEMA command does not create a "schema" as it implies, it just allows you to create multiple tables and views and perform multiple grants in your own schema in a single transaction. For all intents and purposes you can consider a user to be a schema and a schema to be a user.
此外,用户可以访问除自己的模式之外的模式中的对象,如果他们有权限这样做的话。
推荐文章
- Oracle中的双表是什么?
- Oracle中不区分大小写的搜索
- 如何在Oracle SQL开发者中导出查询结果到csv ?
- Oracle SQL Developer多表视图
- 如何在Oracle中做top 1 ?
- Oracle Partition By关键字
- 如何使用服务名而不是SID连接到Oracle
- 从多个表中选择count(*)
- 内部连接vs Where
- 我如何列出一个表中的所有列?
- 如何在不复制数据的情况下创建Oracle表的副本?
- Oracle中的varchar和varchar2有什么区别?
- 如何在Oracle中查找表中的重复值?
- Oracle SQL:用另一个表的数据更新一个表
- ORA-12514 TNS:监听器当前不知道连接描述符中请求的服务