concepts 阅读总结1——体系结构

来源:互联网 发布:淘宝店铺免费打折工具 编辑:程序博客网 时间:2024/05/16 12:34

1、数据库应用体系结构概述:c/s 结构 和 多层结构  --

多层体系结构具备以下组成部分:客户端程序,提交数据库操作;一个或多个应用服务器处理一个操作请求的不同部分。应用服务器首先负责访问数据,再对查询结果进行处理,这就减轻了数据库服务器的负担。应用服务器可以作为客户端与数据库之间的接口,还可提供额外的 安全控制;一个数据库服务器,或称为服务端,存储用户操作所需的数据。

  • 在这种体系结构下,应用服务器起到以下作用:

    • 验证用户身份,

    • 连接Oracle数据库服务器

    • 代替用户执行对数据库的请求

 物理数据库机构概述:主要是各种文件:

包括数据文件,重做日志文件,归档日志文件,控制文件,跟踪文件(trace file),服务器参数文件(server parameter file),备份文件(backup file)

逻辑数据库机构概述:主要是一些数据块,数据扩展,数据段等:

一个数据库在逻辑上被分为一个或多个表空间,用户可以在每个表空间中创建一个或多个数据文件来物理的存储此表空间的逻辑对象。oracle10g创建数据库的时候自动创建两个表空间:system,sysaux。表空间可以有联机状态脱机状态,有时候你可以把联机的表空间设置成脱机状态,这样就不能访问了,方便管理哈。

在Oracle数据库中,最精细的数据存储粒度是数据块(data blocks)。一个数据块相当于磁盘上一段连续的物理存储空间。数据块分配的默认容量由初始化参数 DB_BLOCK_SIZE 决定。

更高一层的数据库存储结构式数据扩展(extent),包含数个连续的数据块,用于存储信息。

再向上一层结构叫(segment),包括一组数据扩展。

当一个段内已有的数据扩展的装满之后,Oracle动态地分配新空间。换句话说,段内已有的数据扩展装满之后,Oracle为这个段分配新的数据扩展。因为数据扩展是随需分配的,因此一个段内的数据扩展 物理上未必是连续的。

一个段,以及属于他的数据扩展是必须存在于同一个表空间中的,但是在一个表空间中,一个段的各个数据扩展可以存储在不同的数据文件中,也就是说,段可以跨文件存储。但是一个数据扩展只能属于一个数据文件。

用户分配一个数据拓展时,其中对应的数据块未必同时分配。书上是这么说的:如果一个数据拓展是专门为一个数据库对象分配的,那么这个数据拓展的数据块会立即加入可以列表(free list),也就是说立即被分配可用了。如果不是专门为某个数据库对象分配,那么数据块只有在高水位线(high water mark 就是段中已用和未用空间的分界点)移动的时候才被分配。


2、方案及常用的方案对象概述:

方案(scheme)是一组数据库对象的集合,它和用户名是重名的,并且属于该用户,比如书scott是一个用户名,也是一个方案,方案对象包括:表,索引,视图等逻辑数据结构。一个方案和一个表空间是没有任何关系的,一个表空间内可以同时有好几个方案的对象,一个方案的不同对象也可以存放在不同的表空间中。也就是说,表空间与用户也是没有关系的;

常见的方案对象有表啊,视图啊,索引啊之类的,再加上俩个不太熟悉的:

(cluster)是一组物理上存储在一起的表,她适用于数个表有相同的列而且经常一起使用的情况。因为相关的数据物理的存储在一起,有利于降低磁盘存取时间。

同索引一样,簇的使用也不会影响应用程序设计。一个表是否属于一个簇对用户和应用程序都是透明的。储存于簇表中的数据与非簇表中的数据一样可以通过相同的SQL来访问。

同义词是表、视图、物化视图、序列、过程、函数、包、类型、Java类、用户自定义对象、或其他同义词的别名。因为同义词只是个别名,除了在数据字典中的定义之外他不需额外的存储空间。

3、数据字典概述:


原创粉丝点击