达梦数据库 模式的概念及使用

1.模式的概述

用户的模式(Schema)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。
系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以用模式定义语句建立其它模式。
采用模式的原因有几点:
(1)允许多个用户使用一个数据库而不会干扰其它用户;
(2)把数据库对象组织成逻辑组,让它们更便于管理;
(3)第三方的应用可以放在不同的模式中,这样可以避免和其它对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。
DM 模式可以通过 SQL 语句进行操作。DM 模式主要包含以下的模式对象:表、视图、索引、触发器、存储过程/函数、序列、全文索引、包、同义词、类、外部链接。
在引用模式对象的时候,一般要在模式对象名前面加上模式名。具体格式如下:
[模式名].对象名
当然,在当前模式和要引用的模式对象所属的模式相同时,可以省略模式名。如果我们访问一个表时,没有指明该表属于哪一个模式,系统就会自动给我们在表前加上缺省的模式名。类似地,如果我们在创建对象时不指定该对象的模式,则该对象的模式为用户的缺省模式。

2.模式的使用

2.1 模式创建

在disql中创建schema
在这里插入图片描述
通过disql执行该命令后,回车不会停止输入,需要输入/符号来终止。
创建模式时可指定用户名,指定用户拥有该模式。如不指定,默认为SYSDBA

2.2 指定模式

用set schema [模式名]语句来切换schema,后续的操作均在该schema上进行
在这里插入图片描述

2.3 删除模式

DROP SCHEMA [IF EXISTS] <模式名> [RESTRICT | CASCADE];
1、删除不存在的模式会报错。若指定 IF EXISTS 关键字,删除不存在的模式,不会报错
2、用该语句的用户必须具有 DBA 权限或是该模式的所有者
3、如果使用 RESTRICT 选项,只有当模式为空时删除才能成功,否则,当模式中存在数据库对象时则删除失败。默认选项为 RESTRICT 选项
4、如果使用 CASCADE 选项,则将整个模式、模式中的对象,以及与该模式相关的依赖关系都删除
在这里插入图片描述

3. 结论

1、用户访问非默认模式下的对象时,需要在对象名前面添加模式名(模式名.对象名),访问默认模式下的对象可以不添加模式名
2、在disql命令行中执行create schema命令创建模式时,要注意最后输入/来结束该命令。这和其他sql不太一样
3、可以通过set schema语句切换当前操作所在的schema,或者在表前显式加上schema名:SchemaName.TableName
4、可以drop schema的方式删除模式,如模式中存在对象,删除会执行失败;可以添加cascade来同时删除schema内的其他对象

达梦社区地址 https://eco.dameng.com

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库中,模式和表空间是两个不同的概念模式数据库对象的集合,包括表、视图、索引等。而表空间是用来存储数据库对象的物理空间。 在达梦数据库中,可以通过创建表空间来为数据库对象提供存储空间。表空间可以分为普通表空间和混合表空间。普通表空间只能存储普通表(非HUGE表),而混合表空间既可以存储普通表又可以存储HUGE表。\[1\] 创建表空间可以使用CREATE TABLESPACE语句,可以指定表空间的数据文件路径、大小以及自动扩展的设置。例如,可以使用以下语句创建一个表空间并设置自动扩展,每次扩展1M,最大为100M: CREATE TABLESPACE TS2 DATAFILE '/mds6800/damengdb/db/DAMENG/TS2.dbf' SIZE 128 AUTOEXTEND ON NEXT 1 MAXSIZE 100;\[3\] 需要注意的是,表空间的创建、修改和删除等操作都是在数据库管理员权限下进行的。\[2\] #### 引用[.reference_title] - *1* *2* [达梦非模式对象—表空间、用户、角色、权限](https://blog.csdn.net/Nelson_S/article/details/124375902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [达梦数据库创建表空间,用户,模式](https://blog.csdn.net/qq_24011271/article/details/120101644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值