数据库 同义词?数据库里面同义词、序列是什么东西
大家好,今天来为大家解答数据库 同义词这个问题的一些问题点,包括数据库里面同义词、序列是什么东西也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
SQL之同义词
【十四】同义词
14.1作用
从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。
14.2公有同义词
同义词通常是数据库对象的别名;公有同义词一般由DBA创建,使所有用户都可使用;创建者需要create public synonym权限。
示例:
14.3私有同义词
一般是普通用户自己建立的同义词,创建者需要create synonym权限。
查看同义词的视图:dba_synonyms
删除私有同义词:drop synonym同义词名
删除公有同义词:drop public synonym同义词名
14.3同义词的要点
1)私有同义词是模式对象,一般在自己的模式中使用,如其他模式使用则必须用模式名前缀限定。
2)公有同义词不是模式对象,不能用模式名做前缀。
3)私有和公有同义词同名时,如果指向不同的对象,私有同义词优先。
4)引用的同义词的对象(表或视图)被删除了,同义词仍然存在,这同视图类似,重新创建该对象名,下次访问同义词时自动编译。
the end!!!
@jackman共筑美好!
同义词的在数据库中的概念
同义词有两种类型:私有(private)和公共(public)。私有的同义词是在指定的模式中创建并且只有创建者使用的模式访问。公共同义词是由public指定的模式访问,所有数据库模式(用户)都可以访问它。
对于同一服务器上的不同数据库,我们可以使用Synonym,将其他数据库中的表或view或sprocs及udf在本数据库中映射别名。这样,就可以不用更改连接字符串,而在当前对话数据库的情况下,获取其他数据库的数据,并对它进行,查询,更新,删除和插入工作。
(2)同义词的作用
(a)多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。(b)为用户简化sql语句。如果自己建的表的名字很长,可以为这个表创建一个同义词来简化sql开发。(c)为分布式数据库的远程对象提供位置透明性。
哪个数据库再进行检索的时候可以提供同义词表
维普资讯的《中文科技期刊数据库》高级检索的扩展功能有查看同义词、同(名/合著作者)(查看分类表)(查看相关机构)、期刊导航等5个。
任何想查的+password(注意+号不打),而且password在西文中都是相同的,不会漏检,不像username有很多词能够替代,比如userid,userlogin等等。
在查到初步结果后,用google的高级检索,具体设定每页的检索结果,然后用ie页面上的编辑→查找→“password”,可以大大提高检索效率。
网络检索
在网络时代,我们无时无刻地进行着检索。在因特网上进行检索主要有两种方式:目录浏览和使用搜索引擎。
目录浏览的方式即雅虎搜索引擎采用的方式,用户可以根据自己的需要点击目录,深入下一层子目录,从而找到自己需要的信息。这种方式便于查找某一类的信息集合,但是精确定位的能力不强。
搜索引擎是最为常用的一种网络检索工具。用户只需要提交自己的需求,搜索引擎就能返回大量结果。这些结果按照和检索提问的相关性进行排序。
数据库里面同义词、序列是什么东西
这个应该是oracle里的吧?
同义词 synonym
相当于alias(别名),比如把user1.table1在user2中建一个同义词table1
create synonym table1 for user1.table1;
这样当你在user2中查select* from table1时就相当于查select* from user1.table1;
序列比较复杂,
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1--每次加几个
START WITH 1--从1开始计数
NOMAXVALUE--不设置最大值
NOCYCLE--一直累加,不循环
CACHE 10;
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
-不包含子查询、snapshot、VIEW的 SELECT语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval,'LEWIS','CLERK',7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval FROM DUAL;
OK,关于数据库 同义词和数据库里面同义词、序列是什么东西的内容到此结束了,希望对大家有所帮助。