




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
十三 其它的数据库对象 目标 结束本节课后 应当达到如下目标 描述数据库对象和它们的用处创建 维护 使用序列创建和维护索引创建私有和公有的同义词 数据库对象 描述基本的数据库对象 由行和列组成逻辑上代表从一个或者多个表中取出的数据集产生主键的值提高某些查询的性能一个数据库对象的别名 对象TableViewSequenceIndexSynonym 什么是序列 自动产生唯一的数字是一个可以共享的数据库对象典型地用于产生数据库表中的主键值能够节省应用程序的代码当缓存在内存中时 能够提高存取的效率 CREATESEQUENCE语句 定义一个可以自动产生序列值的序列 CREATESEQUENCEsequence INCREMENTBYn STARTWITHn MAXVALUEn NOMAXVALUE MINVALUEn NOMINVALUE CYCLE NOCYCLE CACHEn NOCACHE 创建一个序列 创建一个名称为DEPT DEPTNO的序列值 以用于DEPT表 不要设置CYCLE选项 SQL CREATESEQUENCEdept deptno2INCREMENTBY13STARTWITH914MAXVALUE1005NOCACHE6NOCYCLE Sequencecreated NEXTVAL和CURRVAL伪列 NEXTVAL返回下一个可用的序列值 每访问一次 它将产生一个唯一的新值 即使对不同的用户 该值也是唯一的 CURRVAL返回当前的序列值 只有当NEXTVAL被访问之后 CURRVAL伪列才能包含一个值 NEXTVAL和CURRVAL伪列 NEXTVAL返回下一个可用的序列值 每访问一次 它将产生一个唯一的新值 即使对不同的用户 该值也是唯一的 CURRVAL返回当前的序列值 只有当NEXTVAL被访问之后 CURRVAL伪列才能包含一个值 序列的使用 向表中插入一个位于SANDIEGO 名为 MARKETING 的部门 浏览序列DEPT DEPTNO的当前值 SQL INSERTINTOdept deptno dname loc 2VALUES dept deptno NEXTVAL 3 MARKETING SANDIEGO 1rowcreated SQL SELECTdept deptno CURRVAL2FROMdual 使用序列 将序列值缓存在内存中 使得这些值访问起来更快 如果发生下列情况 可能使得一个表中的序列值之间产生间隔 而不是连续的 回滚操作产生系统崩溃序列值同时也用于其它表如果一个序列是以NOCACHE选项建立的 那么可以通过查询USER SEQUENCES表来查看下一个可用的序列值 而不会使序列的当前值增加 修改一个序列 可以更改序列的增量值 最大值 最小值 循环或者缓存选项 SQL ALTERSEQUENCEdept deptno2INCREMENTBY13MAXVALUE9999994NOCACHE5NOCYCLE Sequencealtered 修改序列的指导 必须是序列的拥有者 或者拥有序列的修改权限 只有将来会用到序列值会受到影响 只能重建序列 才能更改序列的STARTWITH选项 序列的修改可能会带来冲突 例如MAXVALUE如果小于当前值就会产生冲突 删除一个序列 使用DROPSEQUENCE命令来删除一个数据字典中的序列 一旦序列被删除 那么该序列就不可以访问了 SQL DROPSEQUENCEdept deptno Sequencedropped 索引是什么 一个数据库模式对象Oracle利用索引来加快对数据行的访问依靠索引来快速定位数据 从而减少了磁盘I O的次数与使用它的表是相互独立的数据库对象Oracle服务器自动对索引进行维护和使用 索引是如何创建的 自动创建 当在创建表时 如果指定了PRIMARYKEY或者UNIQUE约束 那么将自动创建索引 手动创建 用户可以在某个列上建立非唯一的索引 以加快基于该行的查询 创建一个索引 创建索引 以提高对表EMP的ENAME列的访问速度 SQL CREATEINDEXemp ename idx2ONemp ename Indexcreated CREATEINDEXindexONtable column column 在一个列上或者多个列上创建索引 什么时候创建索引 欲创建索引的列在WHERE子句或者连接条件中频繁使用 该列所包含的不同值很多 该列包含大量的空值 表中的数据行数非常大 而且只有2 4 数据行被查询出来 什么时候不必创建索引 表是空的 列在查询条件中不经常使用 大多数基于该表的查询 所查询出的数据量远多于2 4 行 表被频繁修改 确认索引创建结果 USER INDEXES数据字典视图包含用户创建的索引的名字和它唯一性 USER IND COLUMNS视图包含索引的名字 表名 列名 SQL SELECTic index name ic column name 2ic column positioncol pos ix uniqueness3FROMuser indexesix user ind columnsic4WHEREic index name ix index name5ANDic table name EMP 基于函数的索引 基于函数的索引也就是基于表达式的索引 索引表达式由表的列 常量 SQL函数或者用户自定义函数组成 SQL CREATETABLEtest col1NUMBER SQL CREATEINDEXtest indexontest col1 col1 10 SQL SELECTcol1 10FROMtest 删除索引 从数据字典中删除一个索引 从数据字典中删除EMP ENAME IDX索引 要删除一个索引 必须是索引的拥有者 或者具有DROPANYINDEX的权限 SQL DROPINDEXemp ename idx Indexdropped SQL DROPINDEXindex 同义词 通过创建一个同义词 对象的另一个名字 来简化对数据库中对象的存取 缩短了对象的名字长度 CREATE PUBLIC SYNONYMsynonymFORobject 创建和删除同义词 SQL CREATESYNONYMd sum2FORdept sum vu SynonymCreated SQL DROPSYNONYMd sum Synonymdropped 为视图DEPT SUM VU创建一个简短的名字 丢弃一个同义词 总结 使用序列来自动产生一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业智能化与人力资源的变革
- 工业安全与智能制造的关系
- 工业污染源监测的新技术动态
- 工业物联网在生产车间的应用实践
- 工业自动化中机器视觉算法优化探讨
- 工业能源管理与节能减排技术应用
- 工业绿色化与节能减排技术
- 工业级智能硬件产品的设计要求与标准
- 工业火灾防控策略与方法
- 工业设计在制造业的未来应用
- 联合排水试验报告
- 2023江西管理职业学院教师招聘考试真题汇总
- 自动焊锡机方案
- 银行固定资产自查报告
- 最完整工资条模板-工资条模版
- 精通五年级下册英语教材解读课件
- 23秋国家开放大学《小学语文教学研究》形考任务1-5参考答案
- 《化妆品监督管理条例》解读
- 易导致患者跌倒的药品目录
- XXX垃圾填埋场初步设计
- 普外科科室规章制度模板
评论
0/150
提交评论