第 4 章 空间管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 4 章 空间管理

第 四 章 空间管理 4.1 表空间? 4.2 表? 4.3 索引? 4.4 视图?? ??? 本章小结? 4.1 表空间 4.1.1 创建表空间 ?任何一个数据库创建的第一个表空间是System TableSpace,任何第一个数据文件将自动分配给System TableSpace。创建表空间使用语句CREATE TABLESPACE来实现。 例4-1 创建表空间rb_segs SQLcreate tablespace rb_segs? 2? datafile d:\database\datafilers_1 size 50M? 3? default storage(initial 50K? 4? next 50K? 5? minextents 2? 6? maxextents 50? 7? pctincrease 0) 8? offline; 4.1.2 修改表空间 维护表空间是数据库日常管理中一项重要内容,特别关注表空间中空闲空间的比例。 例4-5 修改表空间users的数据 SQLalter tablespace users 2? default storage( 3? initial 50K? 4? next 50K 5? minextents 2 6? maxextents 20 7? pctincrease 50); 4.1.3 删除表空间 表空间一旦删除,该表空间上的所有数据将不能恢复。删除表空间使用命令DROP TABLESPACE命令,它仅仅删除在控制文件中的指针,并没有物理删除文件,必须在操作系统中物理地将文件删除。 例4-16 删除user表空间及其其上所有的段。 SQLdrop tablespace users including contents; 注意:当该表空间上有表与另外表空间上的表有主、外键的关系则不能删除该表空间。 4.1.4 查询表空间与数据字典 ??查看表空间的数据字典可以了解当前空间的使用状况,表4-2列出了与表空间有关的数据字典。 ?例 4-17 查询数据字典DBA_TABLESPACES信息 SQLselect tablespace_name TABLESPACE, ? 2? initial_extent INITIAL_EXT, ? 3? next_extent NEXT_EXT,min_extents MIN_EXT, ? 4? max_extents MAX_EXT,pct_increase? ? 5? from sys.dba_tablespaces; 4.2 表 表(Table)是存储用户数据的数据库对象。 4.2.1 设计表 根据不同需求,在创建表之前要做的设计数据表。 (1) 定义的对象名有意义,给出命名规范,不使用缩写 (2) 每个对象有注释,使用范式理论规范化表 (3) 对列选择合适的数据类型和长度 (4) 为节省空间,将允许NULL值的列定义在后面 (5) 合适时候使用簇表改善SQL性能 (6) 规划数据块空间   建表时指定pctfree和pctused,为update预留空间。 (7) 规划表的位置   建表时使用tablespace,不要将表建在system表空间上。 (8) 行格式 在普通表中,行数据存储在数据块中,并且长度是可变的,按列定义次序存放。 行头:包含列的个数、行链、行锁; 列长度:若列值250B,占1B,否则占3B; 列值:列的实际数据,NULL不占空间。 (9) 常用数据类型 char(n)?、varchar2(n) 、number(p,s)??? date日期时间型:默认显示格式DD-MON-YY; timestamp date的扩展,默认显示格式DD-MON-YY HH:MI.SS AM; row(n)二进制类型、blob大批量二进制(图形也用该类型)。 (10) ROWID 表的伪列,唯一标识行,给出了行的物理位置,使用insert会自动生成ROWID,并与行数据一起存放,可以查询该列。如: select EmployeeName,rowid,dbms_rowid.rowid_row_number(rowid) row# from employee where EmployeeNo=1980-001; 其中dbms_rowid是转换函数 4.2.1 表的分类 Oracle数据库有四种表的类型: (1) 普通表:以无序方式存储在表段中,最常用的表类型; (2) 簇表:由共享相同数据块的一组表组成,节省空间,改善SQL查询性能; (3) 索引表:数据以B+树结构存放在主键所对应的索引段中,索引块不仅包含键列数据,也包含非键列数据; (4) 分区表:数据划分为更小的部分,分别存储到不同的分区段中。

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档