- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
其他数据库对象
2024/8/21本章目标创建简单和复杂视图从视图中获取数据创建、维护和使用序列创建和维护索引创建私有的和公有的同义词
讲师:常见的数据库对象
讲师:视图?表EMPLOYEES
讲师:视图?视图是一种虚表.?视图建立在已有表的基础上,视图赖以建立的这些表称为基表。?向视图提供数据内容的语句为SELECT语句,可 以将视图理解为存储起来的SELECT语句.?视图向用户提供基表数据的另一种表现形式
讲师:视图的优点但视图不能提高性能
创建视图 ?使用下面的语法格式创建视图??FORCE:NOFORCE: 子查询不一定存在子查询存在(默认)?WITHREADONLY:只能做查询操作 ?子查询可以是复杂的SELECT语句讲师:
讲师:创建视图?创建视图举例?描述视图结构
讲师:创建视图?创建视图时在子查询中给列定义别名?在选择视图中的列时应使用别名
讲师:查询视图
讲师:简单视图和复杂视图注意:不建议通过视图对表进行修改
讲师:修改视图?使用CREATEORREPLACEVIEW子句修改视图?CREATEVIEW子句中各列的别名应和子查询中各列相对应
讲师:创建复杂视图?复杂视图举例:查询各个部门的最低工资,最高工资,平均工资
讲师: 视图中使用DML的规定?可以在简单视图中执行DML操作?当视图定义中包含以下元素之一时不能使用delete:????组函数GROUPBY子句DISTINCT关键字ROWNUM伪列
讲师: 视图中使用DML的规定?当视图定义中包含以下元素之一时不能使用update?????组函数GROUPBY子句DISTINCT关键字ROWNUM伪列列的定义为表达式
讲师:视图中使用DML的规定 ?当视图定义中包含以下元素之一时不能使用 insert??????组函数GROUPBY子句DISTINCT关键字ROWNUM伪列列的定义为表达式表中非空的列在视图定义中未包括
讲师:屏蔽DML操作?可以使用WITHREADONLY选项屏蔽对视图的DML操作?任何DML操作都会返回一个Oracleserver错误
讲师:屏蔽DML操作
讲师:删除视图?删除视图只是删除视图的定义,并不会删除基表的数据
讲师:什么是序列? ?序列:可供多个用户用来产生唯一数值的数据库对 象????自动提供唯一的数值共享对象主要用于提供主键值将序列值装入内存可以提高访问效率
讲师:CREATESEQUENCE语句?定义序列:
讲师:创建序列?创建序列DEPT_DEPTID_SEQ为表DEPARTMENTS提供主键?不使用CYCLE选项
讲师:查询序列?查询数据字典视图USER_SEQUENCES获取序列定义信息?如果指定NOCACHE选项,则列LAST_NUMBER显示序列中下一个有效的值
讲师:NEXTVAL和CURRVAL伪列?NEXTVAL返回序列中下一个有效的值,任何用户都可以引用?CURRVAL中存放序列的当前值?NEXTVAL应在CURRVAL之前指定,二者应同时有效
讲师:序列应用举例?序列DEPT_DEPTID_SEQ的当前值
使用序列 ?将序列值装入内存可提高访问效率 ?序列在下列情况下出现裂缝:???回滚系统异常多个表同时使用同一序列 ?如果不将序列的值装入内存(NOCACHE),可使用表 USER_SEQUENCES查看序列当前的有效值讲师:
讲师:修改序列?修改序列的增量,最大值,最小值,循环选项,或是否装入内存
讲师:修改序列的注意事项?必须是序列的拥有者或对序列有ALTER权限?只有将来的序列值会被改变?改变序列的初始值只能通过删除序列之后重建序列的方法实现
讲师:删除序列?使用DROPSEQUENCE语句删除序列?删除之后,序列不能再次被引用
讲师:索引 ?索引:??????一种独立于表的模式对象,可以存储在与表不同的磁盘或表空间中索引被删除或损坏,不会对表产生影响,其影响的只是查询的速度索引一旦建立,Oracle管理系统会对其进行自动维护,而且由Oracle管理系统决定何时使用索引.用户不用在查询语句中指定使用哪个索引在删除一个表时,所有基于该表的索引会自动被删除通过指针加速Oracle服务器的查询速度通过快速定位数据的方法,减少磁盘I/O
讲师:创建索引?自动创建:在定义PRIMARYKEY或UNIQUE约束后系统自动在相应的列上创建唯一性索引?手动创建:用户可以在其它列上创建非唯一
文档评论(0)