全国计算机四级考试复习纲要-第六章(4)

卫文 1172分享

  2.DBMS的基本功能

  (1)数据库定义 对数据库的结构进行描述,包括外模式、模式、内模式的定义;数据库完整性的定义;安全保密定义(如用户口令、级别、存取权限);存取路径(如索引)的定义。这些定义存储在数据字典(亦称为系统目录)中,是DBMS运行的基本依据。为此,提供数据定义语言DDL。

  (2)数据存取 提供用户对数据的操纵功能,实现对数据库数据的检索、插入、修改和删除。一个好的DBMS应该提供功能强易学易用的数据操纵语言(DML)、方便的操作方式和较高的数据存取效率。DML有两类:一类是宿主型语言,一类是自含型语言。前者的语句不能独立使用而必须嵌入某种主语言,如C语言、COBOL语言中使用。而后者可以独立使用,通常以供终端用户交互使用和批处理方式两种形式使用。

  (3)数据库运行管理 这是指DBMS运行控制、管理功能。包括多用户环境下的并发控制、安全性检查和存取权限控制、完整性检查和执行、数据加密、运行日志的组织管理、事务的管理和自动恢复(保证事务的正确性),这些功能保证了数据库系统的正常运行。

  (4)数据组织、存储和管理 DBMS要分门别类地组织、存储各类数据,包括数据字典(亦称系统目录)、用户数据、存取路径等等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法确保较高存取(如随机查找、顺序查找、增、删、改)效率。

  (5)数据库的建立和维护 包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及有性能监测分析等功能。

  (6)其它功能 包括DBMS与网络中其它软件系统的通信功能;一个DBMS与另一个DBMS或文件系统的数据转换功能等。

  3.DBMS与操作系统

  通常DBMS是建立在操作系统环境之上的。根据具体操作系统的特点,DBMS可以用不同的方法利用操作系统的基本功能来实现DBMS。一般有下面3类方法:

  (1)共享模块法

  (2)分离进程法

  (3)和操作系统融合

  4.DBMS程序模块的组成

  作为一个庞大的系统软件,DBMS由众多程序模块组成,它们分别实现DBMS复杂而繁多的功能。数据库定义方面 有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。DDL翻译程序还根据模式定义负责建立数据库的框架(即形式一个空库),等待装入数据。数据库操纵方面 有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查、由数据存取或更新程序完成对数据库的存取操作。数据库运行管理方面 有系统初启程序,负责初始化DBMS、建立DBMS的系统缓冲区、系统工作区 打开数据字典等等。还有安全性控制、完整性检查、并发控制、事务管理、运行日志管理等程序模块,在数据库运行过程中监视着对数据库的所有操作,控制管理数据库资源,处理多用户的并发操作等。它们一方面保证用户事务的正常运行,一方面保证数据库的安全性和完整性。数据库组织、存储和管理方面 有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰等模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取的方法。数据库建立、维护和其它。有数据库初始数据装入程序、转储程序、恢复程序、数据库重构造程序、数据转换程序、通信程序等。DBMS的这些组成模块互相联系,互相依赖,共同完成DBMS复杂的功能。这些模块之间的联系有一定的层次关系。

  5.DBMS的层次结构

  和操作系统一样,可以也应该将DBMS划分成若干层次。许多DBMS实际上就是分层实现的。最上层是应用层,位于DBMS核心之处。它处理的对象包括各种各样的数据库应用,如用宿主语言编写的应用程序、终端用户通过应用接口(如FORMS)发出的事务请求等。该层是DBMS的最终用户和应用程序的界面层。第二层是语言翻译处理层。它处理的对象是数据库语言,如SQL。提供的数据接口是关系、视图,即元组的集合。其功能是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查、查询优化等。通过对下层基本模块的调用,生成可执行代码。这些代码的运行,即可完成数据库语句的功能要求。第三层是数据存取层。该层处理的对象是单个元组。它把上层的集合操作转化为单记录操作。执行扫描、排序、元组的查找、插入、修改、删除、封锁等基本操作。完成数据记录的存取、存取路径维护、并发控制、事务管理等工作。第四层是数据存储层。该层处理的对象是数据页和系统缓冲区,执行文件的逻辑打开、关闭、读页、写页、缓冲区读和写、页面淘汰等操作,完成缓冲区管理、内外存交换、外存管理等功能。操作系统是DBMS的基础,它处理的对象是数据文件的物理块。执行物理文件的读写操作,保证DBMS对数据逻辑上的读写真实地映射到物理文件上。操作系统提供的存取原语和基本的存取方法通常作为和DBMS存储层的接口。

  6.语言处理

  语言翻译处理层的任务就是把用户在这两种方式下提交给DBMS的数据库语句转换成对DBMS内层可执行的基本存取模块的调用序列。数据库语言通常包括DDL,DML,DCL三部分语句。DDL语句处理相对独立和简单。DML和DCL则较为复杂。具体来说,对DDL语句,语言翻译处理层首先把它翻译成内部表示,然后把它存储在系统的数据字典中。对DCL语句的定义部分,如安全保密定义、存取权限定义、完整性约束条件定义等处理与DDL相同。在RDBMS中数据字典通常采用和普通数据同样的表示方式。数据字典包括关系定义表、属性表、视图表、视图属性表、视图表达式表、用户表、存取权限表、……。

  (1)解释方法一些数据库系统(如dBASEⅢ)对上述方法进行了改进,通过尽量推迟聚束过程来赢得数据独立性。具体做法是:直到执行前,数据库DML语句都以原始字符串的形式保存。随着数据库系统的发展,这种方法已逐步为预编译技术所取代。

  (2)预编译方法已经看到,将聚束过程提前,固然可达到系统的高效率,但失去了数据库的一个主要优点———数据独立性;将聚束时间推迟,赢得了数据性,却增加了执行高效率的代价。预编译方法就是为了克服它们的缺点,保持两者的优点而提出的。其基本思想是,在用户提供了DML语句后,在运行前对它进行翻译处理,保存产生好的执行代码,运行时加以执行。但是,使用这种方法会遇到这样的问题:在聚束过程中进行优化所依据的条件可能在运行前已不存在,或者数据结构被修改,因而导致已作出的规划在执行时不再有效。例如,假设在聚束过程中决定使用某一索引来加快存取速度,而在程序编译完成之后,运行之前,该索引被删除了。那么,运行时就会出现不可预测的现象。为了解决这类问题,采用了重编译方法。即当数据库中某些成分的改变而使一些程序的编译结果无效时,再对它们执行一次编译。重编译可在不同时刻进行。为了提高整个系统的效率,不应在数据库某一成分改变后就马上对受影响的那些源程序重编译,较好的方法是将受影响的编译结果置“无效”标志,在其被执行时才进行自动重编译。自动重编译技术使得编译方法既拥有了编译时进行束缚所带来的高效率,又具备了执行时束缚所带来的数据独立性。实践证明,预编译方法的效率比其它方法高两倍以上。

  7.数据存取层

  数据存取层介于语言处理层和数据存储之间。它向上提供单元组接口,即导航式的一次一个元组的存取操作。向下则以系统缓冲区的存储器接口作为实现基础。

  (1)提供一次一个元组的查找、插入、删除、修改等基本操作。

  (2)提供元组查找所循的存取路径以及对存取路径的维护操作。如对索引记录的查找、插入、删除、修改。

  (3)对记录和存取路径的封锁、解锁操作。

  (4)日志文件的登记和读取操作。

  (5)辅助操作。如扫描、合并/排序,其操作对象有关系、有序表、索引等。为了完成上述功能,通常把存取层又划分为若干功能子系统加以实现。

  8.缓冲区管理

  数据存取层的下面是数据存储层(简称存储层)。存储层的主要功能是存储管理。包括缓冲区管理、内外存交换、外存管理等。其中缓冲管理是最主要的。存储层向存取层提供的接口是由定长页面组成的系统缓冲区。系统缓冲区的设立是出于两方面的原因:一是它把存储层以上各系统成分和实在的外存设备隔离。外存设备的变更不会影响其它系统成分,使DBMS具有设备独立性。二是提高存取效率。DBMS利用系统缓冲区滞留数据。当存取层需要读取数据时存储子系统首先到系统缓冲区中查找。只有当缓冲区不存在该数据时才真正从外存读入该数据所在的页面。当存取层写回一元组到数据库中时,存储子系统并不把它立即写回外存,仅把该元组所在的缓冲区页面作一标志,表示可以释放。只有当该用户事务结束或结束缓冲区已满需要调入新页时才按一定的淘汰策略把缓冲区中已有释放标志的页面写回外存。这样可以减少内外存交换的次数,提高存取效率。系统缓冲区可由内存或虚存组成。由于内存空间紧张,缓冲区的大小、缓冲区内存和虚存部分的比例要精心设计。针对不同的应用和环境按一定的模型进行调整。既不能让缓冲区占据太大内存空间,也不能因空间太小而频频缺页调页,造成“抖动”,影响效率。缓冲区由控制信息和若干定长页面组成。缓冲区管理模块向上层提供的操作是缓冲区的读(READBUF)、写(WRITEBUF)。缓冲区内部的管理操作有:查找页、申请页、淘汰页。缓冲区管理调用OS的操作有:读(READ)、写(WEITE)。

  9.数据库的物理组织

  数据库是大量数据的有结构的综合性的集合,如何将这样一个庞大的数据集合以最优的形式组织起来存放在外存上是一个非常重要的问题。所谓“优”应包括两方面:一是存储效率高,节省存储空间;二是读取效率高,速度快、代价小。数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。所以在数据库物理组织中,基本的问题是如何设计文件组织或者利用操作系统提供的基本的文件组织方法。但是,在数据库中表和文件不必具有一一对应关系。这和操作系统中不一样。DBMS可以建立只能自己读写的文件,在其中存储多个表的数据。数据系统是文件系统的发展。文件系统中每个文件存储同质实体的数据,各文件是孤立的,没有体现实体之间的联系。数据库系统中数据的物理组织必须体现实体之间的联系,支持数据库的逻辑结构———各种数据模型。因此数据库中要存储4个方面的数据:数据描述。即数据外模式、模式、内模式。数据本身。数据之间的联系。存取路径。这4个方面的数据内容都要采用一定的文件组织方式组织、存储起来。

  (1)数据字典(DD)的组织 有关数据的描述存储在数据库的数据字典中。数据字典的特点是数据量比较小(与数据本身比)、使用频繁,因为任何数据库操作都要参照数据字典的内容。数据字典在网状、层次数据中常常用一个特殊的文件来组织。所有关于数据的描述信息存放在一个文件中。

  (2)数据及数据联系的组织 关于数据自身的组织,DBMS可以根据处理的要求自己设计文件结构,也可以从操作系统提供的文件结构中选择合适的加以实现。目前,操作系统提供的常用文件结构有:顺序文件、索引文件、索引顺序文件、HASH文件(杂凑文件)和B树类文件等等。数据库中数据组织与数据之间联系是紧密结合的。在数据的组织和存储中必须直接或间接、显式或隐含地体现数据之间的联系,这是数据库物理组织中主要考虑和设计的内容。关系数据库中实现了数据表示的单一性。实体及实体之间的联系都用一种数据结构———“表”来表示。在数据库的物理组织中,每一个表通常可以对应一种文件结构。因此数据和数据之间的联系两者组织方式相同。

  (3)存取路径的组织 关系数据库中,存取路径和数据是分离的,对用户是隐蔽的。存取路径可以动态建立、删除。存取路径的物理组织通常采用B树类文件结构和HASH文件结构。在一个关系上可以建立若干个索引。有的系统支持组合属性索引,即在两个或两个以上的属性上建立索引。索引可以由用户用CRETR INDEX语句建立,用DROP INDEX语句删除。在执行查询时,DBMS查询优化模块也会根据优化策略自动地建立索引,以提高查询效率。由此可见,关系数据库中存取路径的建立是十分灵活的。

  十、FoxPro 数据库管理系统介绍

  1.FoxPro简介

  FoxPro2.5是Microsoft公司1993年推出的产品。1993年1月发布了FoxPro2.5for DOS和FoxPro2.5for windows两个版本,成为目前微机上最快、使用最广泛的数据库管理系统。FoxPro2.5的新特点:增强32位产品的特性;跨平台的开发;新增或增强的命令与函数;新的生成器命令;新的系统内存变量。由于FoxPro for DOS与FoxPro for windows相互兼容。下面就只简单地介绍一下FoxProˉfor windows的一些功能。FoxPro for windows的常用工具集(菜单生成器,屏幕生成器,报表生成器)充分发挥Winˉdows的图形能力。这些能力包括图象显示、字模使用以及Windows元素与控制的应用,还可以用Bitmaps作为屏幕的背景。FoxPro的附属工具传递器(Transporter)支持FoxPro2.5for DOS和它的DOS环境下的姐妹产品之间的交叉平台上的开发。FoxPro for DOS程序在大多数情况下可以不必修改而直接在FoxPro for windows环境下运行。独特的Rushmore查询优化技术支持复杂的检索并大幅度提高了运行速度,图形环境并不影响FoxPro底层的速度。FoxPro加入了Windows的一些动态功能,如OLE(对象连接与嵌入)、DDE(动态数据交换)、DLL(动态链接库)和Windows打印驱动程序等。FoxPro for windows包括字型字体控制、拖放式编辑和块功能。Windows的全范围的各种字模(Font)在FoxPro2.5中都是有效的,包括True Type字模,这些字模对所有的FoxPro的工具和程序语言都是支持的。FoxPro提供联机帮助文件。发行工具箱(Distribution kit)提供流水过程,提供安装和启动例程。FoxPro适用于多用户及网络环境。

  2.FoxPro的基本原理

  FoxPro数据库是表的集合,这些表协同工作,一起来完成某项任务。这里的表是一种列表,在该表中的每项叫做一个记录,而每个记录又由许多字段组成,字段是数据库的最小数据单位。在FoxPro中支持八种数据类型的字段。

  (1)FoxPro的数据类型①字符型字段。②数字型字段。③日期型字段。④逻辑型字段。⑤备注字段。⑥通用字段。⑦图形类型字段。⑧浮点数值字段。

  (2)工作区在FoxPro中,组成某个数据库的各种表可以打开在多达255个工作区中,可以用编号1到255引用工作区,也可按A~J和11~255引用工作区。在某一时刻每个工作区只能容纳一张表。在工作区中打开表后,工作区和表实际上成了同义语,可以通过表的别名(有时就是该表的名),来引用或选择工作区。别名可在打开表时指定。通常选择一个工作区为当前工作区,该工作区中打开的表,即为FoxPro操作的缺省表。FoxPro的缺省操作都是针对该表的。

  (3)View窗口该窗口是用来查看数据库,而且可以显示在各个工作区打开的表的别名,也可通过Browse按钮查看这个表的内容。此外,View窗口也允许用户输入数据,仔细观察表内容,创建和修改单个的表;在主菜单中选Windows/View后即可进入View窗口。Setup按钮可修改表的结构。Browse按钮可浏览当前工作区(Workareas中以亮条标出)中的表内容。Open按钮可在当前工作区中打开一已存在的表或创建一新表。Close按钮则关闭当前工作区中的表。Relation按钮可使当前工作区的表与其它表相关联。用户常常需要同时打开两个或更多的表,按照某种特殊的顺序来显示表的内容。利用View文件可以保存用户在各工作区打开的表的信息。用户想打开所有这些表时只须打开用户存的View文件,再进入View窗口即可。方法如下:保持View窗口活动,在各工作区内打开所需的表,然后选择File/Save as…菜单选项,Save as菜单即会出现,在Save View as栏中添入文件名,之后确认Save,即可产生用户的View文件。

  (4)表的互斥和共享打开的表要么互斥(Exclusive)使用,要么共享(Shared)使用。如果互斥使用,那么在关闭该表之前任何其他人都不得再重新打开该表。缺省状态下。FoxPro打开的表是互斥使用的。要命名打开的表能共享使用,必须加载DOS SHARE程序。工作在不需SHARE的网络上则不用加载。同时要在Command窗口中敲入SET EXCLUSIVE OFF,那么后续打开的所有表都能共享使用,已经打开的表依然互斥使用。在USE命令后加入SHARED,使用户能够替换对指定文件的EXCLUSIVE设置。也可从View窗口中打开表用于共享使用,这可以取消File/open对话框中Exclusive复选框的标记而实现。某些FoxPro命令需要互斥使用表,如DELETE TAG,INDEX ON…TAG,INSERT [BLANK],MODIFY STRUCTURE,PACK,REINDEX,ZAP等。在表被打开用于共享之后,必须处理记录争用的问题。但目前读者还只需要知道在交互地增加和修改的据时,FoxPro为用户处理大多数这种问题。注意:如果用户保证EXCLUSIVE已关闭(SET OFF),但状态栏仍旧显示表是EXCLUˉSIVE的话,那么或许SHARE程序没有加载,或许表是在EXCLUSIVE打开(SET ON)状态时打开的,也可能所使用的表刚刚创建。用户创建表打开时是互斥使用的,直到关闭该表;但下一次打开该表时,可使表用于共享。

  (5)Browse窗口Browse窗口是FoxPro功能最强、最富生机的特征之一。在Browse窗口中不仅可以浏览表的内容,还可以向表中增加记录、删除记录、修改字段等。进入Browse窗口有多种方法,既可从主菜单中Database/Browse进入,也可从View窗口中的Browse按钮进入,还可以在查询时进入。View窗口在FoxPro中是最有用的窗口之一。用户应在进入FoxPro后,就打开View窗口,这样会给用户带来许多方便。事实上,FoxPro的所有表,都是以单独的文件存放在磁盘中的,数据库实质上只是一个目录名而已。FoxPro对文件的保护比较弱,有时拷贝表时,会丢失某些信息,以至于到另外一台机器上不能打开,这时就应重新拷贝,把所有相关的文件,如FPT、IDX等文件一并拷走。这样数据库才能在另外一台机器上安全地运行。

  3.使用FoxPro数据库

  (1)建立数据库建立数据库要决定需存储在数据库中的信息的结构,即数据库的结构。

  (2)RQBE窗口尽管使用Browse可以浏览表,但毕竟只能做一些简单的检索,为此FoxPro提供了RQBE(Relational Query By Example)。RQBE是一种交互式工具,避免了写复杂检索程序的麻烦,可以很方便地检索数据。RQBE的功能很强,RQBE是用户和SQL SELECT命令间的接口,FoxˉPro支持SQL。另外,RQBE可以把语句保存在.QPR文件中。

  (3)报表的设计与制作使用RQBE可制作出报表,还可以利用FoxPro功能强大的Report Writer来制作一张符合需要的报表。

  4.创建应用程序

  (1)建立数据库编写数据库应用程序的第一步是确定该系统必须使用的数据库文件和索引。

  (2)菜单生成器FoxPro为用户提供了很简洁的丰富的菜单编程命令,但这些繁杂的命令很容易令人厌烦。如果使用菜单生成器,将会使构造菜单系统变得容易许多。菜单生成器的启动有两种方式:

  (1)通过在Command窗口键入Create menu[〈文件名〉],键入回车即可。

  (2)通过系统菜单启动。

  (3)屏幕生成器大多的应用程序都是围绕着用户界面屏幕来建立的。有些屏幕用来录入或编辑数据,有些屏幕用以显示信息,有些屏幕用于表的维护等等。FoxPro的屏幕生成器就是用来创建大多数上述屏幕的工具。在各类界面设计中,输入屏幕算是比较繁而且又很常用的界面屏幕了。

  (4)项目管理器项目管理器主要有以下两个作用:

  ①维护项目使用的所有文件。

  ②建立应用程序项目管理器具有优秀编程工具的特点,它为用户做了许多工作,并且易于使用。可以通过选择File New Project、New或在命令窗口键入Creat project命令来创建一个新的项目。然后使用Add按钮开始创建该项目中的新文件或将已有的文件添加到该项目中。首先,将主文件添加到项目中。由此,项目管理器就可以沿着程序的执行步骤(即嵌入在文件中的函数和过程调用)来一步步跟踪,直到找到当前项目所需的所有文件为止。生成项目文件非常容易,在项目管理器窗口中按下Build按钮,选择Re-build project,Build Application或Build Executable选项。另外,项目管理器能方便的发现和修改编译错误。应该指出,一个项目并不一定要生成应用程序;而一个完整的“应用程序”可以包含若干个项目和若干个生成类。因此,逻辑上的解决办法是将应用程序拆成许多的项目,这就是应用程序的分级设计方法。

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

  1.ORACLE的特点:

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

  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可支持变量和常量的使用。

  

热门标签

495900