第一章 引言
1.数据库管理系统:由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这个数据的集合通常被称作数据库。
2. 传统文件系统面临的的问题:
(1)数据的冗余和不一致
冗余:重复统计 不一致:多版本数据更新延迟
(2)数据访问困难
条件更改访问困难
(3)数据孤立
分散不同文件 检索困难
(4)完整性问题
完整性约束一旦加入 修改困难
(5)原子性问题
传统文件保证原子性操作困难
(6)并发访问异常
(7)安全性问题
传统文件权限管理比较困难
3. 数据库的三层抽象
4. 特定时刻存在于数据库中信息的集合被称为一个实例(instance),而数据库的总体设计被称为一个模式(schema)。 应用程序如果不依赖于物理模式,他们就被称为是具有物理数据独立性。
5. 数据库的结构基础是数据模型。数据模型是一个描述数据、数据联系、数据语义以及一致性约束的概念工具。数据模型分为四类:
关系模型、实体联系模型(E-R模型) 基于对象的数据模型 半结构化数据模型(允许那些相同类型的数据项含有不同的属性集的数据定义,常用XML语言实现)
6.数据库语言可以分为DDL(数据库定义语言,定义数据库的模式和细节)DML(数据库操作语言,增删查改)
- 存储在数据库的数据值必须满足某些一致性约束:
(1)域约束(指明数据类型,如整数型)
(2)参照完整性(一个关系中给定属性集上的取值在另一关系的某一属性集的去职中出现,如:外键约束)
(3)断言(数据库某时刻要满足的条件,域约束和参照完整性是断言特殊形式)
(4)授权(用户权限)
△关系型数据库基于关系模型
- 为了访问数据库,DML语句需要宿主语言来执行:
(1)通过提供应用程序接口(过程集),它可以用来将DML和DDL的语句发送给数据库,然后取回结果
(2)通过扩展主语言的语法,在宿主语言的程序中嵌入DML调用。通常用一个特殊字符作为DML调用的开始,并且通过预处理器,称为DML预编译器,来讲DML语句转变成宿主语言中的过程调用。 - 实体联系模型(E-R模型)
(1)实体-联系(E-R)数据库模型使用一组称作实体的基本对象,以及这些对象直接的联系。
(2)数据库中实体通过属性集合来描述。
(3)联系是几个实体之间的关联。同一类型的所有实体的集合称作实体集,同一类型所有的联系集合称为联系集。 - 存储器管理器:
存储器管理器是数据库系统中负责在数据库中存储的底层数据与应用程序以及向系统提交的查询之间提供接口的不见。
其主要部件包括:
·权限及完整性管理器:它检测是否满足完整性约束,检查访问数据的用户的权限
·事务管理器:保证即使发生故障,数据库也能保持在正确状态,并发事务执行不发生冲突
·文件管理器:管理磁盘存储空间的分配
·缓冲区管理器:将磁盘数据取到内存中来,并决定那些数据存储在内存中
·数据文件:存储数据库自身
·数据字典:存储数据库结构元数据,尤其是数据库模式
·索引:提供·数据项的快速访问 - 查询处理器:
主要组件包括:
·DDL解释器:解释DDL语句并将这些定义记录在数据字典中
·DML编译器:将查询语言中的DML语句翻译为一个执行方案,包括一些列查询执行引擎能理解的低级指令
·查询执行引擎:执行由DML编译器产生的低级指令