达梦数据库(DM8)中的用户模式(SCHEMA)

一、用户的模式(SCHEMA)解析

用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在DM中,一个用户可以创建多个模式,一个模式中的对象(表、视图)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限的任意模式中的对象。也就是说,用户和模式是N:M的关系。
系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以用模式定义语句建立其它模式。

二、采用模式的原因分析

采用模式的原因有几点:
1、允许多个用户使用一个数据库而不会干扰其他用户;
2、把数据库对象组织成逻辑组,让他们更便于管理;
3、第三方的应用可以放在不同的模式中,这样可以避免和其它对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。
举个例子,在建设一个省或市的多规合一数据库时,一个数据库中往往包含省统辖的每个市的数据,每个市的数据在数据库中存储对象类型、命名方法都是一致的,比如,每个市都有控制性详细规划表。如果没有SCHEMA这种管理模式的话,我们可以设计两种模式,一是为每个市创建一个用户,每个用户中存放自己的控制性详细规划表;二是只创建一个用户,存放每个市的数据时,加上区别每个市的前缀或是后缀,比如A_控制性详细规划、B_控制性详细规划。这两种模式虽然都是能够创建成功的,但是从数据库管理和应用程序开发角度来看,都不是最优的。第一种方法在使用不同市的数据时,要么切换数据库连接,要么为其他市用户单独授权。在维护不同用户的数据时,需要频繁切换用户账号。第二种方法虽然建立在同一个用户也就是默认的SCHEMA下面,但是在应用程序开发时,不便于数据的管理和可读性。有了SCHEMA这种管理模式后,我们可以在一个用户账号下,为这个用户创建分属于每个市的一个SCHEMA,形成逻辑分组,在每个SCHEMA中,创建自己的表,这样就可以有效避免名称冲突,又可以保持每个市在逻辑结构上的一致性、统一性,又便于数据库的维护与管理。

DM模式的对象

DM模式主要包含以下的模式对象:
1、表;
2、视图;
3、索引;
4、触发器;
5、存储过程/函数;
6、序列;
7、全文索引;
8、包;
9、同义词;
10、类;
11、外部链接。

模式相关语法

#给指定用户授予创建模式权限
grant create schema to username
#DBA用户或具有CREATE SCHEMA权限用户创建模式。AUTHORIZATION <username>标识了拥有该模式的用户;它是为其他用户创建模式时使用,缺省拥有该模式的用户为当前操作的用户(SYSDBA或是具有CREATE SCHEMA权限的用户)
create schema schemaname AUTHORIZATION username
或者create schema schemaname
#切换模式,从当前模式切换到SALES模式
SET SCHEMA SALES
#模式删除语句
DROP SCHEMA <schemaname> [RESTRICT|CASCADE]
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值