`
yingxiongwudi
  • 浏览: 57788 次
  • 性别: 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下面建立表,当然还可以建立聚簇索引。注意聚簇索引和索引聚簇表不是一个东西,索引聚簇表本质上是一个表,只不过用索引的方式组织,而聚簇索引本质上是一个索引。
分享到:
评论

相关推荐

    图书管理系统数据库表设计.docx

    nVarchar(30) Not null rs_synopsis 资源简介 nVarchar(500) rs_amount 资源大小 int 单位为KB或是MB rs_type 资源类型 Varchar(20) 类似于doc、xsl、ppt、pdf、zip、rar、MP3、wmv等常用格式 图书管理系统数据库表...

    深入剖析数据库系统常用的数据类型

    无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。

    常用数据库管理系统简介.docx

    常用数据库管理系统简介 目前市场上比较流行的数据库管理系统产品主要是 Oracle、旧M、Microsoft和Sybase、 mysql等公司的产品,下面对常用的几种系统做简要的介绍: Oracle Oracle数据库被认为是业界目前比较成功的...

    数据库系统课件:第3章 常用数据类型的用法.ppt

    数据库系统课件:第3章 常用数据类型的用法.ppt

    达梦数据库常用系统视图及查询语句.pdf

    8、查询表空间信息 select T.NAME 表空间名称, D.PATH 表空⽂件路径, T.TYPE$ 表空间类型, T.STATUS$ 表空间状态, T. FILE_NUM 包含的⽂件数, D.TOTAL_SIZE*16/1024 总⼤⼩, D.FREE_SIZE*16/1024 空闲⼤⼩, TRUNC(...

    数据库系统的基础知识.pptx

    教学重点与难点 数据库基本知识 数据库系统的组成与分类 数据库管理系统的概念和类型 常用的数据模型 数据库系统的基础知识全文共25页,当前为第2页。 1.1 数据库简介 数据库(Data Base)是计算机应用系统中的一种...

    分布式数据库系统-复习.doc

    同构型DDBS 异构型DDBS 分布式数据库系统按全避控制系统类型分类,可以分为 、 和 三类。 全局控制集中型DDBS 全局控制分散型DDBS 全局控制可变型DDBS 分布式数据库是分布式数据库系统中各站点上数据库的逻辑集合,...

    数据库课程设计图书馆管理系统.doc

    《数据库系统原理》课程设计—图书馆管理系统 一、课程设计的目的及意义 本课程设计是在学习《数据库原理》课程后,进行的一次全面的综合训练,其目的在于 加深对数据库原理的理解,掌握运用数据库应用系统开发软件...

    从0到1,Mysql详细教程,从安装到使用,汇总SQL常用数据库类型,常用SQL语句

    MySQL客户机-服务器软件是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。用于存储和管理数据的仓库。1. 持久化存储数据的。...

    数据库系统及原理及MYSQL应用教程 数据库和表的管理 实验报告

    1. 掌握使用MySQL Workbench客户端工具和SQL语句创建、选择、删除数据库。 ...3. 掌握MySQL常用的数据类型。 实验内容及实验器材: 一、实验内容 数据库及表的管理 二、实验器材 计算机、MySQL8.0

    数据库《小型超市管理系统》

    通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用JSP开发工具实践了《学生选课管理系统》的数据库应用系统的设计方法、开发过程和SQL...

    数据库系统概论实验指导书.doc

    《数据库系统概论》 实验报告 班级学号_____ ___ 姓 名_____ ______ 指导老师______ _ __ 目 录 实验一 数据库服务器的连接及数据库的建立 1 实验二 简单SQL查询及数据库多表查询 3 实验三 视图、索引、存储过程和...

    2017数据库系统概论作业-在线作业.docx

    精选 2017数据库系统概论作业-在线作业全文共22页,当前为第1页。2017数据库系统概论作业-在线作业全文共22页,当前为第1页。 2017数据库系统概论作业-在线作业全文共22页,当前为第1页。 2017数据库系统概论作业-...

    常用的五种人脸识别必备数据库

    自己搜集的常用的五种人脸识别必备数据库,包括 AT&T的人来拿数据库、MIT人脸数据库、ORL人人脸数据库、Yale 人脸数据库、FERT人脸数据库。有这些数据库,做人脸识别已经足够了

    SQL_Sever数据库语句大全.zip

    数据库系统表介绍 文本字段转数值方法 五大约束条件案例 项目案例1 新建数据库 新建数据库表 新增数据库表数据 修改表名称(重命名表名) 修改表字段类型 修改字段名(字段重命名) 修改字段为Not Null 不为空输入 ...

    用友总账系统数据库字典.doc

    " "GL_mend "《帐套结帐状态表》 " "GL_merror "《对帐出错信息》 " "GL_mitemused "《项目常用项》 " "GL_mpostcond "《最近一次记帐凭证》 " "GL_msysname "《系统名称对照表》 " "GL_mvcontrol "《凭证并发控制表...

    数据库系统教学设计.docx

    教学重难点及措施 教学重点:掌握在Access数据表中添加数据记录 解决措施:示范操作—上机操练—归纳总结 教学难点:理解数据库、数据库管理系统和数据库应用系统、数据库系统等概念之间的区别和联系 解决措施:...

    MySQL数据库:数据库的备份与恢复.pptx

    备份设备是指对应于操作系统提供的资源,常用的有磁盘和磁带媒体。 物理备份设备名称供操作系统引用和管理。 ;恢复模式用于控制数据库备份和还原操作的基本行为,是一个数据库属性。 完整恢复模式 简单恢复模式 大...

    SQL Server数据库企业应用系统开发

    5 本章小结 第2部分 创建电子商城的数据库系统 第4章 使用SQL Server 2000建立电子商城的数据库系统 4. 1 建立电子商城数据库 4. 2 建立电子商城数据库表 4. 2. 1 建立电子商城数据表 4. 2...

    信息技术基础-数据库管理系统.pptx

    数据库系统 信息技术基础-数据库管理系统全文共24页,当前为第1页。 信息资源管理 管理信息系统 MIS 数据库系统 DBS 数据库系统 DBS:是储存和管理数据的计算机系统, DBS能为多种应用服务,为多个用户所共享。 情报...

Global site tag (gtag.js) - Google Analytics