Les12其它数据库对象

上传人:ll****x 文档编号:243009765 上传时间:2024-09-13 格式:PPT 页数:24 大小:156.50KB
返回 下载 相关 举报
Les12其它数据库对象_第1页
第1页 / 共24页
Les12其它数据库对象_第2页
第2页 / 共24页
Les12其它数据库对象_第3页
第3页 / 共24页
点击查看更多>>
资源描述
Click to edit Master title style,First Level,Second Level,Third Level,Fourth Level,Fifth Level,12-,24,Copyright Oracle Corporation, 2001. All rights reserved.,其它数据库对象,目标,通过本章学习,您将可以:,创建,维护,和使用序列,创建和维护索引,创建私有和公有同义词,常见的数据库对象,对象描述,表 基本的数据存储集合,由行和列组成。,视图从表中抽出的逻辑上相关的数据集合。,序列 提供有规律的数值。,索引提高查询的效率,同义词 给对象起别名,什么是序列,?,序列,:,自动提供唯一的数值,共享对象,主要用于提供主键值,代替应用代码,将序列值装入内存可以提高访问效率,CREATE,SEQUENCE,语句,定义序列,:,CREATE SEQUENCE,sequence,INCREMENT BY,n,START WITH,n,MAXVALUE,n,|,NOMAXVALUE,MINVALUE,n,|,NOMINVALUE,CYCLE |,NOCYCLE,CACHE,n,| NOCACHE;,创建序列,创建序列,DEPT_DEPTID_SEQ,为表,DEPARTMENTS,提供主键,不使用,CYCLE,选项,CREATE SEQUENCE dept_deptid_seq,INCREMENT BY 10,START WITH 120,MAXVALUE 9999,NOCACHE,NOCYCLE;,Sequence created.,查询序列,查询数据字典视图,USER_SEQUENCES,获取序列定义信息,如果指定,NOCACHE,选项,则列,LAST_NUMBER,显示序列中下一个有效的值,SELECTsequence_name, min_value, max_value,increment_by, last_number,FROMuser_sequences;,NEXTVAL,和,CURRVAL,伪列,NEXTVAL,返回序列中下一个有效的值,任何用户都可以引用,CURRVAL,中存放序列的当前值,NEXTVAL,应在,CURRVAL,之前指定 ,二者应同时有效,序列应用举例,序列,DEPT_DEPTID_SEQ,的当前值,INSERT INTO departments(department_id,department_name, location_id),VALUES (dept_deptid_seq.NEXTVAL,Support, 2500);,1 row created.,SELECTdept_deptid_seq.CURRVAL,FROMdual;,使用序列,将序列值装入内存可提高访问效率,序列在下列情况下出现裂缝,:,回滚,系统异常,多个表同时使用同一序列,如果不讲序列的值装入内存,(,NOCACHE),可使用表,USER_SEQUENCES,查看序列当前的有效值,修改序列,修改序列的增量,最大值,最小值,循环选项,或是否装入内存,ALTER SEQUENCE dept_deptid_seq,INCREMENT BY 20,MAXVALUE 999999,NOCACHE,NOCYCLE;,Sequence altered.,修改序列的注意事项,必须是序列的拥有者或对序列有,ALTER,权限,只有将来的序列值会被改变,改变序列的初始值只能通过删除序列之后重建序列的方法实现,其它的一些限制,删除序列,使用,DROP SEQUENCE,语句删除序列,删除之后,序列不能再次被引用,DROP SEQUENCE dept_deptid_seq;,Sequence dropped.,索引,索引,:,一种数据库对象,通过指针加速,Oracle,服务器的查询速度,通过快速定位数据的方法,减少磁盘,I/O,索引与表相互独立,Oracle,服务器自动使用和维护索引,创建索引,自动创建,:,在定义,PRIMARY KEY,或,UNIQUE,约束后系统自动在相应的列上创建唯一性索引,手动创建,:,用户可以在其它列上创建非唯一的索引,以加速查询,创建索引,在一个或多个列上创建索引,在表,EMPLOYEES,的,列,LAST_NAME,上创建索引,CREATE INDEX emp_last_name_idx,ON employees(last_name);,Index created.,CREATE INDEX,index,ON,table,(,column,column,.);,什么时候创建索引,以下情况可以创建索引,:,列中数据值分布范围很广,列中包含大量空值,列经常在,WHERE,子句或连接条件中出现,表经常被访问而且数据量很大 ,访问的数据大概占数据总量的,2%,到,4%,什么时候不要创建索引,下列情况不要创建索引,:,表很小,列不经常作为连接条件或出现在,WHERE,子句中,查询的数据大于,2%,到,4%,表经常更新,加索引的列包含在表达式中,SELECTic.index_name, ic.column_name,ic.column_position col_pos,ix.uniqueness,FROMuser_indexes ix, user_ind_columns ic,WHEREic.index_name = ix.index_name,ANDic.table_name = EMPLOYEES;,查询索引,可以使用数据字典视图,USER_INDEXES,和,USER_IND_COLUMNS,查看索引的信息,基于函数的索引,基于函数的索引是一个基于表达式的索引,索引表达式由列,常量, SQL,函数和用户自定义的函数,CREATE INDEX upper_dept_name_idx,ON departments(UPPER(department_name);,Index created.,SELECT *,FROM departments,WHERE UPPER(department_name) = SALES;,删除索引,使用,DROP INDEX,命令删除索引,删除索引,UPPER_LAST_NAME_IDX,只有索引的拥有者或拥有,DROP ANY INDEX,权限的用户才可以删除索引,DROP INDEX upper_last_name_idx;,Index dropped.,DROP INDEX,index,;,同义词,使用同义词访问相同的对象,:,方便访问其它用户的对象,缩短对象名字的长度,CREATE PUBLIC SYNONYM,synonym,FOR,object,;,创建和删除同义词,为视图,DEPT_SUM_VU,创建同义词,删除同义词,CREATE SYNONYM d_sum,FOR dept_sum_vu;,Synonym Created.,DROP SYNONYM d_sum;,Synonym dropped.,总结,通过本章学习,您已经可以,:,使用序列,通过数据字典视图,USER_SEQUENCES,查看序列信息,使用索引提高查询效率,通过数据字典视图,USER_INDEXES,查看索引信息,为数据对象定义同义词,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!