- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 序列和同义词 Oracle数据库技术 教学要求 掌握同义词的定义和使用方法 掌握序列的定义和使用方法 重点难点 同义词的定义和使用方法 序列的定义和使用方法 同义词 同义词通过屏蔽对象的名称和拥有者,以及通过为分布式数据库的远程对象,提供位置透明性来提供一个安全层.同义词使用方便,为数据库用户降低了SQL语句的复杂性。 同义词的概念 同义词是表、视图、序列、快照、过程、函数和包的别名。当应用程序或用户使用同义词操作模式对象时,Oracle将自动查找与同义词对应的对象。由于同义词只是其他模式对象的一个别名,所以它与视图一样,在数据库中只存储其定义文本,而不占其他额外的存储空间。 同义词的分类 同义词分为公用和私有两类。 公用同义词的所有者为PUBLIC,所以数据库的每个用户均可引用它。 私有同义词为创建它的用户所拥有,只有该用户才能控制它的访问权。 同义词的分类 在用户拥有的模式中创建私有同义词用户必须拥有CREATE SYNONYM 权限。 在其他用户的模式中创建私有同义词 ,必须拥有CREATE ANY SYNONYM 权限。 创建公共同义词必须拥有CREATE PUBLIC SYNONYM 系统权限 。 使用CREATE SYNONYM 语句创建同义词,在创建同义词时下层模式对象不必存在。 创建同义词 创建同义词的基本语法如下: CREATE OR REPLACE [PUBLIC] SYNONYM [urser.]synonym_name FOR [urser.]table [@database_link] [urser.] synonym_name :要创建的同义词的名称 [urser.]table:要创建同义词的对象的名称 NOTE: 当创建同义词时,ORACLE不检查这个同义词的有效性,在创建同义词后,用户应自行测试,以保证同义词的有效性。 创建同义词 例:把user1.table1在user2中建一个同义词table1。 create ?synonym ?table1 ?for ?user1.table1 这样当在user2中查select ?* ?from ?table1时就相当于查select ?* ?from ?user1.table1。 例2:为本地数据库中的学生信息表student创建一个公用同义词。 CREATE PUBLIC SYNONYM stu FOR student? 创建同义词 如果要创建一个远程数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问。 语法如下: create [public] database link dbLink1 connect to system identified by oracle using ora9; 创建同义词 然后再创建该DB_LINK的同义词。 语法如下: create synonym table_name for table_name@DB_LINK; 如: Create or replace synonym stu for student@dblink1; 创建同义词 思考: 在用户A中为student表建一个同义词: CREATE ? SYNONYM ? stu FOR ? student 然后执行下列语句: grant ? select ? on ? stu ? to ?B 如果用B登录后执行select ? * ? from ?A.student语句是否可以正常访问数据? 删除同义词 用SQL命令删除一个同义词的语法如下: DROP [PUBLIC] SYNONYM 同义词名称; 删除私有同义词时,省略 PUBLIC 关键字 删除公共同义词时,包括PUBLIC 关键字 例:删除stu同义词 DROP PUBLIC SYNONYM stu; 注意:要删除同义词,首先要确定是否有权限,如果没有权限的话,是删除不了同义词的。 同义词的优点 使用同义词的最大好处是安全、方便。因为使用同义词时用户不必指出实际访问对象所属模式及名称,所以它简化了用户的访问操作。此外,应用程序使用同义词访问模式对象时,由于它屏蔽了对象的实际名称和所属模式,这在某种程度上对数据库有一定安全保护作用。 序列简介 在一些表中,主关键字有时会很复杂,可能是几个字段的组合。如果没有序号,就需要将这几个字段定义成主关键字。序号实际上是加在表中的一个附加选项,该字段的值是一些顺序号,即序列。Oracle 专门提供了序列对象,直接利用系统产生序列值。 序列的概念 序列是一个Oracle 对象,每次有请示时,它以递增的形式将序列号增加1或者其它指定
您可能关注的文档
最近下载
- (完整word版)人教版四年级上册数学复习教案.doc VIP
- 煤矿安全操作规程(2023年).docx
- 工作相关肌肉骨骼疾患的工效学预防指南 第 4 部分 轨道交通设备制造作业.pdf VIP
- 园林景观工程施工计划.pdf
- OC IIS的定义(液晶玻璃的检验与不良判定).ppt VIP
- 2025届高考语文复习:文言文阅读+课件.pptx VIP
- 大班数学《坐船去探险》教案课件材料.doc VIP
- 工作相关肌肉骨骼疾患的工效学预防指南 第 6 部分 木质家具制造作业.pdf VIP
- 初中英语八年级上册首字母填空专项练习(共100题,附参考答案).doc
- 工作相关肌肉骨骼疾患的工效学预防指南 第 9 部分 公交车驾驶作业.pdf VIP
文档评论(0)