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

常用数据库系统的表类型

阅读更多


2005-4-7 星期四(Thursday) 晴 
数据库表的四种基本类型:
堆组织表、索引组织表、索引聚簇表、散列聚簇表。
设置各种类型的表都是为了加快数据存取的速度。
堆组织表:
堆是一块大的空间,可供随机的存取。所以很容易想到堆组织表是一个大而无序的数据记录行的集合。每一个记录行可以随机的存放在任意一个能容纳它的位置上,记录行的顺序是不可预测的。堆组织表是数据库系统中最原始也是目前最常用的数据表组织形式。
索引组织表:
由于堆组织表中,索引和表是分开维护的;虽然数据库系统保证他们之间的数据一致性,但是分开的索引会产生额外的空间开销。
索引组织表是将数据按照主键顺序排放的。索引组织表的实质上是将数据存放在相应的索引里面,而基表中不存放任何数据。表内数据的idqu操作只是修改相应的索引里面的存储的数据,对基本表没有什么操作。
堆组织表和索引组织表的差别是在DMBS内部对数据表存储实现方式上的差别。对于数据库系统的编程人员来说,对堆组织表操作和对索引组织表操作没有任何的区别。与堆组织表相比,索引组织表减少了数据存储空间上的开销。索引组织表只维护单独一个B树索引,表的数据和对应的索引存储在一起。此外,索引组织表加快了主键上的查询速度。索引组织表的主键与数据存放在一起,减少了磁盘I/O。
在计算机的世界里没有银弹,索引组织表也有一定的缺陷,而这些缺陷中的某些又恰恰是堆组织表可以弥补的。缺陷一,索引组织表的溢出问题,由于数据量加大以后,索引的每个叶节点可能只能包含一条记录行甚至是一条记录行中的一部分数据,这样B树索引的优越性就失去了任何意义。解决办法:设置溢出表空间。当每一行中数据操过指定值时,将该行中非健列的值的剩余数据放到溢出表空间中。缺陷二,堆索引组织表的DML操作比堆组织表的DML操作更容易产生空间碎片。经常对索引组织表进行插入和删除,会由于碎片空间的增多造成查询时I/O次数增加,查询速度下降。解决办法:重构索引或是改用堆组织表。
在Oracle数据库中建立索引组织表很简单,在Manager Console下相应的schema下面选择新建一个数据表,然后在建表窗口的General选项卡里有个Table的标签,选择Organized Using Index就行了。如果需要可以将下面的With Overflow Data Segment选上,就可以将溢出的数据添加到溢出的表空间。用命令脚本创建如下:
create table IOTTEST
(
 ID NUMBER(10) not null,
 NAME VARCHAR2(10) not null,
 constraint ID primary key (ID)
)
organization index;
这个操作除了在schema下面建立一个索引表以外,还会schema下面自动创建一个索引溢出表。但是用Manager Console看不出来,可以用PL/SQL这样的第三方的工具查看到。

索引聚簇表和散列聚簇表:
这两种表都是属于聚簇表。聚簇的基本思想,用通俗的话说就是将相关的数据存储在一起。
聚簇表的基本原理就是对于一组表,使这些表共享某些相同的列,并将相关的数据存储在同一个物理块上,类似与对表在指定列上做了“预连接”。聚簇表的存储方式就好像图书馆把书籍分门别类的存放的道理一样。
索引聚簇表:指定聚簇关键字后,用B树索引组织关键字,所有其它数据聚集在聚簇关键字周围存储。
散列聚簇表:与索引聚簇表不同点在于,定位聚簇关键字的时候不是用B树索引,而是散列函数。
聚簇表的优点:减少磁盘I./O,有利于快速访问数据。
缺点:不适合插入、删除操作过于频繁的表。
在Oracle中建立聚簇表的方式是先要建立一个Cluster,然后在Cluster下面建立表,当然还可以建立聚簇索引。注意聚簇索引和索引聚簇表不是一个东西,索引聚簇表本质上是一个表,只不过用索引的方式组织,而聚簇索引本质上是一个索引。
分享到:
评论

相关推荐

    mysql常用数据库命令

    ### MySQL 常用数据库命令 #### 一、启动与停止 MySQL 服务 - **安装 MySQL 服务**: - `mysqld install` - **启动 MySQL 服务**: - `net start mysql` - **停止 MySQL 服务**: - `net stop mysql` #### 二、...

    所有数据库的系统表.pdf

    通过对这些系统表的理解,DBA和其他数据库管理人员可以更好地管理和维护数据库系统,确保其高效稳定运行。未来还可以进一步深入探讨其他系统表的功能与使用方法,以期达到更加全面的数据库管理系统知识掌握。

    数据库系统全书 教程

    数据库系统是信息技术中的核心组成部分,它负责存储、管理和检索数据,是各类应用系统的基础。《数据库系统全书》是一本全面介绍数据库...通过深入学习和实践,读者将能有效地设计、管理和维护各种类型的数据库系统。

    sql 常用数据库查看表结构

    SQL 常用数据库查看表结构 概述:在数据库开发和维护中,了解数据库的表结构是非常重要的。通过查看表结构,我们可以了解到每个表的字段信息、数据类型、主键、默认值等信息,从而更好地理解和维护数据库。以下将...

    【尚德教材】数据库系统原理(全国)1

    数据库系统原理是计算机科学中的重要组成部分,主要涉及数据的存储、管理和访问。本课程围绕这一主题,涵盖了数据库系统的基础知识,关系数据库的概念,数据库设计以及SQL语言的应用。 首先,我们来了解一下数据库...

    数据库系统概论复习大纲

    数据库系统概论复习大纲 数据库系统概论是计算机科学和信息技术领域中一个非常重要的方向,对于数据库系统的设计、开发、实现和应用都有着非常重要的影响。以下是数据库系统概论的知识点总结: 第一章 绪论 * ...

    数据库系统概论(王珊)第五版+书签目录

    《数据库系统概论》是数据库领域的一本经典教材,由王珊教授编著,第五版在前四版的基础上进行了更新和完善,旨在全面介绍数据库系统的基本概念、原理和技术。这本书不仅适用于计算机科学与技术专业的学生,也是...

    [详细完整版]5数据库系统.pdf

    数据库系统是计算机科学中用于管理和组织数据的核心技术。在深入探讨之前,让我们首先明确几个基本概念。数据库(DB)是一个组织有序、可共享的数据集合,它独立于具体的应用程序,存储在外存储器上,供多个用户同时...

    Windchill_数据库表说明.doc

    本文档将详细介绍 Windchill 系统中常用的数据库表结构与表之间的关系。 1. 对象数据模块 在 Windchill 系统中,对象数据模块是指存储产品相关数据的数据库表。这些表包括 WTPartMaster、WTPart、PDMLinkProduct ...

    分布式数据库系统概述

    ### 分布式数据库系统概述 #### 一、逻辑集中与物理分散 分布式数据库系统的核心特性在于其能够实现**逻辑集中与物理分散**。这意在让数据能够在不同的地理位置上存储,但逻辑上仍然视为一个整体。 - **物理分散*...

    哈工大数据库系统期末复习

    关系模型是数据库系统中最常用的数据模型,由若干个关系组成。每个关系是表格形式,包含属性(列)和元组(行)。理解数据完整性(实体完整性、参照完整性和用户定义的完整性)和SQL语言是关系数据模型的关键。 3....

    泛微Ecology 9 最新数据库表结构

    - 数据库表结构是数据库设计的核心,它定义了各个表之间的关系,以及表中的字段类型、长度、约束等属性。在泛微Ecology 9中,这些表结构支撑着系统的用户管理、流程管理、文档管理、权限控制等多个模块。 2. **E9...

    数据库系统工程师考试大纲

    ### 数据库系统工程师考试大纲知识点解析 #### 一、考试说明 **1. 考试要求** - **计算机体系结构及主要部件**: 掌握计算机体系结构的基础知识,包括CPU、存储器的工作原理和性能指标,理解I/O设备、通信设备的性能...

    数据库系统第六版教材课后题答案完整版

    数据库系统是信息技术领域中的核心部分,它负责存储、管理和检索数据。第六版的数据库系统教材,作为一本权威的参考资料,通常会深入讲解数据库设计、管理、优化和应用开发等关键概念。课后练习题是检验学习效果和...

    《数据库系统概念》数据库PPT

    《数据库系统概念》是计算机科学领域的一本经典教材,它深入浅出地介绍了数据库的基础理论、设计原理以及管理技术。这本书的第五版更是涵盖了数据库领域的最新发展和趋势,为学习者提供了全面而实用的知识体系。配合...

    数据库技术:常用数据库管理系统.ppt

    Oracle数据库系统是全球知名的数据库解决方案,以其并行服务器模式著称,不同于SQL Server的虚拟服务器模式。Oracle数据库由表空间和模式对象组成,模式是逻辑结构的集合,包含各种数据库对象,如表、视图、索引等。...

    04735数据库系统原理(真题及答案)200710至201710.zip

    《04735数据库系统原理》是一门重要的高等教育自学考试科目,主要涵盖了数据库系统的基础理论、设计方法以及实际应用等内容。这个压缩包文件“04735数据库系统原理(真题及答案)200710至201710.zip”包含了从2007年...

    数据库系统概念 课件

    《数据库系统概念》是数据库领域的经典教材,由耶鲁大学、利哈伊大学和印度理工学院的专家共同撰写,提供了全面而深入的数据库知识体系。本课件是该书第六版的配套教学材料,旨在帮助高校教师和学生更好地理解和掌握...

    数据库系统概论PPT课件.ppt

    一级、二级、三级封锁协议是数据库系统中常用的封锁协议,用于解决数据不一致性的问题。三级封锁协议是最严格的封锁协议,除了防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。不同的封锁协议有不同的...

Global site tag (gtag.js) - Google Analytics