oracle数据库——逻辑结构

逻辑结构

oracle数据库的逻辑结构可分为:

  • 表空间
  • 数据块

  •   在介绍数据库的基本逻辑结构之前我们应该首先有数据库对象的概念,在运用数据库的过程中我们创建的表、视图、索引、存储过程、触发器等包括用户都是数据库对象。

    表空间

      这些数据库对象就存放在表空间中,在我们安装数据库的时候通常会默认生成SYSTEM,SYSAUX,TEMP(临时表空间),UNDOTBS(重做表空间),在实际程序运用中又会建立应用程序专用的几个表空间。回到关于表空间用来存放数据库对象的概念中,是不是一个数据库对象只能存放在一个表空间中呢?答案是否定的,数据库对象可以存放在多个表空间中,但是需要注意的是一个表空间只能属于一个数据库(在分布式架构中,应用程序会使用多个数据库。)也就是多数据库应用系统中表空间不可重名。

    数据块

      介绍完逻辑结构中最高层结构或者说是最大逻辑单位,再来看一下逻辑结构中的最小单位:数据块。(http://blog.csdn.net/yujin2010good/article/details/7747204)博主就oracle数据库数据库进行了更为详细的讲解与演示。
      数据块由磁盘存储单位中的若干字节构成,oracle默认的数据库大小为8kb,可以在初始化参数文件里面(init.ora)中通过修改db_block_size参数进行设置,一般是操作系统块的整数倍。

“  oracle正是通过自己的数据块来屏蔽不同操作系统存储结构的差异,无论是Windows环境,还是Unix、Linux环境,其操作系统存储结构和方式、甚至字符排列的方式都是不同的。Oracle利用数据块将这些差异加以屏蔽,全部数据操作采用对Oracle块的操作,相当于是一个层次的抽象。”(https://wenku.baidu.com/view/b8664cbe2f60ddccda38a0d1.html)

  应用数据库时,记录的每行数据都存储在数据块中,实际上oracle所有对数据的操作和空间分配,都是针对数据块Block的操作。从数据表中搜索出一行,oracle就会从存储中读取到该行所在的数据块,再返回该数据块上的数据记录。在设计数据表的时候定义的列的大小等都与数据块的大小有关。如果某行记录的数据太大超出了设计的数据块的大小时,又产生了行链接与行迁移(http://blog.csdn.net/yujin2010good/article/details/7747204)的解决方法。

  比数据块高一级的单位是extent)是一连串连续数据块的集合;在进行存储数据信息的时候,oracle会分配数据块进行存储,但是不能保证所有分配的数据块都是连续结构,由此引申出分区的概念。分区又可以分为水平分区与垂直分区。前文讲到数据库对象存放在表空间中,以一个大学5年的入学学生信息表为例,表包含姓名,年纪,性别,家庭人员数,家庭住址,联系电话,高考各科的成绩等等数据列,数据量非常大,水平分区的方案就是将每年的数据存放在一个分区中;垂直分区就是从各种列中将数据大的列(例如列类型为大对象数据类型)提出来存放在另外的分区中;这两种方式的使用都避免了在查找信息的时候对整张表的扫描,提高了查找效率。至于如何确定在哪个分区中进行查找,只能说数据库自己知道。引用一个百度百科的例子:

  百万行的表划分为10个分区,每个分区就包含十万行数据,那么查询分区需要的时间仅仅是全表扫描的十分之一了,很明显的对比。同时对十万行的表建立索引的速度也会比百万行的快得多得多。如果你能把这些分区建立在不同的磁盘上,这时候的I/O读写速度就“不堪设想”(没用错词,真的太快了,理论上100倍的速度提升啊,这是多么快的响应速度啊,所以有点不堪设想了)

  段(segment)与数据库对象相对应,一般一个数据库对象对应一个数据段。前面分析可知,一个数据库对象可能由多个分区构成,引入数据段的概念,可以说是由多个extent构成一个数据段。关于数据段的概念需要注意以下两点:
  1.数据段在数据对象创建的时候就已经建立出来,随着数据库对象内容的增多,不断的分配多个分区进行管理。
  2.在表空间中,一个段包含来自多个文件的数据区,段可以跨越数据文件,按照段中存储的数据特征和用途不同,可以将段分为:数据段,索引段,临时段和回滚段。


………………………………………………The end…………………………………………………………
  关于数据库文件则是数据库物理结构的内容将在下一篇中进行研究学习。
文中相关链接介绍了与本文相关的一些内容,个人认为是比较详细与精确的介绍了相关概念,如果有任何讲得不够清楚的地方,去这些网页参考一下,收获应该会挺大。

猜你喜欢

转载自blog.csdn.net/sandyxin5208/article/details/79059872