尚硅谷教学课件SQL11.其他数据库对象

上传人:E**** 文档编号:90931770 上传时间:2019-06-20 格式:PPTX 页数:24 大小:799.76KB
返回 下载 相关 举报
尚硅谷教学课件SQL11.其他数据库对象_第1页
第1页 / 共24页
尚硅谷教学课件SQL11.其他数据库对象_第2页
第2页 / 共24页
尚硅谷教学课件SQL11.其他数据库对象_第3页
第3页 / 共24页
尚硅谷教学课件SQL11.其他数据库对象_第4页
第4页 / 共24页
尚硅谷教学课件SQL11.其他数据库对象_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《尚硅谷教学课件SQL11.其他数据库对象》由会员分享,可在线阅读,更多相关《尚硅谷教学课件SQL11.其他数据库对象(24页珍藏版)》请在金锄头文库上搜索。

1、其他数据库对象,讲师:佟刚 新浪微博:尚硅谷-佟刚,目标,通过本章学习,您将可以: 创建, 维护, 和使用序列 创建和维护索引 创建同义词,常见的数据库对象,对象 描述 表 基本的数据存储集合,由行和列组成。 视图 从表中抽出的逻辑上相关的数据集合。 序列 提供有规律的数值。 索引 提高查询的效率 同义词 给对象起别名,什么是序列?,序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率,CREATE SEQUENCE 语句,定义序列:,CREATE SEQUENCE sequence INCREMENT BY n

2、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 获取序列定

3、义信息 如果指定NOCACHE 选项,则列LAST_NUMBER 显示序列中下一个有效的值,SELECT sequence_name, min_value, max_value, increment_by, last_number FROM user_sequences;,NEXTVAL 和 CURRVAL 伪列,NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用 CURRVAL 中存放序列的当前值 NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效,序列应用举例,序列 DEPT_DEPTID_SEQ 的当前值,INSERT INTO departments(depar

4、tment_id, department_name, location_id) VALUES (dept_deptid_seq.NEXTVAL, Support, 2500); 1 row created.,SELECT dept_deptid_seq.CURRVAL FROM dual;,使用序列,将序列值装入内存可提高访问效率 序列在下列情况下出现裂缝: 回滚 系统异常 多个表同时使用同一序列 如果不将序列的值装入内存(NOCACHE), 可使用表 USER_SEQUENCES 查看序列当前的有效值,修改序列,修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存,ALTER S

5、EQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE 999999 NOCACHE NOCYCLE; Sequence altered.,修改序列的注意事项,必须是序列的拥有者或对序列有 ALTER 权限 只有将来的序列值会被改变 改变序列的初始值只能通过删除序列之后重建序列的方法实现,删除序列,使用DROP SEQUENCE 语句删除序列 删除之后,序列不能再次被引用,DROP SEQUENCE dept_deptid_seq; Sequence dropped.,索引,索引: 一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中 索引被删

6、除或损坏, 不会对表产生影响, 其影响的只是查询的速度 索引一旦建立, Oracle 管理系统会对其进行自动维护, 而且由 Oracle 管理系统决定何时使用索引. 用户不用在查询语句中指定使用哪个索引 在删除一个表时, 所有基于该表的索引会自动被删除 通过指针加速 Oracle 服务器的查询速度 通过快速定位数据的方法,减少磁盘 I/O,创建索引,自动创建: 在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引 手动创建: 用户可以在其它列上创建非唯一的索引,以加速查询,创建索引,在一个或多个列上创建索引 在表 EMPLOYEES的列 LAST_NAME

7、 上创建索引,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% 表经常更新,SELECT ic.index_n

8、ame, ic.column_name, ic.column_position col_pos,ix.uniqueness FROM user_indexes ix, user_ind_columns ic WHERE ic.index_name = ix.index_name AND ic.table_name = EMPLOYEES;,查询索引,可以使用数据字典视图 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息,删除索引,使用DROP INDEX 命令删除索引 删除索引UPPER_LAST_NAME_IDX 只有索引的拥有者或拥有DROP ANY INDE

9、X权限的用户才可以删除索引,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.,总结,通过本章学习,您已经可以: 使用序列 使用索引提高查询效率 为数据对象定义同义词,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号