华联学院面向移动商务数据库技术课件第10章其他的模式对象

上传人:东*** 文档编号:269981163 上传时间:2022-03-24 格式:PPT 页数:23 大小:631KB
返回 下载 相关 举报
华联学院面向移动商务数据库技术课件第10章其他的模式对象_第1页
第1页 / 共23页
华联学院面向移动商务数据库技术课件第10章其他的模式对象_第2页
第2页 / 共23页
华联学院面向移动商务数据库技术课件第10章其他的模式对象_第3页
第3页 / 共23页
华联学院面向移动商务数据库技术课件第10章其他的模式对象_第4页
第4页 / 共23页
华联学院面向移动商务数据库技术课件第10章其他的模式对象_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《华联学院面向移动商务数据库技术课件第10章其他的模式对象》由会员分享,可在线阅读,更多相关《华联学院面向移动商务数据库技术课件第10章其他的模式对象(23页珍藏版)》请在金锄头文库上搜索。

1、1第10章 其他的模式对象 在Oracle中,除表、索引和索引组织表外,视图、序列,簇和簇表等也是重要的模式对象。在本章中,首先将介绍如何创建分区表,以及基于分区表的索引,然后介绍Oracle利用外部数据的一种方法外部表,最后对其他一些模式对象,包括簇、临时表、视图、序列和同义词等常用模式对象进行简单介绍。2本章知识要点: 分区表 各类型的分区 分区索引 使用外部表查询数据 临时表的使用 理解什么是簇和簇表 创建索引簇 创建散列簇 使有视图 使用序列 使用同义词310.1 管理表分区与索引分区 在当前的企业应用中,需要处理的数据量可以达到几十到几百GB,甚至TB级。为了提高对这些巨型数据库和巨

2、型表的读写速度,Oracle提供一种分区技术。用户可以在创建表时应用分区技术,将数据分区保存。10.1.1 分区的概念 分区是指将巨型的表或索引分割成相对较小的、可独立管理的部分,这些独立的部分称为原来表或索引的分区。分区后的表与未分区的表在执行查询语句或其他DML语句时没有任何区别,一旦进行分区之后,还可以使用DDL语句对每个单独的分区进行操作。因此,对巨型表或者索引进行分区后,能够简化对它们的管理和维护操作,而且分区对于最终用户和应用程序是完全透明的。410.1.2 建立分区表 在Oracle 11g数据库中,根据对表或索引的分区方法可以创建五种类型的分区表:范围分区、散列分区、列表分区、

3、组合范围散列分区和组合范围列表分区。每种分区表都有自己的特点,在创建分区表时,应当根据表应用情况选择合理的分区类型。5610.1.3 修改分区表 对分区表而言,可以像普通表一样使用ALTER TABLE语句进行修改。因此,本节主要介绍分区表所特有修改。1为范围分区表添加分区2为散列分区表增加分区3为列表分区表增加分区4为范围散列组合分区表增加主分区和子分区5为范围列表分区表增加主分区和子分区6删除分区7交换分区数据8修改分区表名称9合并分区10重组分区710.1.4 分区索引和全局索引 对于分区表而言,每个表分区对应一个分区段。当在分区表上建立索引时,即可以建立全局索引,也可以建立分区索引。对

4、于合局索引,其索引数据会存放在一个索引段中;而对于分区索引,则索引数据都会被存放到几个索引分区段中。对索引进行分区的目的与对表进行分区是一样的,都是为了更加易于管理和维护巨型对象。10.2 外部表 外部表是表结构被存储在数据字典中,而表数据被存放在OS文件中的表。通过使用外部表,不仅可以在数据库中查询OS文件的数据,还可以使用INSERT方式将OS文件数据装载到数据库中,从而实现SQL*Loader所提供的功能。810.2.1 建立外部表 建立外部表也是使用CREATE TABLE语句来完成的,但建立外部表是必须指定ORGANIZATION EXTERNAL子句。与建立普通表不同,建立外部表包

5、括两部分:一部分描述列的数据类型,另一部分描述OS文件数据与表列的对应关系。91010.2.2 处理外部表错误 在将数据文件中的数据转换为表中列数据时,不可避免会现一些错误。当出现错误时,用户就需要收集错误信息,从中找到导致出现错误的原因并加以纠正。在创建外部表时,关于错误处理的子句包括:REJECT LIMIT、BADFILE和LOGFILE子句。1110.2.3 修改外部表 当在操作系统环境中修改了数据文件所对应的OS路径后,为了使用Oracle能够正确标识OS文件所在的目录,则必须改变DIRECTORY对象。例如,下面的语句修改外部表EXT_EMP的默认DIRECTORY对象为EXT_N

6、EW:SQLalter table ext_emp default direct ext_new;10.3 临时表 Oracle的临时表与其他关系数据库中的不同,Oracle中的监时表是“静态”的,也就是说,用户不需要在每次使用临时表时重新建立,它与普通的数据表一样被数据库保存,其结构从创建开始直到被删除期间一直是有效的,并且被作为模式对象存在数据字典中。通过这种方法,可以避免每当用户应用中需要使用临时表存储数据时必须重新创建临时表。1210.4 簇与簇表 簇是一种用于存储数据表中数据的方法。簇实际上是一组表,由一组共享相同数据块的多个表组成。因为这些表有公共的列并且经常一起被使用,所以将这些

7、表组合在一起,不仅降低了簇键列所占用的磁盘空间,而且可以大大降低特定SQL操作的I/O次数,从而提高数据访问性能。1310.4.1 索引簇 索引簇是指使用索引定义簇键列数据的方法。如果用户需要执行连接查询显示主从表的数据,则应该将主从表组织到索引簇。141510.4.2 散列簇 散列簇是指使用散列(HASH)函数定位行的位置。通过散列簇,可以将静态表的数据均匀地分布到数据块中。将表组织到散列簇后,如果使用WHERE子句中引用簇键列,Oracle会根据散列函数结果定位表行数据。合理地使用散列簇,可以大大降低磁盘I/O,从而提高数据访问性能。1610.4.3 显示簇信息 建立索引簇或散列簇时,Or

8、acle会将簇的相关信息存放到数据字典中,通过查询数据字典视图USER_CLUSTERS,可以显示当前用户所有簇的信息。例如,下面的语句将显示SCOTT用户所包含的所有簇:SQL select cluster_name,tablespace_name,key_size 2 from user_clusters;CLUSTER_NAME TABLESPACE_NAME KEY_SIZE- - -EMPLOYEE_CLU SPACE01 500DEPT_EMP_CLU SPACE01 102410.5 管理视图 视图是一个虚拟表,它由存储的查询构成,可以将它的输出看作是一个表。视图同真实的表一样,

9、也包含一系列带有名称的列和行数据。但是,视图并不在数据库中存储的数据值,其数据值是来自定义视图的查询语句所引用的表,数据库只在数据字典中存储了视图的定义信息。1710.5.1 创建视图 创建视图是使用CREATE VIEW语句完成的。为了在当前用户模式中创建视图,要求数据库用户必须具有CREATE VIEW系统权限;如果要在其他用户模工中创建视图,则用户必须具有CREATE ANY VIEW系统权限。1810.6 管理序列 序列是Oracle提供的用于生成一系列惟一数字的数据库对象。序列会自动成生顺序递增的序列号,以实现自动提供惟一的主键值。序列可以在多用户并发环境中使用,并且可以为所有用户生

10、成不重复的顺序数字,而不需要任何额外的I/O开销。1910.6.1 创建序列 序列与视图一样,并不占用实际的存储空间,只是在数据字典中保存它的定义信息。用户在自己的模式中创建序列时,必须具有CREATE SEQUENCE系统权限。如果要在其他模式中创建序列,必须具有CREATE ANY SEQUENCE系统权限。2010.5.1 创建视图 创建视图是使用CREATE VIEW语句完成的。为了在当前用户模式中创建视图,要求数据库用户必须具有CREATE VIEW系统权限;如果要在其他用户模工中创建视图,则用户必须具有CREATE ANY VIEW系统权限。2110.6.2 修改序列 使用ALTER SEQUENCE语句可以对序列进行修改。需要注意,除了序列的起始值START WITH不能被修改,其他可以设置序列的任何子句和参数都可以修改。如果要修改序列的起始值,则必须先删除序列,然后再重建该序列。2210.5.2 管理视图 同义词是表、索引、视图等模式对象的一个别名。通过模式对象创建同义词,可以隐藏对象的实际名称和所有者信息,或者隐藏分布式数据库中远程对象的们置信息,由此为对象提供一定的安全性保证。与视图、序列一样,同义词只在Oracle数据库的数据字典中保存其定义描述,因此同义词并不占用任何实际的存储空间。23

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

当前位置:首页 > IT计算机/网络 > 数据库

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