达梦模式对象的常规管理

达梦模式对象的常规管理,均参照官方文档。

  1. 用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可以将其看作是包含表、视图、索引和权限定义的对象。在DM中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。
  2. 系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以使用模式定义语句建立其它模式(不清楚用户的默认模式可不可以修改,没找到相关的命令。)。
  3. DM模式主要包含以下的模式对象:表、视图、索引、序列、存储过程/函数、包、类、同义词、触发器、全文索引、外部链接。在引用模式对象的时候,一般要在模式对象名前面加上模式名,如:[模式名].模式对象名。但在当前模式和要引用的模式对象所属的模式名相同时,可以省略模式名(查询当前用户可以使用SELECT USER;语句,查询当前模式可以用什么语句呢?)。
  4. 模式对象之外的其它对象统一称为非模式对象,主要有:用户、角色、权限、表空间。
  5. 在DM数据库中,使用CREATE SCHEMA语句就可以创建一个空的模式对象(如:CREATE SCHEMA SYSDBA1 [AUTHORIZATION SYSDBA]),也可以在创建模式时,同时创建多个模式对象(如:CREATE SCHEMA SYSDBA1 [AUTHORIZATION SYSDBA] CREATE TABLE TEST(A INT,B VARCHAR) CREATE VIEW VI AS SELECT A FROM TEST;)。
  6. 要重命名一个模式对象,那么这个模式对象必须在指定的模式里面。可以采用以下方式来重命名模式对象:删除原有的模式对象,重新创建(这种方式,所有基于原模式对象的权限都将失效,在模式对象重建之后,基于原对象的权限和角色必须重新授予);使用ALTER...RENAME语句(TABLE)(这种方式,所有基于原模式对象的权限将转移到重命名后的模式对象上,不需要重新授权)。重命名之后的影响有:所有基于重命名模式对象的视图和DMSQL语句块都将失效,在使用之前需要重新编译;所有基于重命名模式对象的同义词在使用的时候都会报错。
  7. 用户可以指定一个约束是启用(ENABLE)或禁用(DISABLE)状态,或创建、删除一个约束。语法:ALTER TABLE TAB_NAME ENABLE|DISABLE|ADD|DROP CONSTRAINT 约束名; 在下面的情况下,从性能的角度考虑,可以暂时将完整性约束禁用:导入大量的数据到一张表;做批处理操作并对一张表做大规模修改时;导入导出一张表。
  8. 当用户使用UNIQUE或PRIMARY KEY约束时,系统会创建对应的索引,当这个约束被删除或被禁用时,索引就会被删除。若有外键引用UNIQUE或PRIMARY KEY列时,用户不能禁用UNIQUE或PRIMARY KEY约束。
  9. 用户可以在系统表SYSOBJECTS和SYSCONS中查询约束的信息,也可以使用DBMS_META.GET_DDL(‘CONSTRAINT’,’CONS_NAME’,’SCH_NAME’);系统包获取。
  10. 在实际应用中,许多模式对象需要引用其它的对象。一个模式对象引用了别的对象称为依赖对象,被引用的对象称为被依赖对象。DM数据库在对象被调用的时候自动编译,确保对象有效。
  11. 在DM数据库中,模式对象的信息主要记录在SYSOBJECTS系统表中,但SYSOBJECTS系统表并不能将模式对象的所有信息存储起来,用户应该和其它系统表一起获得更加详细的信息。若用户想获得索引更详细的信息,可以查询SYSINDEXES表;若想了解存储过程、函数等的定义信息,可以查询SYSTEXTS表;若想了解详细的约束信息,可以查询SYSCONS表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值