- 概念
户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。
一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema;
一个用户还可以使用其他的schema(Oracle数据库也可通过权限管理实现访问其他schema);
创建模式不指定用户时,该模式默认为SYSDBA拥有;
在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同;
用户可以直接访问同名模式对象,但如果要要访问其他模式对象,则必须具有对象权限;
当用户要访问其他模式对象时,必须附加模式名作后缀(schema.table);
用户是用来连接数据库对象,而模式是用来创建及管理对象的。
作用:模式是一组对象的集合,使用模式可以是不同的业务隔离
- 基本用法
创建模式DM拥有者SYSDBA
CREATE SCHEMA DM1 AUTHORIZATION SYSDBA;
设置为当前模式
set schema DM1;
在当前模式下建表,表所在模式为DM1.
查看模式
select distinct object_name table_schema from all_objects where object_type='SCH';
删除模式
在当前模式时不能删除自己,需要设置为其他对象
//当前模式为空(不为空时运行会报错)
drop schema DM1 restrict;
//删除整个模式中的对象、依赖关系
drop schema DM1 cascade;
注意:若专用机删除用户是需要先将用户模式下的所有表和数据删除才行