1.1 数据库管理技术的产生与发展
1. 人工管理阶段(20世纪50年代中期以前)
数据是面向应用程序的,一个数据集只能对应于一个程序。
数据由应用程序定义和管理。
无法共享利用,存在大量冗余数据。
2. 文件系统阶段(20世纪50年代后期-60年代中期)
背景:科学计算、有存储设备、有文件系统
特点:数据由文件保存;数据依赖于程序;数据独立性差;数据共享性差。
3. 数据库管理系统阶段(20世纪60年代后期以来)
背景:大规模数据管理、联机实时处理需求、磁盘陈列、有数据库管理系统。
特点:数据结构化;数据共享性高冗余小;数据独立性高;实施统一管理与控制。
1.2 数据库系统特点
- 数据结构化,数据库管理系统与文件系统的本质区别。
不仅仅是内部结构化,数据以及数据之间的联系统一管理起来,使之结构化。
在数据库中的数据不是仅仅针对某一个应用,而是面向全组织的所有应用。
- 数据的共享度高,冗余度低,易扩充
DBMS从整体角度描述和组织数据,数据不再是面向某个应用,而是面向整个系统;
数据可以被多个用户、多个应用共享使用;
数据共享可以大大减少数据的冗余,避免数据不一致性;
- 数据独立性高
指 应用程序 和 数据结构 之间相互独立,互不影响;
不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
包括物理独立性、逻辑独立性;
物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的
数据的(全局)逻辑结构由DBMS负责,应用程序只关心数据的局部逻辑结构(即应用视图);
- 数据由DBMS统一管理和控制 。
1.3 数据模型的分层、三要素
根据数据抽象的不同级别,将数据模型划分为3类:
1. 概念模型:按用户观点/认识对现实数据建模,也称为信息模型;
主要用于数据库设计——强调语义表达功能;
常用:实体-联系模型(E-R模型) 、面向对象模型(OO模型)
2. 逻辑模型:描述数据库数据的整体逻辑结构;
主要用于DBMS的实现
常见如:层次模型、网状模型、关系模型、OO模型等;
3. 物理模型:描述数据的物理存储结构和存取方法 。
数据模型组成三要素:数据结构、数据操作、数据约束
1. 数据结构:系统的静态特征,即数据类型、内容、属性、数据间联系。
2. 数据操作:系统的动态特征,包括:查询、插入、删除、修改。
3. 数据约束:数据的完整性约束,数据模型中数据之间联系所具有的制约和依存规则。
1.4 三级模式结构、两层映像与数据库独立性
数据库的三级模式结构:内模式、模式和外模式。
1. 内模式:
也称存储模式,对应于物理层数据抽象
2. 模式:
也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
它是DBMS模式结构的中间层;不涉及物理存储、硬件环境以及应用程序;
3. 外模式:
也称为子模式或用户模式,对应于视图层数据抽象;
数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据;
是保证数据库安全性的一个有力措施。
数据库两级映像与数据独立性
- 外模式/模式映像:
一个模式可以有多个外模式;(一个视图对应一个具体的应用,在各自的外模式描述中定义外模式/模式映像)
保证了数据与应用程序的逻辑独立性。
- 模式/内模式映像:
数据库中只有一个模式和内模式,模式/内模式映像是唯一的,数据全局逻辑结构与存储结构之间的对应关系;
保证了数据与应用程序的物理独立性。
1.5 数据库系统组成
- 查询处理器:对用户请求的SQL操作进行查询优化,从而找到一个最优的执行策略,然后向存储管理器发出命令,使其执行。
- 存储管理器:根据执行策略,从数据库中获取相应的数据,或更新数据库中相应的数据。
- 事务管理器:负责保证系统的完整性,保证多个同时运行的事务不发生冲突操作,以及保证当系统发生故障时数据不会丢失。