模式的概念
用户的模式(Schema)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。
模式的作用
系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以用模式定义语句建立其它模式
采用模式的原因有几点:
•允许多个用户使用一个数据库而不会干扰其它用户;
•把数据库对象组织成逻辑组,让它们更便于管理;
•第三方的应用可以放在不同的模式中,这样可以避免和其它对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。
DM 模式可以通过 SQL 语句进行操作。DM 模式主要包含以下的模式对象:
•表
•视图
•索引
•触发器
•存储过程/函数
•序列
•全文索引
•包
•同义词
•类
•外部链接
在引用模式对象的时候,一般要在模式对象名前面加上模式名。具体格式如下:
[模式名].对象名
当然,在当前模式和要引用的模式对象所属的模式相同时,可以省略模式名。如果我们访问一个表时,没有指明该表属于哪一个模式,系统就会自动给我们在表前加上缺省的模式名。类似地,如果我们在创建对象时不指定该对象的模式,则该对象的模式为用户的缺省模式。
模式的用法
disql中
创建模式
输入:
create schema test AUTHORIZATION SYSDBA; --通过disql执行该命令后,回车不会停止输入,需要输入/符号来终止
如下图所示:
指定模式
输入:
set schema test;
如下图所示:
输入:
create table test(id int);
如下图所示:
输入:
insert into test values(111111);
如下图所示:
输入:
set schema sysdba;
如下图所示:
输入:
select * from test.test;
如下图所示:
删除模式
输入:
drop schema test cascade;
如下图所示:
DM管理工具中
输入:
create schema test AUTHORIZATION SYSDBA;
create table test(id int);
insert into test values(111111);
set schema test;
select * from SYSDBA.test;
set schema SYSDBA;
drop schema test cascade;
如下图所示:
其中查询语句结果: