考试吧

计算机等级

考试吧>等级考试>复习资料>正文
2016年全国计算机四级数据库考试重点(6)
考试吧 2016-02-19 10:08:07 评论(0)条

  点击查看2016年全国计算机四级数据库考试重点汇总

  十一、ORACLE 数据库管理系统介绍

  1.ORACLE的特点:

  可移植性 ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性 由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。可联结性 对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。

  2.ORACLE的总体结构

  (1)ORACLE的文件结构 一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。数据文件 一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。日志文件 须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件 可以有备份,采用多个备份控制文件的是为了防止控制文件的损坏。参数文件 含有数据库例程起时所需的配置参数。

  (2)ORACLE的内存结构 一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。SGA(System Global Area)包括数据库缓冲区,日志缓冲区及共享区域。PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。

  (3)ORACLE的进程结构ORACLE包括三类进程:

  ①用户进程 用来执行用户应用程序的。

  ②服务进程 处理与之相连的一组用户进程的请求。

  ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括:DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO和对服务进程与用户进程进行匹配的Dnnn进程等。

  3.ORACLE的逻辑结构

  构成ORACLE的数据库的逻辑结构包括:

  1)表空间

  (2)5种类型的段(segment)

  ①数据段;

  ②索引段;

  ③滚回(rollbock)段;

  ④临时段;

  ⑤自举(bootstrap)段。段的分配单位叫范围(Extent)表空间(Tablespace) 一个数据库划分成的若干逻辑部分称为表空间。一个数据库可以有一个或多个表空间,初始的表空间命名为SYSTEM,每一个逻辑表空间对应于一个或多个物理文件。DBA使用表空间做以下工作:控制数据库对象,如表、索引和临时段的空间分配。为数据库用户设置空间配额。利用个别表空间的在线或离线,控制数据的可用性。后备或恢复数据。通过分配空间,以改进性能。在每个数据库中都存在SYSTEM表空间,它在建立数据库时自动建立。在该表空间中,包含数据库的数据字典,其中存储全部数据库对象的名字和位置。SYSTEM表空间总是在线的,像其它表空间一样,可以通过增加新的数据库文件来扩大。一个表空间可包含许多表和索引。但一个表和索引不能跨越表空间,可跨越组成表空间的文件。在DB的打开的情况下,DBA利用ALTER TABLESP ACE语句,可以实施表空间的在线或离线。SYSTEM表空间必须在线。表空间离线有下列原因:一般为了使部分数据库不能使用,而允许正常存取数据库其余部分。执行表空间离线备份。一个离线的表空间,不能被应用用户读或编辑。可以增加数据文件扩大已有的表空间,也可增加新的表空间使数据库容量增大,或分配空间给某个应用。使用ALFER TABLESPACE ADD FILE语句将另一个数据文件加入到已存在表空间中。使用CREATE TABLESPACE语句可建立一个新的表空间。段(segment) 表空间中的全部数据存储在以段划分的数据库空间中。一个段是分配给数据库用于数据存储的范围的集合。数据可以是表、索引或RDBMS所需要的临时数据。段是表空间的下一个逻辑存储的级别。一个段不能跨越一个表空间,但可跨越表空间内的文件。一个数据库最多需要五种段类型:数据段 一个包含一个表(或聚集)的全部数据,一个表(或聚集)总有一个单个数据段。索引段 一个索引段包含对一个表(或聚集)建立的一个索引的全部索引数据。一个表可以有一个、多个或者没有索引段,取决于它所拥有的索引个数。一个聚集必须至少有一个索引段,即在聚集码上建立聚集索引。回滚段 每个DB有一个或多个回滚段。一个回滚段是DB的一部分,它记录在某一情况下被撤消的动作。回滚段用于事务控制和恢复。临时段 在处理查询时,ORACLE需要临时工作空间,用于存储语句处理的中间结果,这个区称为临时段。自举段 自举段在SYSTEM表空间中,在数据库建立时建立。它包括数据字典定义,在数据库打开时装入。

  4.用户数据库对象

  由用户建立的对象驻留在表空间中,含有真正的数据。数据库对象有表、视图、聚集、索引、伪列和序号生成器。

  (1)聚集(Cluster) 聚集是存储数据的一种可选择的方法。聚集包括存储在一起的一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少。聚集是一种优化措施。聚集对性能的改进,依赖于数据的分布和SQL操作的内容。特别是使用聚集对连接非常有利。可以明显地提高连接的速度。建立聚集命令的基本格式:SQL>CREATE CLUSTER〈聚集名〉(列定义[,…]);利用聚集建立表命令基本格式:SQL>CREATE TABLE〈新表名〉(列定义[,…]CLUSTER〈聚集名〉(聚集列);在聚集码上必须建立一个聚集索引,对于每一数据块上每个聚集码值有一索引项。这个索引必须在DML语句对聚集表操作前建立。建立索引的语句是:CREATE INDEX索引名ON CLUSTER聚集名。

  (2)序号生成器 序号(SEQUENCE)生成器为表中的单列或多列生成顺序号。利用序号可自动地生成唯一主码。使用SQL语句定义序号,给出一些信息(如序号名、是升序或降序、每个序号间的间隔和其它信息)。所有序号存储在数据字典表中。所有序号定义存储在数据字典的SEQUENCE表中。用户可以通过字典视图USER-SE-QUENCES、ALL-SEQUENCES和DBA-SEQUENCES查询和存取。建立序号生成器的语句是:CREATE SEQUENCE序号生成器名 其它选项。一旦序号生成器S被定义。可用S.Currval来引用S序号生成器的当前值。用S.nextval产生下一个新的序号并加以引用。

  (3)伪列 伪列的行为像表的一列,但不真正存在于表中,在查询时可引用伪列,但伪列不能插入、删除或修改。

  5.数据字典

  数据字典ORACLE RDBMS最重要的部分之一。数据字典含有一组系统定义的表,只能读,是关于数据库的引用指南。它可提供以下信息:ORACLE用户的用户名;每个用户被授予的权限和角色;实体的名字和定义;完整性约束为数据库实体分配的空间;通用的数据库结构;审计信息;触发子等的存储。数据字典是以表和视图构成的,像其它数据库数据一样,可用SQL语言查询数据字典。数据字典在DB建立时建立。每当DB进入操作,数据字典就由ORACLE RDBMS负责修改。数据库建立时有两个默认DBA用户:SYS、SYSTEM。SYS持有基本表中的数据。

  下面列出的是一些常用的表或视图的名称。

  (1)DTAB 描述了组或数据字典的所有表。

  (2)TAB 用户建的所有基本表、视图和同义词。

  (3)COL 用户创建基本表的所有列的信息。

  (4)SYNONYMS 用户可存取的同义名词、专用名和公用名。

  (5)CATALOG 用户可存取的表、视图、同义词、序列。

  (6)CONSTRAINTS 用户可存取的约束。

  (7)INDEXES 用户可存取的表和聚集的序列。

  (8)OBJECTS 用户可存取的对象。

  (9)TANLERS 用户可存取的表。

  (10)USERS 查看当前全部用户。

  (11)VIEWS 查看用户可存取的视图。

  (12)SYSTABAUTH 用户对数据对象的使用权限。可以用SQL>SELECT*FROM〈字典表名或视图名〉WHERE〈条件〉来读取有关信息。可以用SQL>DESCRIBE〈表名〉来查看表的结构定义。但是数据库字典的结构不可改。用DESCRIBE命令还可以查看视图及过程的定义。

  6.ORACLE的SQL、PL/SQL与SQL*PLUS

  作为ORACLE数据库核心的SQL语言是ANSI和ISO的标准SQL的扩充。用来存储、检索和维护数据库中的信息,并控制对数据库的存取事务。由于RDBMS执行SQL语句时,是一次只执行一条语句,它是非过程化的。这就使得单条的SQL语句使用方便,功能强大。用户只需说明操作目的,不必关心具体操作的实现方法。但在实际数据库应用开发中,往往要依据前一步对数据库操作的结果或上一个事务提交的情况来确定下一步的操作。故ORACLE推出了一种PL/SQL工具,它扩充了SQL语句,使之具有可进行过程化编程的能力,如循环、分支功能。PL/SQL可支持变量和常量的使用。

  十二、分布式数据库

  1.分布式数据库的分类

  分布式数据库,是根据它的管理系统(Distributed DBMS-DDBMS)进行分类的。对DDBMS可以从四个不同角度来分类:

  (1)从构成的方式,可分为同构型和异构型两类所谓同构型,是指所有节点的局部DBMS都支持同一数据模式和数据语言。为使每个节点都掌握彼此的数据情况,需要增加网络数据库管理系统(NDBMS),各节点之间通过通信网络形成统一的整体。同构型的DDBMS对于并发控制、冗余数据的一致性等问题容易处理,但建库的代价比较大。所谓异构型系统,是指在分布环境中各节点上的数据模型和数据语言都可能不同。异构比同构型系统实现起来要困难一些,为了在两个节点上的局部DBMS之间进行信息交换,就要对数据模式和数据语言进行转换和映射工作。

  (2)按控制方式,可以分为集中式与分布式所谓集中控制的DDBM指所有事务都由一台叫做中心计算机的节点进行管理。分布控制的DDBMS,是指每个节点都保持DDBMS的一个副本来监督和管理各节点及系统事务,它将网络目录作为用户数据库存放于局部DB之中。

  (3)从数据分布的角度,DDBMS又可分为分割式、部分重复式和完全重复式所谓分割式,是指每个节点只存储DDB数据实体的部分子集,各节点的副本互不重叠。部分重复式,是指每个节点都存储DDB数据实体的任意子集。完全重复式,是指每个节点都存储整个DDB数据实体的副本。也有文献把完全重复式称为复制式。(4)从用户的角度,DDBM可分为总体型和多重型。

  2.分布式数据库与单一数据库的比较

  (1)集中控制 在一个企业或单位范围内的信息资源上,对信息提供集中式控制的可能性,被认为是采用数据库技术的最大动力之一,因为集中式数据库是根据信息系统的演变和集中处理信息的需求开发出来的。

  (2)数据独立性 数据独立性也曾经被认为是采用数据库方法的主要动力之一。实际上,数据独立性意味着数据的实际结构对应用程序来讲是透明的,应用程序员只需要利用数据逻辑结构,即所谓概念模式来编写程序。数据独立性的主要优点是应用不受数据存储的物理结构变化的影响。在分布式数据库中,数据的独立性具有与传统的集中式数据同等的重要性,然而,一种崭新概念加进了数据独立性的一般概念之中,这就是分布式透明性。所谓分布式透明性,指的是在编写程序时就好象数据没有被分布一样。这样,无论把数据存储到甲地或乙地,或者把数据从一个节点移到另一个节点,都不会影响程序执行的正确性和有效性,但是,必须指出,执行速度或者效率却受到了影响。众所周知,通过具有不同形式的数据描述和它们之间的映射的多层体系结构,曾为传统的数据库提供了独立性,为此目的,开发出了概念模式、存储模式和外部模式等概念。利用类似的方法,我们可以通过采用新层次和新模式,在分布式数据库中可获得分布式透明性。分布式透明性是分布式数据库系统的主要目标之一。

  (3)降低冗余 在传统数据库系统中,尽可能地降低冗余度是它的主要目标之一。这有两个原因:首先,通过只用一个正本,可以自动地避免同一逻辑数据中几个副本之间的不一致性。其次,用降低冗余度来节约存储空间。通过共享数据的方式,即通过允许几个应用访问同一文件和记录可以达到降低冗余度的目的。但是,在分布式数据库中,把数据的冗余看成是所需要的特性。这有几个原因:首先,如果在需要冗余的所有节点都复制数据,则可以增加应用的局部性。其次,可以增加分布式数据库系统的有效性和可靠性。因为,如果复制数据,则一个节点上的故障不会停止其它节点上应用的执行。在一般情况下,为传统集中式环境所规定的克服冗余的原因,在分布式环境中仍是有效的。因此,在分布式数据库中,对冗余度的评价要选择一种折衷方案,不能一概而论。一般地说,复制数据项的方便程度是随着应用所执行的检索访问与更新访问的比率提高而增加。数据复制便利程度的提高,是因为具有一个项目多个副本,检索可以在任一副本上进行,而更新却必须在所有副本上一致地进行。

  (4)有效访问 复杂的访问结构,如辅助索引,文件间的链接等,都是传统数据库所采用的重要技术,对这些结构的支持是数据库管理系统DBMS极为重要的组成部分。提供复杂访问结构的原因,是为了提高存取数据的效率。

  (5)完整性、恢复和并发控制 在数据库理论中,尽管完整性、恢复和并发控制等所涉及的问题是不同的,但它们之间相互联系还是很多的,一般来说,完整性、恢复和并发控制等问题的解决,在很大程度上取决于所提供的事务的结构形式。

  (6)保密性和安全性 在传统数据库中,具有集中式控制的数据库管理员能保证只执行那些授权的数据访问。但应当指出,集中式数据库本身比过去处理单独文件的旧方法更难于实现数据的保密性和安全性。在分布式数据库中,局部数据库管理员面临的一些主要问题,与传统数据库管理员面临的问题一样。但是,分布式数据库的两个独特方面值得一提:首先,在具有极高度节点自主权的分布式数据库中,局部数据的拥有者认为比较安全,因为他们能自主地实施自己的安全措施,以履行集中式数据库管理员的职责。其次,安全性问题,一般是分布式系统的固有问题,因分布式系统是通过通信网络来实现分布式控制的,而通信网络本身就在保护数据的安全性和保密性方面存在着弱点。通过网络偷看、乱改别人的数据难以完全避免。

  3.分布式数据库管理系统(DDBMS)

  在目前分析DDBMS的性能时,应该把商品化系统和先进的研究样机区分开来,但是可以预料,某些先进的研究样机中试验的特性,可能会应用到将来的商品化系统中去的。本节简要叙述分布式数据库管理系统的基本性能,并就用什么样的方法使得分布式数据库这个新技术商品化的问题谈一点看法。从目前看,世界上几各已经商品化的分布式系统是由集中式数据库管理系统的销售厂商开发出来的。这些分布式数据库管理系统,包括扩充集中式DBMS时所附加的部件。分布式功能的扩充是通过装配在计算机网络中不同节点上的DBMS之间所提供的通信和合作来实现的。在这种情况下建立分布式数据库通常所必须的软件部分是:

  (1)数据库管理部分(DB);

  (2)数据通信部分(DC);

  (3)数据字典(DD),它能用来表示有关网络中数据分布的信息;

  (4)分布式数据库部分(DDB)。

展开全文
评论(0条) 发表
触屏版电脑版
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心