《Oracle对象管理》PPT课件

《Oracle对象管理》PPT课件

ID:39361660

大小:325.69 KB

页数:69页

时间:2019-07-01

《Oracle对象管理》PPT课件_第1页
《Oracle对象管理》PPT课件_第2页
《Oracle对象管理》PPT课件_第3页
《Oracle对象管理》PPT课件_第4页
《Oracle对象管理》PPT课件_第5页
资源描述:

《《Oracle对象管理》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十一讲Oracle对象管理本章学习目标表、索引和约束是Oracle数据库管理的重要对象。本章将介绍它们的概念、分类、创建及管理方法。11.1表11.2索引11.3完整性约束11.1表11.1.1普通表11.1.2索引组织表(IOT)11.1.3分区11.1.4簇集11.1.5表的存储管理11.1.6表信息查询不同类型的表普通表簇分区表索引组织表11.1.1普通表存储创建表时,Oracle会自动从指定的表空间中为新建的表创建一个数据段,而该表的所有数据都会存放到相应的表段中。ROWIDROWID用于惟一标识表行。它间接地给出了表行的物理存放位置,是定位表行最快速的方式。

2、ROWID格式OOOOOOBBBBBBFFFRRR数据对象号相对文件号行号块号数据对象编号需要32位,相关文件编号需要10位,块编号需要22,位行编号需要16位,加起来总共是80位或10个字节数据文件的最大尺寸?32bit---objectnumber--------,每个数据库最多有4G个对象10bit---filenumber-----,每个数据库最多有1024个文件22bit---blocknumber--------,每个文件最多有4M个BLOCK16bit---rownumber--------,每个BLOCK最多有64K个ROWS建表并指定存储参数CREAT

3、ETABLE[schema.]table(columndatatype[,columndatatype]…)[TABLESPACEtablespace][PCTFREEinteger][PCTUSEDinteger][INITRANSinteger][MAXTRANSinteger][STORAGEstorage-clause][LOGGING

4、NOLOGGING][CACHE

5、NOCACHE]PCTFREE和PCTUSEDPCTFREE用于指定块中必须保留的最小空闲空间比例;PCTUSED用于指定当数据块达到PCTFREE参数的限制之后,数据块能够被再次使用前,已占用

6、的存储空间必须低于的比例INITRANS和MAXTRANS在创建表时,Oracle将在表中每个数据块的头部空间中分配可以存储INITRANS个事务条目的空间。MAXTRANS表明一个块所允许的最大并发事务数目在STORAGE子句中可以设置下面6个存储参数:INITIAL,NEXT,PCTINCREASE,MINEXTENTS,MAXEXTENTS,BUFFER_POOL:指定表的数据块的缓存池。小且经常被查询的表存放在KEEP中;大却很少被访问的表存储在RECYCLE里;负责存储在DEFAULT里LOGGING和NOLOGGING:表的创建操作(包括通过查询创建表时的插

7、入记录操作)是否记录到重做日志中。建表例子CREATETABLEemployees(empnoNUMBER(4),last_nameVARCHAR2(30)deptnoNUMBER(2))PCTFREE20PCTUSED50STORAGE(INITIAL200KNEXT200KPCTINCREASE0MAXEXTENTS50)TABLESPACEdata01;复制表例子CREATETABLEtestSTORAGE(INITIAL200KNEXT200KPCTINCREASE0MAXEXTENTS50)NOLOGGINGPARALLELTABLESPACEUSERSASS

8、ELECT*FROMUSER_OBJECTS;11.1.2索引组织表(IOT)一般情况下,表与索引数据分别存放在表段和索引段中。但索引组织表(IOT)比较特殊,它将表的数据和索引数据存储在一起,即以B树索引的方式来组织表中的数据。非键列键列行头普通表及其索引索引组织表创建索引组织表在CREATETABLE语句中必须显式地指定organizationindex关键字。在索引组织表中必须建立一个primarykey主码约束。createtableemployees(empnonumber(5)primarykey,enamevarchar2(15)notnull,salnu

9、mber(7,2),jobvarchar2(10))organizationindextablespaceusers;11.1.3分区分区是指将一张大表的数据进行物理划分,并最终将其数据放到几个相对较小的表分区段中。当执行SQL语句访问分区表时,系统可以直接访问某个表分区段,而不需要访问整张表的所有数据,从而降低磁盘I/O,提高系统性能。范围分区范围分区是按照分区字段中值的范围来对表进行分区。范围分区通常用于分区字段是日期类型的表。createtablesales(customer_idnumber(3),sales_amountnumb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。