数据库概述
- 数据库系统
数据库系统也叫做数据库管理系统(DBMS),是操纵数据库的通用软件系统。它基本上是一个维护记录的计算机化的系统。它存储信息,并且允许用户根据要求增加、删除、更改、检索以及更新数据。它为多个用户或工具同时访问或操纵数据库中的数据提供支持。DBMS也是一个使用户能够创建和维护数据库的应用程序的集合,它是一个通用的软件系统,该系统为定义(指定数据类型、结构和约束)、构建(在存储媒介上存储数据的过程)和操纵(查询或检索特定的数据、更新数据和从数据中生成报表)数据等各种应用提供了方便。
- DBMS组成部分
一般来说,DBMS有三个基本组成部分(如图1.16所示),并提供下列功能:
数据描述语言(DDL):通常,用户使用数据定义语言可以定义数据库,指定数据类型、数据结构以及对存储在数据库中的数据的约束条件。DDL将用源语言编写的模式翻译成对象模式,从而创建数据库的逻辑层和物理层。
数据操纵语言(DML)和查询工具:通常,用户使用数据操纵语言,可以插入、更新、删除和检索数据。结构化查询语言(SQL)提供了一般的查询工具。
受控的访问数据库的软件:提供对数据库的控制访问,例如,防止未经授权的用户访问数据库,提供并发控制系统来允许对数据库的共享访问,当遇到软硬件错误时激活恢复控制系统来将数据库恢复到先前的一致性状态,等等。
数据库和DBMS合在一起叫做数据库系统。数据库系统克服了传统的面向文件系统的局限性,比如大量的数据冗余、弱数据控制、不足的数据操纵能力和为支持完整的、集中的数据结构而付出的额外的编程负担。
在数据库系统上执行的操作
像前面所讨论的,可将数据库系统看成是一个仓库或容器,其中存放的是计算机化的数据文件的集合。用户可以在数据库系统上执行各种操作,其中重要的操作如下:
向已有的数据文件中插入新的数据
向数据库中增加新的文件
从已有的文件中检索数据
在已有的文件中更改数据
在已有的文件中删除数据
从数据库中删除已有的文件
- 数据库定义
数据库被定义为存储在一起的逻辑上相互关联的数据的集合,是用来满足一个组织的信息需求的。从根本上说,它是一个电子文件仓库,该仓库包含了计算机化的数据文件。根据需要它可能包含一个数据文件(非常小的数据库)或多个数据文件(大的数据库)。数据库以计算机程序能快速检索到所需数据的方式来组织。
数据库还可以定义为:
它是没有有害或不必要的冗余而存储在一起的相互关联的数据的集合。冗余有时候对于提高性能也是有用的,不过,我们还是要为此付出代价的。
它为多个应用程序提供服务,每个应用程序中的每个用户都有他自己的数据视图。通过安全机制来阻止数据被未授权用户访问,通过恢复机制提供对数据的并发访问。
它独立于应用程序而存储数据,当数据存储结构和访问策略更改时,应用程序或查询程序无需随之更改。
结构化的数据为增加新数据、修改数据或恢复数据提供基础。
我们在地址簿中维护人员的姓名、地址、电话号码等信息,将其存储在计算机存储设备(如软盘或硬盘)中或微软的Excel电子表格中,就是数据库的例子。
为了某种目的,数据库用于设计、构建、操纵数据。它有一个既定的用户群和一些用户关心的预想的应用。换句话说,数据库有一个源,从中可以导出数据,可以和现实世界中的事件相互作用,也可以和关心数据库内容的人员交互。数据库的大小可能是任意的,也可能是非常复杂的。它可能是人工产生并维护的,也可能是计算机化的。计算机化的数据库可能是由专门为其编写的应用程序来创建和维护的,也可能是由数据库管理系统来创建和维护的。
- 数据库的组件
一个数据库包含四个组件(或要素)数据项、联系、约束、模式。
如前面所述,数据(或数据项)是不同的信息片段,联系表示的是不同数据元素间的相互关系(或通信),约束是定义正确数据库状态的谓词,模式描述数据库中的数据和联系的组织情况,它为使用各种数据库管理系统组件和应用安全性定义各种视图。模式将数据存储的物理特征和数据表示的逻辑特征分离开。
一个数据库的组织情况,它由下列三个独立的层组成:
物理存储组织或内模式层
全局逻辑组织或全局概念模式层
程序员眼中的逻辑组织或外模式层
- 数据库组织
内模式定义物理数据的存储位置和组织结构。概念模式定义根据所使用的数据库模型而采用的逻辑数据存储结构。外模式为特定的用户定义数据库视图。数据库管理系统为访问数据库提供支持,同时维护正确性和存储数据的一致性。
- 数据管理员(DA)
数据管理员(DA)是组织中负责操控数据的人。正如前面讨论的那样,数据是一个组织的重要资产。
因此,在组织中由专人站在较高的层次去理解数据和组织对这些数据的需求是非常重要的。DA就是这类人,其工作就是决定什么数据应该存储到数据库中以及建立维护和处理这些数据的策略,确切地决定什么信息应当被存储到数据库中,标识出对组织有用的实体以及记录这些实体的信息。DA是在一个抽象的层次决定数据库的内容。DA的工作过程就是逻辑数据库设计或概念数据库设计。DA是管理人员,他们不必是技术人员,但是,具有信息技术方面的知识会有助于他们全面理解数据库系统。
- 数据库管理员
数据库管理员(DBA)是一个人或一组人,他们全面掌控着一个或多个数据库的设计和使用。DBA要对数据库的各种操作策略提供必要的技术支持。因此,DBA要在技术上控制数据库系统,与DA不同,DBA是IT专家。DBA是数据库系统的集中控制者,他监督并管理所有的资源(比如数据库、DBMS以及相关软件)。DBA负责对数据库访问的授权,调整和监视数据库使用情况,并根据需要获取软硬件资源。他们也对数据库系统中的安全系统、合适的响应时间以及确保足够的性能等负责,还提供各种各样的技术服务。由一些工作人员(比如系统程序员和其他的技术助手)向DBA提供支持。
- DBA的作用和职责
下面是DBA及其工作团队的作用和职责:
定义概念模式和建立数据库:DBA建立对应于数据管理员设计的抽象数据库的概念模式(使用数据定义语言)。DBA建立初始的数据库模式和结构。DBMS利用模式中的对象响应访问请求。
存储结构和访问方法定义:DBA决定数据在存储的数据库中如何表示,该过程叫做物理数据库设计。DBA使用数据定义语言定义数据库的存储结构(称为内模式)以及对数据的访问方法。
对用户授权:DBA的职责之一就是为最终用户和他们所需要的数据之间建立联系。DBA将数据库的访问权限批准给对应的用户。他将数据库的特定部分授权给应该使用它们的用户。授权信息保存在系统的特定结构中,当某人试图访问系统中的数据时就对这个结构查询比对,符合就允许访问,否则就拒绝访问。DBA还帮助用户分析问题和解决问题。
数据库物理组织情况的修改:DBA更改或修改数据库描述,或数据库描述与数据库物理组织情况之间的关系(以反映组织对更改的需求),或更改数据库物理组织情况(以提高性能)。
日常事务维护:DBA将数据库周期性地备份到硬盘、压缩磁盘或远程服务器上,以防因灾难发生而丢失数据。必须保证为了正常的操作而有足够的磁盘空间可用或按照需求升级磁盘。DBA还要负责修理由于软硬件失效而引起的数据库错误。DBA定义和实现一个恰当的损害控制机制,包括周期性地将数据库转储到备份存储设备上,以及按照要求将最近转储出去的数据库再重新装载回来。
工作监视:DBA监视运行在数据库上的工作,并保证性能不下降太大。随着要求的改变(比如,重组数据库),DBA要负责对数据库做出恰当的调整或微调。