`
lijunaccp
  • 浏览: 152828 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

存储结构和它们之间的关系

阅读更多
1. 各种类型的段
段是在数据库中占有磁盘空间的对象。这些段使用数据库的数据文件中的磁盘空间。Oracle为数据库管理和维护的方便,提供了不同类型的段,它们包括:
1) 表
表是数据库最重要的段,表是数据库中常用的存储数据的机制,在表段中所存储的数据是无序的,数据库管理员几乎无法控制某一行数据所存在一个表中的具体位置。Oracle规定一个表中的所有数据必须存放在一个表空间中。
2) 分区表
当一个表的规模很大或并行操作非常频繁时,可以把这个表划分成若干个分区,此时表已经成了逻辑的概念,而每一个分区为一个存储数据的段,每个分区的存储参数都可以单独定义。
如银行或电信使用分区表是无法避免的,如电信的客户表可能很大,此时可以将和客户表按所居住的地区分区。这样做的好处是可以改进数据库的可获得性,因为对于分区表,当一个分区损毁并不影响其他分区的操作。另外,可以通过把每个分区放在不同的磁盘上以提高并行操作的能力,从而达到改进系统效率的目的。
要使用分区表,必须使用Oracle的企业版分区表的选项。Oracle为管理和操作分区表提供了一大批的专门命令。
3) 索引
引入索引段的目的是加快基于某一特殊键(索引关键字)的查询速度,这样查询可以很快地查找到在某一表中所需数据行的准确位置。如果一个表有5个索引,那么就会有5个相应的索引段。基于某一特定的索引的所有索引记录都存储在一个索引段中。
4) 簇
如为了把相关的表合成传统的订单或发票就要进行多表的连接,如果这些表很大而且连接又是经常的操作,就可能严重影响数据库系统的效率,于是Oracle系统引入了一种称为簇的段。
可以将上面所说的订单或发票定义成簇,并定义订单号或发票号为族号。Oracle会将相同的簇号的数据行(即使是属于不同的表)也存放在同一个数据块中(也可能是相邻的数据块中)。 这样在进行这些表的连接操作时,Oracle就可以很快地把相同簇号的数据进行连接在一起。
注:簇已经不再是传统意义上的关系表了。簇能不用就不用,能少用就少用。因为这样做可以减少管理和维护的负担,也可以使跨IT平台的移植变得更加容易。
5) 索引分区
当在一个大型或超大型表上创建索引时,这个索引也可能很大,所以也可以像分区表那样,将该索引划分为若干个分区,每个索引分区为一单独的段。这样一个索引可以分布在不同的表空间上。但是每个索引分区(段)只能存放在一个表空间中。引入索引分区的主要目的也是减少输入或输出竞争。要使用索引分区也必须使用Oracle企业版分区表的选项。
6) 索引表
如果用户的查询主要是基于索引关键字,那么在索引树的叶子结点中的数据行的地址部分可以存放真正的数据,这种存储结构就称为索引表。索引表可以大大地加快基于索引关键字的查询,但是这种存储结构不适合DML操作非常频繁的表。
7) 临时段
当在SQL语句中使用了诸如ORDER BY,GROUP BY或DISTINCT等子句或关键字时,Oracle服务器就要试着在内存中进行排序。如果内存中排不下就要把中间的结果写到磁盘上,该磁盘区就是临时段。
8) 还原段
还原段在9i之前称为回滚段,它用来存放事务对数据库所作的改变。在对任何数据块或索引块改变之前,所有的原始值都将存放到还原段中。这样做不但允许用户可以还原所做的变化,而且还可以在一个进程对某一行数据进行DML操作的同时,允许其他进程对该行数据进行读操作(读的是存放到还原段的原来的数据)。
9) 大对象段
大对象(LOB)数据类型是从8i开始引入的,它是用来存储例如大的正文文档,图像或音像信息的。在一个表中可以有一列或多列LOB数据类型。如果LOB类型的列很大,Oracle服务器就会将该列的值单独存放在一个段中,该段就称为大对象段,在表中只包含了一个指向相应大对象数据的指针。
10) 嵌套表
嵌套表是一种特殊的表,该表中的某一列又由一个用户定义的表组成,即表中套表,在前面所介绍的订单或发票也可以使用嵌套表来实现。在这种情况下,被称为嵌套表的内表将被存放在另外一个段中。
注:嵌套表也不再是传统意义上的关系表了,嵌套表能不用就不用,能少用就少用。因为这样做可以减少管理和维护的负担,也可以使跨IT平台的移植变得更加容易。
11) 自举段
自举段是在数据库被创建时由sql.bsq脚本建立的,它也被称为高速缓存段。该段在实例打开数据库时帮助初始化数据字典高速缓存区,不能对自举段进行任何的查询或修改,数据库管理员也无须对该段进行任何维护。
2. 自动的段空间管理
只能在表空间一级,而且是本地管理的表空间才能开启自动的段空间管理。当一个表空间创建后,其说明应用于该表空间中所有的段。只要在创建本地管理的表空间命令中加入SEGEMENT SPACE MANAGEMENT AUTO子句,就可以完成自动的段空间管理配置,如
SQL>CREATE TABLESPACE jinlian DATAFILE ‘J:\DISK6\MOON\jinlian.dbf’ SIZE 50 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M SEGEMENT SPACE MANAGEMENT AUTO;
查看
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
最后指出的是:自动管理的段可以是普通的表,索引,也可以是索引表,还可以是大对象段。
分享到:
评论

相关推荐

    数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。

    数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D上的 关系 有限集合。 3. 数据...

    数据结构试卷~~考试复习题

    1、数据结构是一门研究非数值计算的程序设计问题中计算机的 ① 以及它们之间 ② 和运算等的学科。 ① A.操作对象 B.计算方法 C.逻辑存储 D.数据映象 ② A.结构 B.关系 C.运算 D.算法 2、在一个无向图中,所有顶点的...

    数据结构(王道考研)计算机专业课笔记+思维导图

    * 在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(Structure)。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的...

    数据结构报告模板.doc

    数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相...“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构

    西安工业大学 数据结构 各章习题题 及 答案 严蔚敏

    3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。 4. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。 5. 线性结构中元素之间存在 一对一 关系,树形...

    数据结构导论知识点.doc

    数据结构导论知识点 第一章 概论 数据结构:是相互之间存在一种或多种关系的数据...该公式 简洁的描述了数据结构和程序之间关系。 1.2 基本概念和术语 1.2.1 数据、数据元素和数据项 数据:所有被计算机存储、处理的对

    数据结构思维导图.rar

    数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相...“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构

    数据结构第一章课后习题

    数据元素不是孤立存在的,正因为在他们之间总存在某种相互关系,才构成了数据元素之间的各种关系,将这些关系称为结构。数据的结构可分为数据的逻辑结构和数据的物理结构。 逻辑结构(Logical Structure)是指构成...

    严蔚敏数据结构ppt

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在...一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。

    湖南文理学院uml模拟考试试卷及答案

    1. 实现是软件工程的最后阶段,它描述了程序...10. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。( F )

    数据结构基础概念.doc

    数据结构是研究非数值问题中计算机的操作对象以及它们之间关系和操作的学科。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据项是数据的最小单位,数据元素是讨论数据结构时涉及...

    数据结构PPT详解(C语言版)

    “结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。 数据的逻辑结构和物理结构是数据结构的两个密切相关的方面,同一逻辑结构可以对应不同的存储结构。算法的设计取决于数据的逻辑结构,而算法的实现...

    数据结构知识梳理汇总文档

    大家都知道数据结构是开发的基础,也是提升水平的必经之路。文档梳理了数据结构的知识体系。数据结构(data structure)是带有结构特性的数据元素的...“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。

    什么是数据结构(1).docx

    数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。 人们普遍认为程序设计的实质是对所处理的问题选择一种好的数据结构,并在此基础上施加一种好的算法。 数据 是客观事物的...

    数据结构算法大全(面试宝典)_艾孜尔江编.pdf

    数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相...“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。

    数据结构题解(附答案)

    数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。 7. 数据结构包括数据的 、...13.数据的存储结构可用四种基本的存储方法表示,它们分别是 。 14. 数据的运算最常用的有5种,它们分别是 。

    此仓库存储的是数据结构与经典算法.zip

    逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何...

    最小生成树问题 要在n个城市之间建役通信网络

    若要在n个城市之间建役通信网络,只福要架设n-1条级路即可.如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。 二、基本要求 (1)利用克鲁斯卡尔算法求图的最小生成树。 (2)能实现教科书6.5节中...

    数据结构试题及答案(最新的十套) c语言

    “结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。 [2] 数据的逻辑结构和物理结构是数据结构的两个密切相关的方面,同一逻辑结构可以对应不同的存储结构。算法的设计取决于数据的逻辑结构,而算法的...

    静态数据结构与动态数据结构.pdf

    静态数据结构与动态数据结构 静态数据结构与动态数据结构 数据结构:计算机中组织和存储数据的⼀种特殊⽅式,以便能够有效地访问和修改数据,数据结构是数据值的集 合,它们之间的关系,以及可以应⽤于数据的函数或...

Global site tag (gtag.js) - Google Analytics