数据库概述。
数据管理
人工管理
-> 文件系统
-> 数据库系统
文件系统阶段 | 数据库系统阶段 | |
---|---|---|
数据处理方式 | 联机实时处理、批处理 | 联机实时处理、批处理、分布式处理 |
数控共享程度 | 共享性差,冗余大 | 共享性高,冗余小,易扩充 |
数据的独立性 | 差 | 高度数据独立性和一定的逻辑独立性 |
数据的结构化 | 记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 由 DBMS 提供数据安全性、完整性、并发控制和恢复能力 |
- DBS 实现整体数据的结构化,这是数据库的主要特征之一,也是数据库和文件系统的本质区别。
- 数据共享性高,冗余度低,易扩充
- 数据独立性高
用户的应用程序与数据库中数据的物理存储相互独立。
用户的应用程序与数据库的逻辑结构相互独立。
数据模型
是 DBS 的核心和基础。
组成要素
数据结构描述数据库的组成对象以及对象之间的联系。
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。
数据的完整性约束条件是一组完整性规则。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
数据模型应该反映和规定其必须遵守的基本的和通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。
类别
按用户的观点来对数据建模,主要用于数据库设计。
- 实体
- 属性
- 码
- 实体型:例如
学生(学号,姓名,性别,出生年月)
- 实体集:例如
全体学生
- 联系:一对一,一对多,多对多
一种表示方法:实体 - 联系方法(Entity-Relationship approach),用 E-R图
描述现实世界的模型。
- 逻辑模型:层次;网状;关系;面向对象;对象关系;半结构化数据模型
- 物理模型:对数据最底层的抽象,描述数据再系统内部的表示方式和存取方法,面向计算机系统。
常用逻辑数据模型
●层次模型( hierarchical model )
●网状模型(network model)
以上两种统称为格式化模型
●关系模型(relational model )
●面向对象数据模型( object oriented data model)
●对象关系数据模型(object relational data model)
●半结构化数据模型( semistructure data model)
模型性能比较
一般地,性能排序如下:
网状数据库
≥ 层次数据库
> 关系数据库
关系模型
关系模型要求关系是规范化的,即要求满足一定的范式
。
关系术语 | 一般表格的术语 |
---|---|
关系名 | 表名 |
关系模式 | 表头(表格的描述) |
关系 | (一张)二维表 |
元组 | 记录或行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表(大表中嵌有小表) |
数据库系统结构
外部结构
- 单用户结构
- 主从式结构
- 分布式结构
- C/S 结构
- B/S 结构
内部结构
三级模式
模式
也称逻辑模式
,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
模式
实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式
。 数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
定义模式
时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等;而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。
数据库管理系统提供模式数据定义语言
(模式 DDL)来严格地定义模式。
外模式
也称子模式
(subschema)或用户模式
,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式
通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是不同的。即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
外模式
是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。
数据库管理系统提供外模式数据定义语言
(外模式 DDL)来严格地定义外模式。
内模式
也称存储模式
(storage schema), 一个数据库只有一个内模式
。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
例如,记录的存储方式是堆存储还是按照某个(些)属性值的升(降)序存储,或按照属性值聚簇(cluster) 存储:索引按照什么方式组织,是 B + 树索引还是 hash 索引;数据是否压缩存储,是否加密;数据的存储记录结构有何规定,如定长结构或变长结构,一个记录不能跨物理页存储:等等。
二级映像
外模式 / 模式映像
模式
描述的是数据的全局逻辑结构,外模式
描述的是数据的局部逻辑结构。
对于每一个外模式
,数据库系统都有一个外模式/模式映像
来定义了该外模式
与模式
之间的对应关系。
作用: 当模式
改变时( 例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像
作相应改变,可以使外模式
保持不变。应用程序是依据数据的外模式
编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
。
内模式 / 模式映像
数据库中只有一个模式
,也只有一个内模式
,所以模式/内模式映像
是唯一的,它定义了数据全局逻辑结构
与存储结构
之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映像定义通常包含在模式描述
中。
作用:当数据库的存储结构
改变时(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像
作相应改变,可以使模式
保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
。
数据库系统组成

关系数据库
关系
域
一种具有相同数据类型的集合,如,自然数,{0,1},{男,女}
笛卡尔积
从每个域元组
的集合。

关系
上述 D 的笛卡尔积的有限子集
,即一张二维表。表的每行对应一个元组
,每列对应一个属性
。
n=1=> 单元关系
n=2=> 二元关系
码
- 候选码:能唯一标识一个元组的属性。候选码的诸属性成为
主属性
,其余属性称作非主属性
。候选码的两种极端情况:①只包含一个属性②关系模式的所有属性都是这个关系模式的候选码,成为全码
。 - 主码:其中一个选定的候选码
不是所有笛卡尔积的子集都有实际语义,有些不符合实际情况的子集就不符合语义 (例如相关的男女婚姻数据表违反一夫一妻制)
通俗地讲,一个关系就是一个表。关系有三种:
- 基本关系 (基本表)
- 查询表
- 视图表
数据库系统中的关系要符合一定的范式。一般地,元组和记录是同一个东西。
关系完整性
实体完整性
每个数据表有一个不为空的主键
参照完整性

主码
,外码
。
参照完整性要求外码
用户定义的完整性
用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
关系代数
基本运算 | 其他运算(可由基本运算表达) |
---|---|
并、差、笛卡尔积、选择、投影 | 交、连接、除 |

传统集合运算举例![]()
专门关系运算举例
选择
投影
连接
除运算
参考文献:《数据库操作系统概论(第五版)》