首页 > 技术文章 > 第一章 引言

clairvoyant 2016-04-28 15:00 原文

    自己给自己挖坑......趁着学校开了数据库的课,顺便把Database System Concepts(第六版)这本书过一遍,坚持记笔记,方便回忆!

 

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

1.1 数据库系统的目标

  • 数据的冗余和不一致
  • 数据访问困难
  • 数据孤立
  • 完整性问题
  • 原子性问题——要么全部发生要么全部不发生
  • 并发访问异常
  • 安全性问题

1.2 数据视图

    1.2.1 数据抽象

  • 物理层
  • 逻辑层
  • 视图层

    1.2.2 实例与模式

        特定时刻存储在数据库中的信息的集合称作数据可的一个实例。而数据库的总设计称作数据库模式

        物理模式在物理层描述数据库的设计,而逻辑模式则在逻辑层描述数据库的设计。数据库在视图层也可以有几种模式,有时称为子模式,它描述了数据库的不同视图。

        应用程序如果不依赖于物理模式,他们就被称为是具有物理数据独立性

    1.2.3 数据模型

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

  • 关系模型
  • 实体-联系模型
  • 基于对象的数据模型
  • 半结构化数据模型

        在历史上,网状数据模型层次数据模型先于关系数据模型出现。

1.3 数据库语言

    数据库系统提供数据定义语言(DDL)来定义数据库模式,以及数据操纵语言(DML)来表达数据库的查询和更新。

    1.3.1 数据操纵语言

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

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

            2.声明式DML(非过程化DML)只要求用户指定需要什么数据,而不指明如何获得这些数据。

        查询是要求对信息进行检索的语句,DML中涉及信息检索的部分称作查询语言

    1.3.2 数据定义语言

  • 域约束
  • 参照完整性
  • 断言——数据库需要时刻满足的某一条件。域约束和参照完整性约束是断言的特殊形式。
  • 授权

         DDL的输出放在数据字典中,数据字典包含元数据,元数据是关于数据的数据。

1.4 关系数据库

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

        为了访问数据库,DML语句需要有宿主语言来执行。两种途径:

            1.一种是通过提供应用程序接口(过程集),他可以用来将DML和DDL的语句发送给数据库,再取回结果。

            2.另一种是通过扩展宿主语言的语法,在宿主语言的程序中嵌入DML调用。通常用一个特殊字符作为DML调用的开始,并且通过预处理器,称作DML预编译器。

        来将DML语句转变成宿主语言中的过程调用。

1.5 数据库设计

    1.5.1 实体-联系模型

        实体-联系数据模型使用一组称作实体的基本对象,以及这些对象间的联系。数据库中实体通过属性集合来描述。

        联系是几个实体之间的关联。同一类型的所有实体的集合称作实体集,同义类型的所有联系的集合称作联系集

        除了实体和联系外,E-R模型还描绘了数据库必须遵守的对其内容的某些约束。一个重要的约束是映射基数,它表示通过某个联系集能与一实体进行关联的实体数目。

    1.5.2 规范化

        为确定一个关系模式是否符合想要的范式,我们需要额外的关于用数据库建模的现实世界中机构的信息。最常用的就是函数依赖

        空值(null)很难处理,最好不要用它。

1.6 数据存储和查询

    1.6.1 存储管理器

        存储管理器是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。存储管理器与文件管理器进行交互。

    原始数据通过操作系统提供的文件系统存储在磁盘上。存储管理器将各种DML语句翻译为底层文件系统命令。存储管理部件包括:

  • 权限及完整性管理器
  • 事务管理器
  • 文件管理器
  • 缓冲区管理器
  • 数据文件
  • 数据字典
  • 索引

    1.6.2 查询管理器

        查询管理器部件包括:

  • DDL解释器
  • DML编译器,DML编译器还进行查询优化
  • 查询执行引擎,执行由DML编译器产生的低级指令。

1.7 事务管理

    原子性,一致性,持久性。

    事务是数据库应用中完成单一逻辑功能的操作集合。原子性和持久性的保证是恢复管理器的职责。并发控制管理器控制并发事务间的相互影响,保证数据库一致性。事务管理器包括并发控制管理器和恢复管理器。

1.8 数据库体系结构

    远程数据库用户工作用的是客户机,运行数据库系统的是服务器。

    数据库通常分为两或三个部分,在一个两层体系结构中,应用程序驻留在客户机上,通过查询语言表达式来调用服务器上的数据库系统功能。客户端通常通过一个表单界面与应用服务器进行通信。而应用服务器与数据库系统通信以访问数据。

1.9 数据库管理员

    数据库管理员(DBA)的作用包括:

  • 模式定义
  • 存储结构及存取方法定义
  • 模式及物理组织的修改
  • 数据访问授权
  • 日常维护

推荐阅读