`
lijunaccp
  • 浏览: 159147 次
  • 性别: 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%’;
最后指出的是:自动管理的段可以是普通的表,索引,也可以是索引表,还可以是大对象段。
分享到:
评论

相关推荐

    关系数据库表存储树形结构的方法

    每种实现方法都具有其独特的存储结构和操作算法,包括检索、插入、删除和修改树形结构中的节点。 在单数据库表实现中,整个树形结构的数据存储在一个数据库表中。每个记录都会包含一个额外的指针字段,这个字段用来...

    数据结构中常用的逻辑结构和存储结构

    逻辑结构关注的是数据元素之间的逻辑关系,而存储结构则关注这些逻辑关系如何在计算机中具体实现。不同的逻辑结构适用于不同的应用场景,而合理的存储结构则可以显著提高算法的性能。因此,在设计数据结构时,必须...

    数据结构顺序表、链表和数组是逻辑结构还是物理(存储)结构? 数组和链表.pdf

    物理结构也可以分为几种,如顺序存储结构、链式存储结构、索引存储结构、散列存储结构等。其中顺序存储结构是一种常见的物理结构,它使用一组连续的存储单元依次存储数据元素。 顺序表、链表和数组是 üç种不同的...

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

    数据结构是一个逻辑上相关的数据元素集合,这些元素之间存在着一种或多种特定的关系。这些关系可以是线性的(如数组、链表)、树形的(如二叉树、堆)、图形的(如图)或其他复杂的形式。数据结构的选择直接影响到...

    数据结构、算法和程序之间关系研究.pdf

    有效的算法设计需要考虑数据的逻辑结构,以确保算法设计能够对应到数据的具体关系和特性。算法的实现,也就是程序,需要程序员使用一种计算机可识别的编程语言来描述,经过编译器编译后转化为一系列机器指令。 在...

    数据结构是一门研究非数值计算的程序设计问题中计算机....doc

    数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象、存储结构、算法和它们之间的关系的学科。因此,数据结构是一个非常重要的基础知识点,对于计算机科学和技术的发展有着深远的影响。 1. 数据结构的...

    对于数据结构的定义和讲解

    物理结构,又称存储结构,是指数据在计算机内存中的实际存储方式,如顺序存储、链式存储等。 数据结构的关键在于定义在这些结构上的运算。这些运算包括插入、删除、查找等操作,且必须确保经过运算后,数据结构的...

    数据结构设计中几个基本数据存储类型.pdf

    4. 顺序存储:顺序存储结构是逻辑结构和物理结构一致性的体现。在高级语言中,顺序存储可以通过数组模拟;在低级语言中,它通常由连续编址的存储区表示。顺序存储结构的优点是简单、易于实现随机访问,但不适用于...

    数据结构基础

    数据结构是指一组数据以及它们之间的关系,主要包括数据的逻辑结构和存储结构。 - **逻辑结构**:是指数据元素之间的逻辑关系,不受存储方式的影响。根据数据元素之间的关系,常见的逻辑结构有四种: - **集合结构...

    HBase存储架构详解

    本文将详细解释HBase存储架构的组件、它们之间的关系,以及它们如何工作。 HBase存储架构主要包含以下几个组件: 1. HMaster:HMaster是HBase集群的主节点,负责管理整个集群的Region分配、RegionServer的启动和...

    数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系.doc

    在数据结构中,逻辑结构、存储结构和数据运算之间存在着密切的关联。 1. **逻辑结构**:逻辑结构是数据元素之间的抽象关系,不涉及具体的存储方式。例如,线性结构(如链表、数组)、树结构(如二叉树)、集合、图...

    数据的逻辑结构和数据的存储结构.pdf

    数据的逻辑结构和存储结构是计算机科学中数据结构的基础概念,它们对于理解数据如何在内存中组织和操作至关重要。逻辑结构关注的是数据元素之间的抽象关系,而存储结构则是这些逻辑关系在计算机内存中的具体实现。 ...

    电子病历的数据结构和存储 (1).pdf

    数据结构的研究涉及数据的逻辑结构和物理结构(又称为存储结构),以及它们之间的相互关系。逻辑结构可以分为四种:集合结构、线性结构、树结构和图状结构或网状结构。其中,线性结构和树结构是最常用的数据逻辑结构...

    oracle数据库_实例_用户_表空间之间的关系

    了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个物理存储单元,包括数据文件(ORA 或者 DBF)、控制文件、联机日志、参数文件等。 Oracle 数据库的概念不同于其他数据库,...

    数据结构之图存储结构实验

    实验要求实现这两种存储结构,并基于它们进行深度优先搜索(DFS)和广度优先搜索(BFS)。 - **深度优先搜索**:DFS是一种递归的遍历策略,从起始顶点开始,尽可能深地探索图的分支,直到到达叶子节点,然后回溯。...

    owl本体关系数据库存储模式设计

    在关系数据库中存储本体时,主要面临的挑战是如何将本体中的复杂结构和关系映射到关系模型中。目前存在多种存储模式,其中“垂直模式”是最基础也是最直接的方法之一。垂直模式通过创建一个三元组表来存储所有的RDF...

    SAP表结构,关于SAP各table之间的关系

    同时,优化表关系和索引能显著提升系统的性能。 SAP表格的使用和管理也需要遵循最佳实践,例如定期清理无用数据,合理设计表结构以减少冗余,以及使用视图(View)来简化复杂查询等。 "压缩包子文件的文件名称列表...

    范斌-计算和存储分离架构下大数据栈的演化-脱敏.pdf

    - **2010年代**:为了应对大规模数据的增长,分布式文件系统架构得到了广泛应用,计算和存储虽然位于同一节点,但它们之间的耦合已经变得较为松散。 #### 当前趋势 1. **计算与存储的分离**:随着数据量的持续增长...

    云计算存储架构-整理2024

    - 主机和存储设备在一个对等的存储网络中互相连接,打破了主机和存储设备之间的绑定关系; - 对主机来说,SAN网络中的存储目标盘看起来像是一个基于块的磁盘设备,与DAS类似; - 支持多种技术,如光纤通道(FC)...

Global site tag (gtag.js) - Google Analytics