1、数据库管理系统(DBMS)由相互关联的数据集合以及一组用于访问这些数据的程序组成。
用来存储大量的信息。数据的管理既包括信息存储结构的定义,也包括提供处理信息的机制。一个主要的目的是为用户提供数据的抽象视图,也就是说,系统隐藏数据存储和维护的细节。
数据库结构的基础是数据模型:一个用于描述数据、数据之间的联系、数据语义和数据约束的概念工具的集合。
数据操纵语言(DML)是使得用户可以访问和操纵数据的语言。
数据定义语言(DDL)是说明数据库模式和数据的其他特性的语言。
其子系统构成:
存储管理器:子系统在数据库中存储的底层数据与应用程序和向系统提交的查询之间提供接口。
查询处理器:子系统编译和执行DDL和DML语句。
2、事务管理
负责保证不管是否有故障发生,数据库都要处于一致的(正确的)状态。事务管理器还保证并发事务的执行互不冲突。
3、在文件处理系统中存储组织信息的主要弊端包括:
数据的冗余和不一致、数据访问困难、数据孤立、完整性问题、原子性问题、并发访问异常、安全性问题。
4、数据抽象
一个可用的系统必须能高效地检索数据。用户与系统的交互:
物理层:描述数据实际上是怎样存储的,详细描述复杂的底层数据结构。
逻辑层:描述数据库中存储什么数据以及这些数据间存在什么关系。
视图层:只描述整个数据库的某个部分。系统可以为同一数据库提供多个视图。
5、特定时刻存储在数据库中的信息的集合称作数据库的一个实例。而数据库的总体设计称作数据库模式。
每个变量在特定的时刻会有特定的值,程序中变量在某一时刻的值对应于数据库模式的一个实例。
应用程序如果不依赖于物理模式,它们就称为是具有物理数据独立性,因此即使物理模式改变了它们也无需重写。
6、数据模型被划分为四类:
关系模型、实体-联系模型、基于对象的数据模型、半结构化数据模型。
7、存储在数据库中的数据值必须满足某些一致性约束。如:
域约束:每个属性都必须对应于一个所有可能的取值构成的域(如整数型、字符型等)。
参照完整性:一个关系中给定属性集上的取值也在另一关系的某一属性集的取值中出现。
断言:一个断言就是数据库需要时刻满足的某一条件。域约束和参照完整性约束是断言的特殊形式。
授权:对于不同的用户在数据库中的不同数据值上允许不同的访问类型。常见的有读权限、插入权限、更新权限、删除权限等。
8、数据字典
可以看作是一种特殊的表,这种表只能由数据库系统本身(不是常规的用户)来访问和修改。DDL的输出放在数据字典中,数据字典包含了元数据,元数据是关于数据的数据。在读取和修改实际的数据前,数据库系统先要参考数据字典。
9、表
每个表有多个列,每个列有唯一的名字。每个表包含一种特定类型的记录。每种记录类型定义固定数目的字段或属性。表的列对应记录类型的属性。关系模型是基于记录的模型的一个实例。
10、设计过程
初始阶段:全面刻画预期的数据库用户的数据需求。
概念设计阶段:选择一个数据模型,将那些需求转化为一个数据库的概念模式。其中涉及及决定数据库中应该包含哪些属性,以及如何将这些属性组织到多个表中。
功能需求说明:用户描述数据之上的各种操作(或事务)如更新数据,检索特定的数据、删除数据等。
逻辑设计阶段:将高层的概念模式映射到要使用的数据库系统的实现数据模型上,其中指定数据库的物理特性,包括文件组织的形式以及内部的存储结构。
11、实体-联系模型
使用一组称作实体的基本对象,以及这些对象间的联系。数据库中实体通过属性集合来描述。联系是几个实体之间的关联。同一类型的所有实体的集合称为实体集,同一类型的所有联系的集合称作联系集。
采用统一建模语言(UML)来描述E-R图:
实体集用矩形框表示,实体名在头部,属性名列在下面。联系集用连接一对相关的实体集的菱形表示,联系名放在菱形内部。
一个重要的约束是映射基数,它表示某个联系集能与一实体进行关联的实体数目。
12、存储管理器
负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。
存储管理器负责与文件管理器进行交互。原始数据通过操作系统通过的文件系统存储在磁盘上。存储管理器将各种DML语句翻译为底层文件系统命令。因此存储管理器负责数据的存储、检索和更新。
其部件包括:
权限及完整性管理器:检测是否满足完整性约束,并检查试图访问数据的用户的权限。
事务管理器:保证即使发生了故障,数据库也保持一致性状态,并保证并发事务的执行不发生冲突。
文件管理器:管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构。
缓冲区管理器:负责将数据从磁盘上取到内存中来,并决定哪些数据应被缓存存储在内存中。
13、事务
完成单一逻辑功能的操作集合。每一个事务是一个具有原子性和一致性的单元。