暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库模式的了解与实践

郑小凤 2024-06-21
234

达梦数据库关于模式的了解

一. 模式概念 

1.1. 定义 

1.2. 使用说明 

二. 模式使用 

2.1. 创建模式 

2.2. 设置当前模式语句 

2.3. 模式删除语句 

2.4. 模式与用户的关系 

三. 个人总结 

模式概念

定义

模式定义语句创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的对象。在达梦数据库中,一个用户可以创建多个模式,一个模式中的对象(表、视图)可以被多个用户使用。

系统为每一个用户自动建立了一个与用户名同名的模式作为默认模式,用户还可以用模式定义语句建立其它模式。

使用说明

在创建新的模式时,如果已存在同名的模式,或当存在能够按名字不区分大小匹配的同名用户时(此时认为模式名为该用户的默认模式),那么创建模式的操作会被跳过,而如果后续还有DDL子句,根据权限判断是否可在已存在模式上执行这些DDL操作。

AUTHORIZATION<用户名>标识了拥有该模式的用户;它是为其他用户创建模式时使用,缺省拥有该模式的用户为SYSDBA。

使用该语句的用户必须具有DBA或CREATE SCHEMA权限。

定义模式时,用户可以用单条语句同时建多个表、视图,同时进行多项授权。

模式一旦定义,该用户所建基表、视图等均属该模式,其它用户访问该用户所建立的基表、视图等均需在表名、视图名前冠以模式名;而建表者访问自己当前模式所建表、视图时模式名可省;若没有指定当前模式,系统自动以当前用户名作为模式名;

模式定义语句中的基表修改子句只允许添加表约束

模式定义语句中的索引定义子句不能定义聚集索引;

模式定义语句不允许与其他SQL语句一起执行;

在DISQL中使用该语句必须以“/”结束;

模式使用

创建模式

设置当前模式语句

模式删除语句

模式与用户的关系

每个用户有一个默认的同名的模式,访问自己模式下的表、视图等,不需要加模式名,访问其他模式下的对象需要拥有访问权限,访问时还需加上模式名。

个人总结

因为达梦数据库的模式概念与Oracle的模式,创建用户名会自动创建模式名,访问数据库“用户名.表名”=“模式名.表名”。

但是MYSQL不一样,MYSQL客户端工具登录的时候也无需指定数据库,用户名+密码登录后也能看到数据库系统中的所有数据库、表。它的数据库名即模式名,CREATE DATABASE语句和CREATE SCHEMA等价,访问表的时候,若不能指定数据库,

则使用“数据库名.表名”。

所有从MYSQL数据库迁移到达梦数据库时,最好是使用用户来迁移,不要使用模式名来迁移。

如果想了解更多达梦数据库的信息,推荐达梦官方的在线服务平台   https://eco.dameng.com/

最后修改时间:2024-06-21 15:08:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论