达梦数据库创建公共同义词和私有同义词

写这篇文章是我实际工作中遇到用户提问,DM可不可以像ORACLE一样不带模式名直接查询表数据。用户的问题中有两个关键点分别为:1、为DM支不支持类似ORACLE的同义词功能,包括公共同义词和私有同义词;2、DM创建同义词和利用同义词做查询等操作时的方法;通过查找资料和实践,DM支持同义词并且创建方法和使用方法与ORACLE一样;
网上搜索DM同义词并没有查到详细的同义词创建方法步骤的博文,所以我开文分享下从创建用户赋权到创建同义词的所有操作。方便志同道合的朋友交流学习。

一、同义词概念

1、同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。

2、同义词分类
同义词有两种类型,分别是公用同义词与私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。
1)公用同义词:由一个特殊的用户组Public所拥有。顾名思义数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标一些比较普通的数据库对象,这些对象往往大家都需要引用。
2)私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

3、同义词作用
1)多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.表名的形式,采用了同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。

2)为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个同义词来简化sql开发。

3)同义词在数据库链接中是一个命名的对象,说明一个数据库到另一个数据库的路径,通过其可以实现不同数据库之间的通信。Createdatabase link 数据库链名 connect to user名 identified by 口令 using ‘连接串’; 访问对象要通过 object名@数据库链名。同义词在数据库链中的作用就是提供位置透明性。

5)与同义词相关的权限有CREATE SYNONYM、CREATE ANY SYNONYM、CREATE PUBLIC SYNONYM权限。

二、DM数据库中创建同义词

1、创建测试用户:

创建测试用户:DM

给予用户角色:PUBLIC

给予用户权限:

语句创建:

1、创建用户:

create user "DM " identified by “111111111”

limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10;

2、给予创建同义词权限,如果需要在其它模式下创建同义词,则必须具有CREATE ANY SYNONYM的权限。:

grant CREATE SYNONYM,CREATE PUBLIC SYNONYM to "DM ";

2、创建同义词

测试用户登录:

1、 创建私有同义词:
语句:CREATE SYNONYM “DM”.“tset” FOR “DM”.“DM_test”;

2、 创建公共同义词:

选中公共同义词右键选择创建公共同义词
语句:CREATE PUBLIC SYNONYM “DM_TEST” FOR “DM”.“DM_test”;

3、 创建同义词后即可实现隐蔽掉模式名:

三、同义词语法:

普通用法如下所示:

CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink];

–专有(私有)同义词

CREATE SYNONYM SYSN_TEST FOR TEST;

–公共同义词

CREATE PUBLIC SYNONYM PUBLIC_TEST FOR TEST;

注:

1、同义词是和用户的schema无关的,但是公共的意思并不是所有的用户都可以访问它,必须被授权后才能进行;

达梦数据库创建公共同义词和私有同义词相关推荐

  1. 达梦数据库创建C外部函数总结

    达梦数据库创建C外部函数总结 在被某项目问道创建外部函数无权限 第一步:在Linux上编写配置文件concat.c [root@dsc03 opt]# cat concat.c #include &l ...

  2. 数据库创建函数_达梦数据库创建UUID函数

    数据库创建函数_达梦数据库创建UUID函数 接触达梦数据库有一段时间了,整理了一些资料,今天分享一下达梦数据UUID自定义函数 UUID函数定义 很多数据库都有提供UUID函数,可是接触达梦数据库后, ...

  3. 达梦数据库创建实例(图形化界面流程)

    虚拟机:VMWARE 操作系统:Kylin-Server-10-SP2-x86-Release-Build09-2021052474 数据库:dm8_20210818_x86_rh6_64_ent_8 ...

  4. dm服务器未能启动,DM 达梦数据库 创建服务 无法创建目录_REPLACE_SELF_DM_HOME 错误解决方法...

    在升级DM 8.1.1.19升级到8.1.1.48 的操作中,创建的服务无法正常启动. 但手工执行dmserver 命令是可以启动达梦实例. https://www.cndba.cn/dave/art ...

  5. 达梦数据库创建及数据库实例管理

    一.配置助手创建和删除数据库 数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库: [dmdba@DCA02 tool]$ ./dbca.sh 2021-01-11 11:43:45 ...

  6. 达梦数据库创建表空间

    达梦数据库的数据是存储在表空间下的. 创建表空间时需要指定表空间名和拥有的数据文件列表. 表空间的创建有两种方式. 一. 通过manager图形化界面创建 1.进入安装目录tool目录下,通过./ma ...

  7. 达梦数据库创建表空间和用户

    达梦数据库默认使用SYSDBA用户和默认表空间进行数据库操作.但是对于业务系统开发来说,使用自定义普通表空间和用户保证数据的区分. 表空间:表空间就如同创建了一个文件夹.创建一个单独的文件夹给你来专门 ...

  8. 达梦数据库创建表空间,用户,模式

    达梦数据库有自己的默认用户名密码 SYSDBA:SYSDBA, SYSDBA用户的默认模式为SYSDBA. 但是工作中,当几个服务需要连接达梦数据库,读或者取数据时,是希望有自己的用户名密码来独立使用 ...

  9. DM达梦数据库 创建间隔(interval)分区

    oracle11g中引入了间隔分区的功能,通过该功能,可以在输入相应分区的数据时自动创建相应的分区. 在达梦中我们也可以使用间隔分区,不过需要注意的是达梦中的间隔分区使用有以下限制: 仅支持一级范围分 ...

  10. 达梦数据库创建dblink

    1.dblink(Database Link)数据库链接:当我们跨本地数据库,访问另一个数据库中的数据时,需创建远程数据库的链接来访问. 2.dblink的分类: (1)普通dblink:只有创建语句 ...

最新文章

  1. 获取人口_Human Terrain——世界人口三维可视化
  2. api工程IOS学习:在IOS开发中使用GoogleMaps SDK
  3. oracle 复制表方法,(转)oracle数据库之间 表复制方法一(extent 方法)
  4. [转载]PhotoShop性能优化
  5. Navicat Premium 连接 Oracle 数据库
  6. Kinect学习(六):提取人体关节点数据
  7. 1.深度好文:带缓冲I/O 和不带缓冲I/O的区别与联系
  8. Tomcat配置解析
  9. 程序员们记得还是八五年PC登陆我国时候的事?
  10. aop阻止方法运行_新型AOP高级氧化高浓度COD废水处理系统介绍
  11. SourceTree/git解决pre-commit hook failed的问题
  12. Win7系统怎么截图快捷键
  13. 手把手教你玩转KVM虚拟机--KVM管理虚拟机
  14. 微商分销系统哪家好,要怎么做?
  15. Springboot毕设项目vue酒店房间管理系统xukt9(java+VUE+Mybatis+Maven+Mysql)
  16. 京东首页静态页面html+css
  17. 光纤的模式-单模和多模
  18. hduoj 1874 畅通工程续(Floyd)
  19. RPC论文翻译(Implementing Remote Procedure Calls)
  20. 如何设计出色的网站后台原型

热门文章

  1. Android仿人人客户端(v5.7.1)——人人授权访问界面
  2. 如何随意切换Python版本
  3. html老师祝福语,给大学老师的祝福语
  4. 购买计算机英语情景对话,英语情景对话之购物英语:买相机
  5. opencv python 识别图形轮廓
  6. 过程现场总线解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. C语言编程入门(绪论)
  8. 银行考试计算机也需要考金融知识吗,银行招聘考试科技岗考试科目及考试内容...
  9. 正则表达式入门(上)---字符组和量词
  10. linux查看xfreedrdp指令,windows和linux的远程桌面