Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97506
  • 博文数量: 11
  • 博客积分: 271
  • 博客等级: 二等列兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-23 16:34
文章分类
文章存档

2012年(11)

我的朋友

分类: Oracle

2012-11-14 21:34:11

一、同义词概念
    Oracle数据库同义词(synonyms)就是一种映射关系,又称为别名,同视图一样,在数据库中不占用内存空间,只有在数据字典中保存了同义词的定义,经常用于简化对象访问和提高对象访问的安全性。
二、同义词分类
    Oracle数据库中的同义词分为两类:公有同义词和私有同义词。
    1)公用Oracle同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
    2)私有Oracle同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。
三、同义词的作用
    1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
    2) 为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。
    3)为分布式数据库的远程对象提供位置透明性。
四、同义词的操作
    1.创建
        1)创建公有同义词
            create or replace public synonym  同义词 for 表名
        2)创建私有同义词
            create or replace synonym 同义词 for 表拥有者.表名
    2.删除
            drop [public] synonym 同义词
    3.查看所有同义词
            select * from synonyms;
阅读(8860) | 评论(0) | 转发(0) |
0

上一篇:Linux中的输入与输出

下一篇:没有了

给主人留下些什么吧!~~