发布网友 发布时间:2022-04-09 13:29
共1个回答
热心网友 时间:2022-04-09 14:58
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成 一、硬件平台及数据库 由于数据库系统数据量都很大,加之DBMS丰富的功能使得自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求,这些要求是: (1) 足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。 (2) 有足够大的磁盘等直接存取设备存放数据库,有足够的磁带(或微机软盘)作数作备份。 (3) 要求系统有较高的通道能力,以提高数据传送率。 二、软件 数据库系统的软件主要包括: (1)DBMS。DBMS是为数据库的建立、使用和维护配置的软件。 (2)支持DBMS运行的操作系统。 (3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。 (4)以DBMS为核心的应用开发工具。 应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、*语言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。 (5)为特定应用环境开发的数据库应用系统。 三、人员 开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如图1.30所示,其各自的职责分别是: 1.数据库管理员(DataBase Administrator,简称 DBA)在数据库系统环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件。因此需要有专门的管理机构来监督和管理数据库系统。DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统。具体职责包括: (1)决定数据库中的信息内容和结构 数据库中要存放哪些信息,DBA要参与诀策。因此DBA必须参加数据库设计的全过程,并与用户、应用程序员、系统分析员密切合作共同协商,搞好数据库设计。 (2)决定数据库的存储结构和存取策略 DBA要综合各用户的应用要求,和数据库设计人员共同决定数据的存储结构和存取策略以求获得较高的存取效率和存储空间利用率。 (3)定义数据的安全性要求和完整性约束条件 DBA的重要职责是保证数据库的安全性和完整性。因此DBA负责确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件。 (4)监控数据库的使用和运行 DBA还有一个重要职责就是监视数据库系统的运行情况,及时处理运行过程中出现的问题。比如系统发生各种故障时,数据库会因此遭到不同程度的破坏,DBA必须在最短时间内将数据库恢复到正确状态,并尽可能不影响或少影响计算机系统其他部分的正常运行。为此,DBA要定义和实施适当的后备和恢复策略。如周期性的转储数据、维护日志文件等。有关这方面的内容将在下面做进一步讨论。 (5)数据库的改进和重组重构 DBA还负责在系统运行期问监视系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,依靠工作实践并根据实际应用环境,不断改进数据库设计。不少数据库产品都提供了对数据库运行状况进行监视和分析的实用程序,DBA可以使用这些实用程序完成这项工作。 另外,在数据运行过程中,大量数据不断插入、删除、修改,时间一长,会影响系统的性能。因此,DBA要定期对数据库进行重组织,以提高系统的性能。 当用户的需求增加和改变时,DBA还要对数据库进行较大的改造,包括修改部分设计,即数据库的重构造。2.系统分析员和数据库设计人员系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。 数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。3.应用程序员应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。4.用户 这里用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等,给用户提供简明直观的数据表示。 最终用户可以分为如下三类: (1)偶然用户。这类用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息,这类用户一般是企业或组织机构的高中级管理人员。 (2)简单用户。数据库的多数最终用户都是简单用户。其主要工作是查询和修改数据库,一般都是通过应用程序员精心设计并具有友好界面的应用程序存取数据库。银行的职员、航空公司的机票预定工作人员、旅馆总台服务员等都属于这类用户。 (3)复杂用户。复杂用户包括工程师、科学家、经济学家、科学技术工作者等具有较高科学技术背景的人员。这类用户一般都比较熟悉数据库管理系统的各种功能,能够直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序。