达梦数据库基础---模式
程序员文章站
2024-03-24 13:55:40
...
模式定义语句创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的
对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图)可以被多个用户使用。
达梦数据库系统为每一个用户自动建立了一个与用户名同名的模式作为默认模式,用户还可以用模式定义语句建立其它模式。
下面向大家讲解模式的语法树:
使用说明
-
在创建新的模式时,如果已存在同名的模式,或当存在能够按名字不区分大小写匹配的同名用户时(此时认为模式名为该用户的默认模式),那么创建模式的操作会被跳过,而如果后续还有 DDL 子句,根据权限判断是否可在已存在模式上执行这些 DDL 操作;
-
AUTHORIZATION <用户名>标识了拥有该模式的用户;它是为其他用户创建模式时使用的;缺省拥有该模式的用户为 SYSDBA;
-
使用该语句的用户必须具有 DBA 或 CREATE SCHEMA 权限;
-
DM7 使用 PL SQL 模式执行创建模式语句,因此创建模式语句中的标识符不能使用系统的 PL 保留字;
-
定义模式时,用户可以用单条语句同时建多个表、视图,同时进行多项授权;
-
模式一旦定义,该用户所建基表、视图等均属该模式,其它用户访问该用户所建立的基表、视图等均需在表名、视图名前冠以模式名;而建表者访问自己当前模式所建表、视图时模式名可省;若没有指定当前模式,系统自动以当前用户名作为模式
名; -
模式定义语句中的基表修改子句只允许添加表约束;
-
模式定义语句中的索引定义子句不能定义聚集索引;
-
模式未定义之前,其它用户访问该用户所建的基表、视图等均需在表名前冠以建表
者名; -
模式定义语句不允许与其它 SQL 语句一起执行;
-
在 disql 中使用该语句必须以“/”结束。
举例:
CREATE SCHEMA SCHEMA1 AUTHORIZATION SYSDBA;