第10章 其它数据库对象.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 其它数据库对象

第十章 其他数据库对象 本章要点 视图 序列 索引 同义词 视图 视图是虚表。是一个命名的查询,用于改变基表数据的显示,简化查询。视图的访问方式与表的访问方式相同。 视图的好处: 可以限制对基表数据的访问,只允许用户通过视图看到表中的一部分数据 可以使复杂的查询变的简单 提供了数据的独立性,用户并不知道数据来自于何处 提供了对相同数据的不同显示 简单视图和复杂视图 简单视图:只涉及到一个表,而且SELECT子句中不包含函数 和 表达式列(包括单行函数和分组函数)。 复杂视图:涉及到一个或多个表,SELECT子句中包含函数表达式列(单行函数或负责函数)。 创建视图 在子查询中可以加入复杂的SELECT. 创建视图示例 例10-3 查询50部门的员工的年薪的视图 通过视图执行DML操作 创建一个测试用表EMP_DML 创建视图v_emp1,是个简单视图。 通过视图进行DML操作。 不能通过视图删除记录的条件 视图中包含分组函数 视图中含有GROUP BY子句 视图中含有DISTINCT关键字 视图中包含伪列ROWNUM 不能通过视图修改记录的条件 视图中包含分组函数 视图中含有GROUP BY子句 视图中含有DISTINCT关键字 视图中包含伪列ROWNUM 视图中要修改的列包含表达式 不能通过视图添加记录的条件 视图中包含分组函数 视图中含有GROUP BY子句 视图中含有DISTINCT关键字 视图中包含伪列ROWNUM 视图中要修改的列包含表达式 视图中没有表的NOT NULL列。 WITH CHECK OPTION WITH CHECK OPTION实质是给视图加一个“CHECK”约束,该CHECK约束的条件就是视图中的子查询的WHERE条件,以后如果想通过该视图执行DML操作,不允许违反该CHECK约束。 WITH CHECK OPTION示例 例10-6 WITH CHECK OPTION例子 该约束的条件为视图中WHERE条件,即“employee_id=141”,如视图v_emp3想执行DML操作,不能把记录的employee_id字段值改成其他编号(只能是141),如果违反了,执行出错,会出现错误提示。 WITH READ ONLY WITH READ ONLY的视图是只读的,不允许通过该视图执行DML语句。 例10-7 WITH READ ONLY例子,创建一个视图v_emp4 通过该视图进行更新操作 删除视图 删除视图的语法 内联视图 内联视图(Inline View),是一个在SQL语句内可以使用的子查询的别名。是一个命名的SQL语句,但不是真正的数据库的视图对象。最常见的内联视图的例子就是主查询中的FROM子句中,包含的是一个命名的子查询。 例10-8 内联视图的例子 Top-N分析 Top-N查询主要是实现查找表中最大或最小的N条记录功能。 Top-N分析语法: Top-N分析(续) ROWNUM是一个伪列。功能是在每次查询时,返回结果集的顺序数。第一行显示为1,第二行为2,以此类推。 伪列是使用上类似于表中的列,而实际并没有存储在表中的特殊对象。 对ROWNUM只能执行、=运算,不能执行、=或一个区间运算Between..And等 。 序列 序列是一种用于产生唯一数字列值的数据库对象。一般使用序列自动地生成主码值或唯一键值。序列可以是升序或降序。 序列特点: 可以为表中的记录自动产生唯一序列值。 由用户创建并且可被多个用户共享。 典型应用是生成主键值,用于标识记录的唯一性。 允许同时生成多个序列号,而每一个序列号是唯一的。 可替代应用程序中使用到的序列号。 使用缓存加速序列的访问速度。 创建序列 创建序列的语法: 创建序列,必须有CREATE SEQUENCE或CREATE ANY SEQUENCE权限。 序列被创建后,可以通过查询数据字典视图USER_SEQUENCES查看序列信息。 序列语法说明 当全部缺省时,则该序列为上升序列,由1开始,增量为1,没有上限,缓存中序列值个数为20。 INCREMENT BY n: n可为正的或负的整数,但不可为0。默认值为1。 START WITH n:指定生成的第一个序列号,默认为1。对于升序,默认为序列的最小值。对于降序,默认为序列的最大值。 MAXVALUE n:指定n为序列可生成的最大值。 NOMAXVALUE:为默认情况。指定升序最大值为1027,指定降序指定最大值为-1。 序列语法说明(续) MINVALUE n:指定n为序列的最小值。 NOMINVALUE:为默认情况。指定升序默认最小值为1。指定降序默

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档