当前位置:文档之家› ORACLE数据库中的逻辑结构

ORACLE数据库中的逻辑结构

ORACLE数据库中的逻辑结构
ORACLE数据库中的逻辑结构

ORACLE的逻辑结构是由一个或多个表空间组成,一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(tablespace)。一个表空间可将相关的逻辑结构组合在一起。

一个表空间由一组分类段组成。

一个段由一组范围组成。

一个范围由一批数据库块组成。

一个数据库块对应一个或多个物理块。

每一个ORACLE数据库包含有一个名为SYSTEM的表空间,在数据库建立时自动建立。在该表空间中包含有整个数据库的系统信息数据,最小的数据库可只需要SYSTEM表空间。表空间利用增加数据文件可扩大表空间,表空间的大小为组成该表空间的数据文件的大小的和。ORACLE数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间相联系。当为一表空间建立一数据文件时,ORACLE建立该文件,分配指定的磁盘空间容量。在数据文件初始建立后,所分配的磁盘不包含有任何数据。

一个模式(schema)为模式对象(schema object)的一个集合,每一个数据库用户对应一个模式。模式对象为直接引用数据库数据的逻辑结构,模式对象包含如表、视图、索引、同义词等结构。模式对象是逻辑数据存储结构,每一种模式对象在磁盘上没有一个相应文件存储其信息。一个模式对象逻辑地存储在数据库的一个表空间中,每一个对象的数据物理地包含在表空间的一个或多个数据文件中。例如:表、索引等模式对象,在指定表空间的数据文件上为该对象分配多少空间。图1-5说明模式对象、表空间和数据文件之间的关系。

模式与表空间之间的关系为:一个表空间可包含不同模式的对象,而一个模式中的对象可包含在不同的表空间中。

1. 数据库块

数据库块(database block)是ORACLE逻辑分配空间的最底层,又称逻辑块、页或ORACLE 块。

数据库块是数据库使用和分配空间的最小单元,也可以说是使用的最小I/O单元,一个数据块与磁盘上指定的物理空间大小相一致,一个数据库块对应一个或多个物理块,块的大小由参数db_block_size确定。

PCTFREE和PCTUSED是开发人员用来控制数据块中可用插入和更新数据的空闲空间大小的参数。

PCTFREE:设置数据块中保持空闲的百分比。

PCTUSED:当数据块空闲空间达到PCTFREE时,此块不允许插入数据,只能修改或删除块中的行,更新时可能使数据块空闲空间变大,已用数据空间变小,当已用空间低于PCTUSED时,则可以重新插入数据。

PCTFREE及PCTUSED的选择:

经常做查询(select)的表,应使PCTFREE小些,尽量减少存储空间浪费。

经常做插入(insert)的表,应使PCTUSED大一些。

经常做更新(update)的表,应使PCTFREE大一些,给更新留出更大的空间,减少行移动。

说明:

这两个参数只能在创建、修改表和聚簇(数据段)时指定。另外,在创建、修改索引(索引段)时只能指定PCTFREE参数。

经常做插入的表设置举例:

create table COMMINFOR

( SERIALNUMBER V ARCHAR2(20) not null, ENTERHISTIME DA TE not null,

ACCEPTBEGINTIME DA TE null ,

ACCEPTDURA TION NUMBER(10) null , ACCEPTERNO V ARCHAR2(4) null ,

CALLINGPHONENO V ARCHAR2(20) null , ACCEPTID NUMBER(10) null ,

Oracle存储结构

Oracle 存储结构分析 一逻辑结构的层次与种类 1,表(table): 2,分区表(table partition):一个有很大数据量的表;我们可以把表分区,每个分区可以放在不同的段上。以实现对表的优化 3,簇(cluster):将多个表集合在一起,这些表拥有相同的列;这些相同列放在同一个物理的段里面。 4,索引(index): 5,index-organized table(对应sqlserver的群集索引): 这些表中的数据以索引的大小按升序或者降序排列 6,index partition(索引的分区): 关于索引的数据分别存于不同的物理段里面 7,undo segment: 有序循环的方式存储(存放old value;读一致性;rollback ;recovery) 8,temporary: 临时段用来排序 9,LOB segment: 存放大的数据,oracle里面将这些数据并不放在表内部,而 是有专门一个段来存储 10,nested table(嵌套表):一个表中的某个字段的值是另外一个整表! 11,bootstrap segment:初始化我们的实例用的。这个段不需要维护和管理! 二oracle存储参数的设定及继承问题 【记忆】默认为 Oracle default ===》 Tablespace (创建表空间时定义的参数) ====》 Segment(优先级最高)

【理解】初始参数 oracle block 的5倍;意思是说你创建一个表,即使里面没存数据,它已经占用了8k×5=40kB的空间(这里假设oracle block size 为8kB) 三创建表时可以单独为表指定存储参数 SQL> conn hr/123456@kk 已连接。 SQL> create table hello(id int) 2 tablespace bkeep 3 storage(initial 100k 4 next 100k); 【点子】我们来创建一个表空间test11,不带任何存储参数,然后打开oem看看它的存储参数(这些参数就是从oracle default哪里继承过来的!) 四extent的分配和重新分配 -当创建段时就分配空间 -当扩展段时给它分配空间 -强制分配空间给段(段可以跨数据文件,但不可以跨表空间;但是强制的段是不能跨数据文件获取空间的) 创建表时,最初始的空间一定会分配给它!

实验2 Oracle数据库物理存储结构管理

实验2 Oracle数据库物理存储结构管理 1.向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users0 2.dbf。 2.向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。 3. 向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf ,大小5M,每次扩展1M,最大容量为100M。 4.取消BOOKSALES数据库数据文件user03.dbf的自动扩展。 5.将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。

6.查询BOOKSALES数据库当前所有的数据文件的详细信息。 7.为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。 (过程忘了截图)复制过程没有问题,在文件夹中也能显示出CONTROL03.CTL文件可是在重新startup的时候数据库没有重新运行,出现了错误 查询也有CONTROL03.CTL文件

后来删除了CONTROL03.CTL文件(即10的图)还是启动不了数据库,只在新的例程里,后来重载了oracle。 8.以二进制文件的形式备份BOOKSALES数据库的控制文件。 第一次忘了截图 9.将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。

10.删除BOOKSALES数据库的控制文件control03.ctl。 11.查询BOOKSALES数据库当前所有控制文件信息 12.向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4M。 13.向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。 14.将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。

数据库设计实例需求分析、概念结构、逻辑结构

数据库设计实例分析 一、需求分析实例 现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 1、数据流图 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图 2、数据字典 数据项 数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20 …… 数据结构 (1)名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额 (2)名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 (3)名称:图书 含义说明:定义了一本图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+价格 ……

数据流 (1)数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 (2)数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号 …… 数据存储 (1)数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数 (2)数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用 (3)数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改 …… 处理过程 (1)处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。 …… 二、概念结构设计实例 1.标识图书管理系统中的实体和属性 参照数据字典中对数据存储的描述,可初步确定三个实体的属性为: 读者:{卡号,姓名,性别,部门,类别、办卡日期,卡状态} 读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}

Oracle数据库的物理存储结构之数据库控制文件详解

Oracle数据库中,数据库控制文件维护着数据库的全局物理结构,用以支持数据库成功的启动和运行。创建数据库时,同时就提供了与之对应的数据库控制文件。在数据库使用过程中,Oracle不断的更新数据库控制文件,所以只要数据库是打开的,数据库控制文件就必须处于可写状态。如果,犹豫某些原因控制文件不能被访问,那么数据库也就不能正常的工作了。 每一个控制文件只能与一个Oracle数据库相关联。数据库控制文件包含了数据库实例的启动和正常操作时,访问数据库所需的关于数据库的信息。数据库控制文件的内容只有Oralce 可以修改,数据库管理员和用户都不能对其进行编辑。 控制文件包含了以下信息: ?数据库名称 ?数据库创建的时间戳 ?相关的数据文件、重演日志文件的名称和位置 ?表空间信息 ?数据文件脱机范围 ?日志历史 ?归档日志信息 ?备份组和备份块信息 ?备份数据文件和重演日志信息 ?数据文件拷贝信息 ?当前日志序列数 ?检查点(checkpoint)信息 数据库名称和时间戳源自数据库创建之时,数据库名称或是来自DB_NAME初始化从参数,或者来自Cteate Database语句使用的名称。 每当数据文件或重演日志文件被添加内容、重新命名或者直接从数据库删除时,控制文件都要进行更新以反应物理结构的变化。记录下这些变化后,Oracle就可以:在数据库启动的时候,能够确定并打开数据文件和重演日子文件。 在必须要恢复数据库的时候,能够确定哪些文件是必须的、哪些文件是可用的。 PS:如果数据库的物理结构发生了改变(使用了Alert Database语句),用户应该立刻备份控制文件。 控制文件还记录了关于检查点的信息。每3秒,检查点进程(CKPT)就会在控制文件里记录重演日志文件的检查点位置信息。这些信息用于数据库的恢复过程,告诉数据库在这一点之前的已经记录下的重演条目不必进行恢复,因为它们已经被写入数据文件了。 由于控制文件对数据库的至关重要,所以联机存储着多个副本。这些文件一般存储在各个不同的磁盘上,以便将因磁盘试下哦引起的潜在危险降至最低程度。Oracle支持对同一个数据库并发的打开、书写多个相同的控制文件。通过为一个数据库在不同的磁盘上保存多个控制文件,可以幼小的降低对于控制文件可能发生的单点失败。例如,包含一个控制文件的磁盘崩溃了,如果Oracle试图访问这个被破坏的文件,当前实例就会失败,但是如果在不同的磁盘上保存了当前控制文件的复件,就可以重启一个实例而无需进行数据库恢复。

数据库的逻辑结构

数据库逻辑存储结构 数据库的物理存储结构对应一系列的物理文件,这部分主要描述的是数据存储的实际位置,不过数据如果存储,是以什么结构存储到数据文件中,则取决于数据库的逻辑存储结构. Oracle数据库在执行操作时,并不是以数据文件为单位,而是从逻辑上定义出一组结构,操作的数据可以一步步细分不同的存储单元,oracle 操作数据的过程,实际上就是对这些不同级别的存储单元进行维护和管理的过程. 逻辑存储概述 --块(block)块是逻辑存储结构中最小存储单位,所有数据的存储都是以块为单位进行.初始化参数文件中BLOCK_SIZE来指定一个块的大小,也就是说oracle的块大小在数据库创建时指定,一经指定就无法修改,除非重建数据库. --区(extent) 区是oracle数据库的最小分配单位,由一组连续的块组成,这些块在物理上可能并不连续(也就是OS块),但是必需都存在于一个物理文件,单个区在分配时不能跨文件分配(这个文件应该是数据文件).在创建对象时,最少会为该对象分配一个区,这个区叫做初始区(initial extent) 在随着对象的不断扩展,超出初始区后,oracle就会再为其分配扩展区(incremental extent)扩展区不一定要与初始区连续存放,甚至大小也可以与初始区不同,不过扩展区也必需是由连续的块组成. 段(segment)从逻辑的角度看,段由一个或多个区组成,它是一个真正逻辑结构. 可以将段看作是对象的全部或某个部分 例如:一个普通的堆组织表(不含分区,LOB类型及索引等)那么该表就对应一个段,不管这个表中被存放多少记录,它都仍然只对应一个段,不过如果该表创建了索引,那么索引数据会存放专门的索引段,如果该表有LOB类型,LOB数据也会被存入单独的数据段. --表空间(tablespace)从逻辑上定义,是由一个或多个段组成,从物理上定义是由一个或多个数据文件组成.表空间是oracle数据库中空间分配的最大逻辑单位,在往上就是数据库级别. 平时进行的创建对象的操作,都是在表空间一级进行. **提示:如创建存储对象时只能指定存储到哪个表空间,而不能指定存储到更细粒度的逻辑结构,如段,区,块.也不能指定存储到某个数据文件中. *注意*:在创建存储对象时,只需要指定存储所在的表空间(如果未指定,则存储到用户当前的默认表空间中),其他一切由oracle自动处理图: 每层结构都是一对多的关系 逻辑结构对应关系图

Oracle 逻辑存储结构

Oracle 逻辑存储结构 逻辑存储结构是Oracle 数据库存储结构的核心内容,对Oracle 数据库的所有操作都会涉及到其逻辑存储结构。数据库的逻辑结构是从逻辑的角度分析数据库的构成,即创建数据库后形成的逻辑概念之间的关系。在逻辑上,Oracle 将保存的数据划分为一个个小单元来进行存储和维护,高一级的存储单元由一个或多个低一级的存储单元组成。Oracle 的逻辑存储单元从小到大依次为:数据块(DA TA BLOCKS )、盘区(EXTENT )、段(SEGMENTS )和表空间(TABLE SPACES ),图2-2显示了各逻辑单位之间的关系。 数据库 ...表空间 表空间段 段盘区 数据块盘区数据块 段段数据库...表空间表空间段段盘区数据块盘区数据块段 段 图2-2 数据库的逻辑存储组成 由图2-2可知,Oracle 数据库由多个表空间组成,而表空间又由许多段组成,段由多个盘区组成,盘区又由多个数据块组成。 1 数据块 数据块是Oracle 用来管理存储空间的最小单元,也是执行数据库输入输出操作时的最小单位。相对应地,操作系统执行输入输出操作的最小单位为一个操作系统块的大小。在操作系统中,执行I/O 操作是以操作系统块为单位,而在Oracle 中,执行的I/O 操作以Oracle 数据块为单位。 Oracle 块的大小是操作系统块大小的整数倍。以Windows NT 操作系统为例,NTFS 格式的磁盘分区一般为4KB 大小,因此Oracle 块的大小为8KB 等。数据块的标准大小由初始化参数DB_BLOCK_SIZE 确定,具有标准大小的块被称为标准块。Oracle 支持在同一个数据库中使用多种大小的块,与标准块大小不同的块称为非标准块。 可以通过查询V$PARAMETER 数据字典,可以获得参数DB_BLACK_SIZE 的值,该参数值同时也是数据块的尺寸大小。例如: SQL> select name,value 2 from v$parameter where name ='db_block_size'; NAME V ALUE --------------------------- -------------------------- db_block_size 8192 在数据块中可以存储各种类型的数据,如表数据、索引数据、簇数据等。无论数据块中存放何种类型的数据,块都具有相同的结构,图2-3列出一个Oracle 块的基本结构。

数据库原理课后题答案

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

Oracle体系结构概述

Oracle 体系结构概述 完整的Oracle 数据库系统通常由两个部分组成:实例(INSTANCE )和数据库(DATABASE )。数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle 后台进程/线程以及在服务器分配的共享内存区。 实例和数据库有时可以互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。准确地讲,一个实例在其生存期中最多只能装载和打开一个数据库。如果要想再打开其他数据库,必须先丢弃这个实例,并创建一个新的实例。 数据库的主要功能是保存数据,实际上可以将数据库看作是存储数据的容器。数据库的存储结构也就是数据库存储数据的方式,Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构,这两部分是相互独立但又密切相关的。逻辑存储结构主要用于描述在Oracle 内部的组织和管理数据的方式,而物理存储结构则用于描述在Oracle 外部,即操作系统中组织和管理数据的方式。 Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的,两者之间不直接影响。因此Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台,而不需要考虑物理实现方式。 在启动Oracle 数据库服务器时,实际上是在服务器的内存中创建一个Oracle 实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个实例来访问和控制磁盘中的数据文件。图2-1以最简单的形式展示了Oracle 实例和数据库。Oracle 有一个很大的内存块,称为系统全局区(SGA )。 文件 文件文件文件 文件数据库 SGA 后台进程后台进程后台进程后台进程后台进程后台进程后台进程 实例 图2-1 Oracle 实例和数据库 当用户连接数据库时,实际上是连接到实例中,由实例负责与数据库通信息,然后再将处理结构返回给用户。 Oracle 数据库服务器的后台进程的数量与其工作模式有密切关系。Oracle 服务器处理请求有两种最常见的方式,分别是专用服务器连接和共享服务器连接。在专用服务器连接下,Oracle 数据库会为每个用户请求分配一个专用服务器进程为其提供服务,当用户请求结束后,对应的服务器进程也相应地被终止。如果同时存在大量的用户请求,则需要同等数量的服务器进程提供服务。 而在共享服务器连接下,Oracle 数据库始终保持一定数量的服务器进程,用户的请求首

(34) Oracle存储结构管理(3)

6.4 管理数据库存储结构(3) 1.重做日志文件的概念 (1)重做日志文件,保存了用户对数据库所作的更新操作(DDL 、DML ),包含的主要信 息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。 (2)重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。 (3)用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重 做记录写入重做日志缓冲区。在一定条件下由DBWR 进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR 进程周期性的写入重做日志文件。 (4)利用重做日志文件恢复数据库是通过事务的重做(REDO )或回退(UNDO )实现的。 2.重做日志文件的工作过程 (1)每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日 志文件写满后,进程LGWR 就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。 (2)重做日志文件工作流程 日志切换 日志切换 重做日志文件1 日志切换 重做日志文件2 重做日志文件3 1,4,7,… 2,5,8,… 3,6,9,… LGWR 重做日 志缓冲区 (3)为了保证LGWR 进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包 含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。 MENBER1_1 MENBER1_2 MENBER2_1 MENBER2_2 MENBER3_1 MENBER3_2 GROUP1 GROUP2 GROUP3 DISK 1 DISK 2 3.重做日志文件的管理 (1)添加重做日志文件组 (2)添加重做日志文件组成员文件 (3)改变重做日志文件组成员文件的名称和位置 (4)删除重做日志文件组成员 (5)删除重做日志文件组 (6)重做日志文件切换 (7)清空重做日志文件组 (8)查看重做日志文件信息

ORACLE数据库块的详细存储结构

ORACLE数据库块的详细存储结构 数据库----存储数据的容器 数据库的主要功能是保存数据。 数据库的存储结构---数据库存储数据的方式 oracle数据库的存储结构: 逻辑存储结构:oracle内部的组织和管理数据的方式 物理存储结构:oracle外部(操作系统)组织和管理数据的方式 oracle对逻辑存储结构和物理存储结构的管理是分别进行的。 (一)逻辑存储结构: oracle在逻辑上将保存的数据划分为一个个小单元来进行存储和维护,更高一级的逻辑存储结构都是由这些基本的小单元组成的。 逻辑结构类型:从小到大块-->区-->段-->表空间 (1). 块:Oracle用来管理存储空间的最基本单元,也是最小的逻辑存储结构。Oracle数据库在进行输入输出时,都是以块为单位进行逻辑读写操作的。 块---->操作系统快的整数倍(1、2、4等) Oracle块的大小在数据库创建的时候决定的,以后不能修改。 区:比块高一级的逻辑存储结构由连续的快组成 oracle在进行存储空间的分配和回收是以区为基本单位的 段:多个区组成这些区可以是连续的,也可以是不连续的。当用户在数据库中创建各种具有实际存储结构的对象时(保存有数据的对象),比如表、索引等,Oracle将为这些对象创建“段”。一般一个对象只拥有一个段 表空间:最高级的逻辑存储结构每个数据库都是由一个或多个表空间组成,在创建数据库时会自动创建一个默认的SYSTEM表空间。 通过使用表空间---Oracle将所有相关的逻辑结构和对象组合在一起。 逻辑结构关系: 块--->一张张白纸区--->白纸组成的本子段--->多个本子放到一个文件袋中 表空间--->文件柜(存放多个文件袋) (2)☆. 块的管理:块的可用存储空间进行管理 块结构: 块的头部信息区 快头部:包含块的一般属性信息如块的物理地址、块所属的段的类型 表目录:如果快中存储的数据是表数据则在表目录中保存这个表的相关信息行目录:行记录的相关信息如ROWID 块的存储区: 空闲空间行空间

数据库逻辑结构图

数据库逻辑结构图 一、实体的关系模型 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式) 5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费项目,消费时间,消费金额,剩余金额,总收入) 其中有下划线的是主键。 二、关系模型合并 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式) 5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费项目,消费时间,消费金额,剩余金额,总收入) 三、关系模型的函数依赖关系 1)、用户名——>密码 2)、(帐号,密码)——>姓名,(帐号,密码)——>年龄,(帐号,密码)——>出生日期,(帐号,密码)——>电话号码

3)、时间——>地点,时间——>事件 4)、姓名——>城市,姓名——>备注,姓名——>工作地点,姓名——>联系方式; 5)、日期——>地点,日期——>人物,日期——>事情 6)、标志——>消费时间,消费时间——>消费项目,消费时间——>消费金额,标志——>总收入,标志——>剩余金额。 其中6不是第一范式其他都是第一范式,且6为第二范式. 四、优化 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式)5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费时间,剩余金额,总收入) 消费(消费时间,消费项目,消费金额)

数据库-逻辑结构设计

1、关系模型与ER模型:(一个关系就是一张二维表) 关系模式:→二维表 ER模型:→ER图 2、关系模型的基本概念: 教师(教师编号,A, B, 姓名,性别,所在系)--主表 课程(课程号,课程名,上课教师,教师编号)--从表 关系名:实体与实体间的联系 元组----记录---行(非空) 字段----数据项---列(属性) 键----关键字----标识属性(主键,外键,候选键) 主从关系:以该属性为主键的表就是主表,以该属性为外键的表就是从表。 3、将ER模型转换成二维表,以下面为例: ER模型: 实体: 教师(教师编号,姓名,性别,所在系) 课程(课程号,课程名,教师编号,上课教室) 学生(学号,姓名,年龄,班级) 联系: 讲授(教师编号,课程号) 选修(学号,课程号,成绩)

二维表: ①将实体转为关系表 (实体名--关系名,实体属性--关系属性,即列,实体键--关系键) ②将实体的联系转为关系表(关系模式) 1:1的联系--可以转为一个独立的关系模式,也可以与任一实体合并 1:n的联系--可以转为一个独立的关系模式,也可以与n端实体合并 m:n的联系--可以转为一个关系模式 3个或3个以上实体之间的多元化的联系--可以转为一个关系模式 相同的键的关系模式可以合并 4、关系规范化:(5个等级----5个范式-----1NF→5NF)Form ①规范化原因:消除不合适的数据依赖,即关系模式中会存在以下弊端: 数据重复(冗余) 数据不一致性 数据插入异常 数据删除异常…. ②范式规范化的判定条件: 1NF:实体中的属性不能再分解 实例: 学生1(学号,姓名,性别,出生日期,系部代码,入学时间,家庭成员)不属于1NF 更改后: 学生1(学号,姓名,性别,出生日期,系部代码,入学时间,家庭) 家庭(学号,家庭成员姓名,亲属关系) 2NF:实体中的非键属性完全依赖键属性 实例: 属于1NF,不属于2NF 分析: 系部代码----由学号决定,出生日期---由学号决定,成绩---由学号+课程号决定 更改后: 3NF:没有一个非键属性传递依赖于键(关键字→非关键字1....→非关键字n) 实例: 属于2NF 分析: 姓名,性别,出生日期,入学时间---由学号唯一决定 系部代码,系名,系宿舍楼----不是由学号唯一决定,相互递推出来不属于3NF (例如:系部代码----由学号或者系名或者系宿舍楼推出) 更改后:

Oracle 数据库逻辑存储结构管理

一、实验目的: (1)掌握Oracle 数据库表空间的管理。 (2)掌握数据库表空间不同状态时对数据操作的影响。 (3)分别创建永久性表空间、临时性表空间、撤销表空间。 (4)完成表空间的管理操作,包括修改表空间大小、修改表空间的可用性、修改表空间的读写、表空间的备份、表空间信息查询、删除表空间。 二、实验环境: WINDOWS 7、ORACLE 11g 二、实验内容: (1)为BOOKSALES 数据库创建一个名为BOOKTBS1 的永久性表空间,区采用自动扩展方式,段采用自动管理方式。 SQL> create tablespace booktbs1 datafile 2 'D:\app\Administrator\oradata\orcl\hrtbs1_1.dbf' size 50m; Tablespace created (2)为BOOKSALES 数据库创建一个名为BOOKTBS2 的永久性表空间,区采用定制分配,每次分配大小为1M,段采用手动管理方式。 SQL> create tablespace booktbs2 datafile 2 'D:\app\Administrator\oradata\orcl\booktbs2.dbf' size 50m 3 extent management local uniform size 1m 4 segment space management manual; Tablespace created (3)为BOOKSALES 数据库创建一个临时表空间TEMP02。 SQL> create temporary tablespace temp02 tempfile 2 'D:\app\Administrator\oradata\orcl\temp02.dbf' size 20m; Tablespace created (4)将BOOKSALES 数据库临时表空间TEMP 和TEMP02 都放入临时表空间组TEMPGROUP 中。 SQL> alter tablespace temp02 tablespace group tempgroup; Tablespace altered SQL> alter tablespace temp tablespace group tempgroup; Tablespace altered (5)为BOOKSALES 数据库创建一个名为UNDO02 的撤销表空间,并设置为当前数据库的在线撤销表空间。SQL> create undo tablespace undo02 datafile 2 'D:\app\Administrator\oradata\orcl\undo02.dbf' size 20m; Tablespace created (6)为BOOKSALES 数据库的表空间BOOKTBS1 添加一个大小为50M 的数据文件,以改变该表空间的大小。 SQL> alter tablespace booktbs1 add datafile 2 'D:\app\Administrator\oradata\orcl\bookdata01.dbf' size 50m; Tablespace altered (7)将BOOKSALES 数据库的表空间BOOKTBS2 的数据文件修改为可以自动扩展,每次扩展5M,最大容量为100M。 SQL> alter database datafile 2 'D:\app\Administrator\oradata\orcl\booktbs2.dbf' 3 autoextend on next 5m maxsize 100m; Database altered (8)创建一个名为test 的表,存储于BOOKTBS1 表空间中,向表中插入一条记录。 SQL> create table test(id number primary key,name char(20)) tablespace booktbs1; Table created

数据库逻辑结构

DATABASE-->TABLESPACES-->SEGMENTS-->EXENTS-->BLOCKS Oracle的逻辑存储结构单元从小到大依次分为数据块、区、段和表空间四种 数据块:由磁盘上特定数量的字节组成,是数据库中最小的逻辑存储单元,也是最小的I/O单元 区:有两个或更多个连续的数据块组成,是数据库中最小的存储分配单元。 段:是由若干个区形成的,是相同类型数据的存储分配区域 表空间:一个或多个数据文件的集合,通常由若干个相关联的段组成,是最大的逻辑存储单元,所有的表空间构成一个数据库。 表空间 一个表空间对应一个或多个数据文件,一个数据文件只能从属于一个表空间。 表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。 表空间管理的意义: 使用多个表空间,可以使得在执行数据库操作时非常方便灵活,比如: 可以控制整个数据库占用空间的大小、 可以控制用户所占用的存储空间的大小 用户数据与数据字典数据分开,减少I/O冲突 一个表空间脱机时,其他表空间保持联机 TABLESPACE(表空间)分类 PERMANENT 永久表空间 UNDO 撤销表空间 TEMPORARY 临时表空间 永久性表空间是指该表空间用于存放永久性数据库对象如SYSTEM系统表空间和USERS 用户表空间。

临时性表空间是指该表空间仅用于存放临时对象,任何永久性对象都不能驻留于临时表空间中。在建立用户时,如果不指定表空间,默认的临时表空间是TEMP。在数据库实例运行过程中,执行排序、管理索引和访问视图等操作时会产生大量的临时数据,这些临时数据将保存在临时表空间中。 撤销表空间存储撤销段(回退段),由例程自动处理撤销表空间中的撤销段。这样可以减轻DBA的工作负担。撤销段主要用于显式或隐式的回退一个事务;从逻辑错误中恢复等方面 创建表空间 创建表空间可以使用OEM或利用CREATE TABLESPACE命令方式 需要注意的是,一般情况下,建立表空间是特权用户或是dba来执行的,如果用其它用户来创建表空间,则用户必须要具有create tablespace的系统权限。 OEM例:创建永久性表空间“Stu_space”,区管理方式为“本地管理”,状态为“读写”。其对应数据文件“stu01.dbf”大小为10MB,数据文件允许自动增长,增长增量大小为10MB,最大限制为100MB,其他参数采用默认值。 在建立数据库后,为便于管理表,最好建立自己的表空间 createtablespace data01 datafile 'd:\test\dada01.dbf' size 20m uniform size 128k; 说明:执行完上述命令后,会建立名称为data01 的表空间,并为该表空间建立名称为data01.dbf 的数据文件,区的大小为128k 使用数据表空间 create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13)) tablespace data01; 表空间的管理方式: 重点是段的管理方式和区的管理方式是在建立表空间时确定的。 段管理方式有AUTO和MANUAL两种,区管理方式有本地管理和字典管理(已淘汰)两种。 SQL> select tablespace_name,contents ,extent_management,segment_space_management from dba_tablespaces; 建一个使用缺省值的表空间 SQL> create tablespace a datafile '/u01/oradata/timran11g/a01.dbf' size 10m; 段、区和块 段是表空间中指定类型的逻辑结构,由一个或多个区间组成。一个单独的表可以是一个段。按照段中存储数据的特征,可以将段分为4种类型:数据段、索引段、回退段和临时段。 区间是由一系列物理上连续的数据块组成的存储结构。在创建表时,Oracle将为表创建一个数据段,并为数据段分配一个初始区间。当向表中添加数据时,初始区中的块将逐渐被写满,写满后,Oracle将为数据段再分配一个新的区间。

数据库设计实例需求分析概念结构逻辑结构完整版

数据库设计实例需求分 析概念结构逻辑结构 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

数据库设计实例分析 一、需求分析实例 现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 1、数据流图 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图 2、数据字典 数据项 数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20 …… 数据结构 (1)名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额 (2)名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 (3)名称:图书 含义说明:定义了一本图书的有关信息

组成结构:图书编号+图书名称+作者+出版社+价格 …… 数据流 (1)数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 (2)数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号 …… 数据存储 (1)数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数 (2)数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用 (3)数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改 …… 处理过程 (1)处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。 …… 二、概念结构设计实例

(36) Oracle存储结构管理(5)

6.6 管理数据库存储结构(5) 1.主要目标 ?掌握Oracle数据库逻辑结构组成 ?掌握表空间的作用及其管理 ?掌握扩展区的结构,了解扩展区的管理 ?掌握段的作用,了解段的管理 2. 逻辑存储结构概述 ?概念 ?逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概 念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻 辑存储结构信息,而只有物理存储结构信息。数据库的逻辑存储结构概念存储在数 据库的数据字典中,可以通过数据字典查询逻辑存储结构信息。 ?逻辑结构单元类型 ?数据块:BLOCK ?区:EXTENT ?段:SEGMENT ?表空间:TABLESPAC E ?数据库的存储层次关系 ?数据库逻辑存储结构之间的关系 3.表空间的基本概念 (1)主要内容

?表空间的概念 ?表空间的分类 ?表空间的管理方式 ?表空间的管理策略 (2)表空间概念 ?Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。 ?一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。 ?一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。 ?表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。 ?数据库、表空间、数据文件、数据库对象之间的关系 数据库 表空间1 数据文件1 数据库对象1 数据文件2 数据库对象3 数据库对象2 表空间2 数据文件3 数据库对象4 数据文件4 数据库对象5 数据库对象6 (3)表空间的分类 ?系统表空间 ?SYSTEM 表空间,主要存储: ?数据库的数据字典; ?PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等; ?数据库对象的定义,如表、视图、序列、同义词等。 ?SYSAUX表空间 ?SYSAUX表空间是Oracle 10g新增的辅助系统表空间,主要用于存储数据库组件等信息,以减小SYSTEM表空间的负荷。 ?在通常情况下,不允许删除、重命名及传输SYSAUX表空间。 ?非系统表空间 ?撤销表空间 ?专门进行回滚信息的自动管理,由UNDO_TABLESPACE参数设置。 ?临时表空间 ?专门进行临时数据管理的表空间 ?在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据,这些临时数据将保存在数据库临时表空间中。 ?默认临时表空间 ?用户表空间

数据库设计:逻辑结构设计

5.3逻辑结构设计 逻辑结构设计的任务就是把概念模型转换为某个具体的数据库管理系统所支持的数据模型。 具体来讲就是从E-R模型到关系模型的转换。 (1)根据E-R模型设计关系模式; (2)选择适当的范式对所得到的关系模式进行规范化; (3)将得到的关系模型转换为具体DBMS支持的数据模型,设计关系数据库模式。 (4)依据关系的完整性约束来设计用户视图。 1、关系模型 关系模型是指用二维表的形式表示实体和实体间联系的数据模型。关系模型中无论是实体还是实体间的联系均由单一的结构类型——关系来表示。在实际的关系数据库中的关系也称表。一个关系数据库就是由若干个表组成。 关系模型数据结构 (1)关系 一个关系也就是通常所说的一张表。 关系具有以下特征: 1.关系中不能有任意两条完全相同的记录。 2.关系中的记录是非排序的。 3.关系中记录的字段是非排序的。 4.字段名称不能相同。 5.字段不可再分。 (2)元组 每一横行称为一个元组。 (3)属性 属性:每一竖列称为一个属性,在DBMS中常被称作字段。在一个关系中,有

一个关系名,同时每个属性都有一个字段名 (4)码(键) 能唯一标识元组的属性或属性集称为码。码分为以下几种: 候选码:如果在关系的一个码中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。 例如下列学生表中“学号”或“图书证号”都能唯一标识一个元组,则“学号”和“图书证号”都能唯一地标识一个元组,则“学号”和“图书证号”都可作为学生关系的候选键。 主键(主码):在一个关系的若干候选键中指定一个用来唯一标识该关系的元组,则称这个被指定的候选码称为主关键字,或简称为主键、关键字、主码。每一个关系都有并且只有一主键,通常用较小的属性组合作为主键。 外键(外码):关系中的某个属性虽然不是这个关系的主键,或者只是主键的一部分,但它却是另外一个关系的主键时,则称之为外键或者外码。 例如学生表,选定“学号”作为数据操作的依据,则“学号”为主键。而在选课表中,主键为(学号,课程号),外码为“学号”。 (5)关系模式 关系模式是对关系的描述,关系是关系模式的一个实例关系模式包括关系名、各属性名,通常简记为: R(A1,A2,…,An) 其中R为关系名,A1,A2,…,An为各属性名。 例如:学生(学号*,姓名,性别,出生日期,院系) 其中标“*”号的属性为主键 (6)关系完整性约束

相关主题
文本预览
相关文档 最新文档