《数据库系统概念》第1章 引言

《数据库系统概念》第1章 引言

    数据库管理系统(DataBase-Management System,DBMS)由一个互相关联的数据的集合和一组用以访问和修改这些数据的程序组成。这个数据集合通常称作数据库(database)。

    DBMS的主要目标是要提供一种可以方便、高效地存取数据库信息的途径。

 1.1 数据库系统的应用

    1)企业信息

    2) 银行金融

    3)大学

    4)航空业

    5)电信业

1.2 数据库系统的目标

    传统的操作系统所支持的是文件处理系统(file-processin system),永久记录被存储在多个不同的文件中,人们编写不同的应用程序来将记录从有关文件中取出或加入到适当的文件中。在数据库管理系统(DBMS)出现以前,各个组织通常都采用这样的系统来存储信息。

    在文件处理系统中存储组织信息的主要弊端包括:

    1)数据的冗余与不一致(data redundancy and inconsistency)

    2)数据访问困难(difficulty in accessin data)

    3)数据孤立(data isolation)

    4)完整性问题(integrity problem)

    5)原子性问题(atomicity problem)

    6)并发访问异常(concurent-access anomaly)

    7)安全性问题(security problem)

    接下来将看一看数据库系统为了解决上述在文件处理系统中存在的问题而提出的概念和算法。

1.3 数据视图

     数据库管理系统(DataBase-Management System,DBMS)由一个互相关联的数据的集合和一组用以访问和修改这些数据的程序组成。数据库系统的一个主要目的是给用户提供数据的抽象视图,也就是说,系统隐藏关于数据存储和维护的某些细节。

1.3.1 数据抽象

    系统开发人员通过如下几个层次上的抽象对用户屏蔽复杂性,以简化用户与系统的交互。

    1)物理层(pthsical level)

    最低层次的抽象,详细描述复杂的底层数据结构。

    2)逻辑层(logical level)

    比物理层层次稍高的抽象,描述数据库中存储什么数据及这些数据间存在什么关系。数据库管理员使用逻辑层。

    3)视图层(view level)

    最高层次的的抽象,只描述整个数据库的某个部分。系统可以为同一数据库提供多个视图。

    这三层抽象的相互关系如下图所示。


1.3.2 实例和模式

    特定时刻存储在数据库中的信息的集合称作数据库的一个实例(instance),而数据库的总体设计称作数据库模式(schema)。数据库模式即使发生变化,也不频繁。

    数据库系统可以分为集中不同的模式。

    1)物理模式

    2)逻辑模式:目前最重要的一种模式

    3)子模式

1.3.3 数据模型

    数据库结构的基础是数据模型(data model)。数据模型是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合,提供了一种描述物理层、逻辑层以及视图层数据库设计的方式。

    数据模型可划分为四类:

    1)关系模型(relational model)

    关系数据模型时使用最广泛的数据模型。

    2)实体-联系模型(entity-relationship model)

    该模型被广泛用于数据库设计。

    3)基于对象的数据模型(object-based data model)

    4)半结构化数据模型(semistructured data model)

1.4 数据库语言

    数据库系统提供数据定义语言(data-defination language)来定义数据库模式,以及数据操纵语言(data-manipulation language)来表达数据库的查询和更新。实际上,数据定义和数据操纵语言并不是两种分离的语言,相反地,它们简单地构成了单一的数据库语言(如广泛使用的SQL语言)的不同部分。

1.4.1 数据操纵语言

    数据操纵语言使得用户可以访问或操纵那些按照某种适当的数据模型组织起来的数据。有以下访问类型:

    1)对存储在数据库中的信息进行检索

    2)向数据库中插入新的信息

    3)从数据库中删除信息

    4)修改数据库中存储的信息

    两类基本的数据操纵语言:

    1)过程化DML:要求用户指定需要什么数据以及如何获得这些数据

    2)声明式DML:只要求用户指定需要什么数据,而不指定如何获得这些数据

    查询(query)是要求对信息进行检索的语句。DML中涉及信息检索的部分称作查询原因(query language)。实践中常把查询语言和数据操纵语言作为同义词使用,尽管从技术上来说并不正确。最广泛使用的数据库查询语言SQL(声明式DML)。

1.4.2 数据定义语言

        数据库模式是通过一系列定义来说明的,这些定义由数据定义原因DDL来表达,DDL也可用于定义数据的其他特征。

    存储在数据库中的数据值必须满足某些一致性约束,DDL语言提供了指定这种约束的工具。

    约束包括:

    1)域约束(domain constraint)

    2)参照完整性(referential integirty)

    3)断言(assertion)

    4)授权(authorization)


1.5 关系数据库

    关系数据库基于关系模型,使用一系列表来表达数据以及这些数据之间的联系。关系数据库也包括DML和DDL。

1.5.1 表

    每个表有多个列,每个列有唯一的名字。下图展示了一个关系数据库示例,它由两个表组成:其一给出大学教师的细节,其二给出大学中各个系的细节。



1.5.2 数据操纵语言DML


1.5.3 数据定义语言DDL


1.5.4 来自应用程序的数据库访问

    SQL不支持诸如从用户那儿输入、输出到显示器,或者通过网络通信这样的动作。这样的计算和动作必须用一种宿主语言来写,比如C、C++或Java,在其中使用嵌入式的SQL查询来访问数据库中的数据。应用程序(application program)在这里是指以这种方式与数据库进行交互的程序。在大学系统的例子中,就是那些使学生能够注册课程、产生课程花名册、计算GPA的等的程序。


1.6  数据库设计

    数据库设计的主要内容是数据库模式的设计。

1.6.1  设计过程

    1)初始阶段是全面刻画预期的数据库用户的数据需求。该阶段成果欧式制定出用户需求的规格文档。

    2)下一步,设计者选择一个数据模型,并运用选定的数据模型的概念,将那些需求转换成一个数据库的概念模式。在这个概念设计阶段开发出来的模式提供了企业的详细概述。这一阶段的重点是描述数据以及他们之间的关系,而不是指定物理的存储细节。

    3)一个开发完全的概念模式还将指出企业的功能需求。在功能需求说明中,用户描述数据之上的各种操作(或事务),例如更新数据。

    4)现在,将抽象数据模型转换到数据库实现进入最后两个设计阶段。逻辑设计阶段和物理设计阶段。

1.6.2 大学机构的数据库设计

1.6.3 实体-练习模型

1.6.4 规范化

1.7 数据存储和查询

    数据库系统划分为不同的模块,每个模块完成整个系统的一个功能。数据库系统的功能部件大致可分为存储管理器和查询处理部件。

1.7.1 存储管理器

    存储管理器是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。因此,存储管理器负责数据库中数据的存储、检索和更新。

    存储管理部件包括:

    1)权限及完整性管理器

    2)事务管理器

    3)文件管理器

    4)缓冲区管理器

    存储管理器实现了几种数据结构,作为系统物理实现的一部分:

    1)数据文件:存储数据库自身

    2)数据字典:存储关于数据库结构的元数据

    3)索引:提供对数据项的快速访问

1.7.2 查询处理器

    查询处理器组件包括:

    1)DDL解释器:解释DDL语句并将这些定义记录在数据字典中

    2)DML编译器:将查询语言中的DML语句翻译为一个执行方案。它还可以进行查询优化

    3)查询执行引擎:执行由DML编译器产生的低级指令

1.8 事务管理

    通常,对数据库的几个操作合起来形成一个逻辑单元。如一个资金转账



1.9 数据库体系结构

    数据库系统的体系结构很大程度上取决于数据库系统所运行的计算机系统。数据库系统可以是集中式的、客户/服务器式的;也可以针对并行计算机体系结构设计数据库系统;分布式数据库包含地理上分离的多台计算机。

1.10 数据挖掘与信息检索

    数据挖掘(data mining):半自动地分析大型数据库并从中找出有用的模式的过程。也就是说,数据挖掘就是在数据库中发现知识。

    信息检索(information retrieval):查询非结构化的文本数据被称为信息检索。

1.11 特种数据库

    数据库系统的一些应用领域收到关系数据模型的限制。其结果是,研究人员开发了集中数据模型来处理这些领域的应用,包括基于对象的数据模型和半结构化数据模型。

1.12 数据库用户和管理员

    数据库系统的一个主要目标是从数据库中检索信息和往数据库中存储新信息。使用数据库的人员可分为数据库用户和数据库管理员。

    数据库用户:

    1)无经验的用户

    2)应用程序员

    3)老练的用户

    4)专门的用户

    数据库管理员(DataBase Administrator,DBA)作用:

    1)模式定义

    2)存储结构及存储方法定义

    3)模式及物理组织的修改

    4)数据访问授权

    5)日常维护

1.14 总结



术语回顾


猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/80475453