2.1 数据模型概述
数据模型(Data Model):对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。
1.概念数据模型:一种面向客观世界、面向用户。独立于计算机之外的一种数据模型。
2.逻辑数据模型:一种直接面向数据库系统的模型,主要用于DBMS的实现。
2.1.1 数据模型的基本组成:由数据结构、数据操作和数据约束条件组成。
1.数据结构:指实体类型和闲时间联系的表达。
数据结构是数据模型最基本的组成部分。
2.数据操作:指对数据库进行检索和更新(包括插入、删除和修改)两类操作。
3.数据约束条件:是一组完整性规则的集合。
数据约束条件定义了给定数据模型中数据及其联系应有的制约和依赖规则,确保了数据库中数据的正确性、有效性和相容性。
2.2 E-R数据模型
2.2.1 实体-联系数据模型(Entity-Relationship Data Model)
:一种面向现实世界的数据模型。
1.实体(Entity):客观存在,可以区别的事物。
2.联系(Relationship):实体与实体之间的关系抽象。
(1)二元联系:
1)一对一联系(1:1):

2)一对多联系(1:n):

3)多对多联系(m:n):

(2)多元联系:实体集不小于3时。
(3)自反联系:统一试题集两部分实体的联系。
3.属性(Attribute):实体或联系所具有的特征。
属性的性质:
1)一个实体可以有若干属性,但在数据库中通常只选择部分数据管理需要的属性。 |
2)属性往往是不可再分的原子属性。 |
3)属性有型和值的区别。 |
4)每个属性值都有一定的变化范围,通常称为属性值的域。 |
5)能为一表示实体集中某一实体的属性或属性组成为实体集的表示关键字(或者关键字)。 |
2.2.2 E-R图:一种E-R模型的图形表示法。


短垂线:表示该属性型为关键字。
m、n:表示何种关系。
无向边:将实体或联系与属性连接起来。
2.3 层次数据模型
2.3.1 基本概念和结构
层次数据模型:利用树形结构表示实体集与实体集之间的联系。
1. 记录和字段:
1) 记录:用来描述某个事物或事物间关系的命名的数据单位。也是存储的数据单位。
2) 字段:简单的数据类型。
2. 双亲子女关系(Parent-Child Relationship,PCR):层次数据模型中最基本的关系,他代表了两个记录性之间一对多(1:n)的关系。
3. 层次数据模式:每一个方框表示一个记录性,每条有向边代表一个PCR型。
数据结构特点:
1)在每棵树中有且仅有一个结点无双亲(根结点)。
2)出根结点以外的任何一一个结点有且仅有一个双亲结点。
3)树中无子女结点的结点称为叶结点。
4.层次序列和层次路径
(1)层次序列:采用输的先序遍历的次序作为存储次序所生成的序列。
(2)层次路径:用于知名从层次数据模式的根结点到目标结点的一条查询路径。
2.3.2 数据操作
1.数据查询
2.更新操作
(1)数据插入
(2)数据删除
(3)数据修改
2.3.3 数据约束
1.除了根结点外,任何其他结点不能离开其双亲而孤立存在。
2.层次模型所体现的记录之间的联系仅次于(1:n)或(1:1)联系,这约束了层次模型描述现实世界的能力。
3.由于层次结构中全部记录都是以有序树建立起来的,所以对某些结构进行修改时,不允许改变数据库中记录类型之间的双亲子女练习,这使得数据库的适应能力都受到限制。
4.虚拟记录的指针必须指向一个实际存在的记录。有虚拟指向的记录不得删除。
5.虚拟记录不能为根记录。
2.3.4 层次数据模型的优缺点
优点:
1)模型结构简单、层次分明,便于在计算机馁实现。 |
2)在层次结构中,除根结点外到树中任一结点建军存在一条唯一的层次路径,这为有效地进行数据操作提供了条件。 |
3)在层次结构中,除根结点以外的所有结点有且仅有一个双亲结点,故实体机之间的联系可以用双亲结点唯一地表示,因此层次模型DBMS对层次结构的数据有较高的处理效率。 |
4)层次数据模型提供了良好的完整性支持。 |
缺点:
1)层次数据模型缺乏直接表达现实世界中非层次性结构的复杂联系。 |
2)对插入或删除操作有较多限制。 |
3)查询子女结点必须通过双亲结点。 |
2.4 网状数据模型
2.4.1 基本概念和结构
1.记录与数据项
2.系

3.系型
(1)单属系型:由主记录型和单一属记录型组成。
(2)多属系型:包含三种或以上记录型,其中只有一个首记录型,其他为属记录型。
(3)奇异系型:只有属记录型而无首记录性的特殊系型。
4.联系记录

2.4.2 数据操作
1.查询操作
2.更新操作
2.4.3 数据约束
1)一个记录型不能出现在同一个西行的多个系值中。
2)一个记录型不能同时为同一个系的首记录和属记录。
3)任一一个系值可拥有且有且仅有一个首记录值,但可以有任意多个属记录值。
4)每个系型有且仅有一个首记录型,但至少要有一个属记录型。
2.4.4 网状数据模型的优缺点
1.优点:1)能更为直接地描述客观世界。
2)具有存放效率高等良好性能。
2.缺点:1)数据结构比较复杂,不便于终端用户掌握。
2)其DDL、DML较复杂、用户掌握使用较为困难。
3)数据独立性较差。
2.5 关系数据模型
2.5.1 基本概念
1.属性和域
属性:描述一个事物所取的若干特征的集合。
域:属性可取值的范围。
2.关系和元祖
关系:定义在其所有属性域上的多元关系。
元祖:关系中各个属性的一个取值的集合。
3.键
若关系中的某一属性或属性组的值能唯一的决定其他所有属性的值,即唯一地决定一个元祖,而其他任何真子集无此性质,则称这个属性或属性组为该关系的候选键,简称键。
2.5.2 关系数据模型的数据结构
1.关系数据模型的描述功能
一张二维表表示了关系R。
A1 | A2 | A3 | ... | An |
a11 | a12 | a13 | ... | a1n |
: | : | : | : | |
am1 | am2 | am3 | ... | amn |
(1)一行称为一个元祖,用关键字标识;
(2)一列为一项属性,其中aij称为Aj的属性值;
(3)(A1,A2,A3,...,An)为关系R的型(关系模式);
(4)(a11 , . . . , amn)为域。
关系模型的描述功能:
(1)实体集及其属性
(2)实体集间的联系
2.关系的性质
1)关系是一个二维表,表中每一行对应一个元祖,表中每一列有一个属性名且对应一个域。
2)列是通知的,集每一列的值来自同一域。
3)列中每一个属性必须为原子属性,不可再分解,即所有域都是元组数据的集合。
4)关系中任意两个元祖不能相同。
5)行序与列序无关紧要
6)每个关系都有关键字的属性集唯一标示各个元祖。
3. 关系模式:关系中信息内容结构的描述。
一般形式:R(U,D,DOM,I,Σ)
R:关系名。
U:组成关系所有属性的集合。
D:U中属性取值的值域。
DOM:属性列到域的映射。
I:完整性约束条件。
Σ:属性集间的一组数据依赖。
2.5.3 数据操作
1.关系代数
(1)传统的集合运算:∪,-,∩,笛卡尔积等。
(2)专门的关系运算:选择(σ),投影(π),连接、自然连接、半连接和除(÷)等。
2. 关系演算
2.5.4 数据约束
1. 域完整性约束
2.实体完整性约束
3.参照完整性约束
2.5.5 关系模型的优缺点
1. 优点:
1)关系模型有坚实的理论基础。
2)在关系模型中,二维表不仅能表示实体集,而且还能方便的表示实体间的联系,包括能描述层次模型和网状模型所不能直接描述的m : n联系。
3)关系数据模型中数据的表示方法统一、简单、便于计算机实现,方便用户使用。
4)数据独立性较高。
2. 缺点:
1)关系模型的主要缺点是查询料率常常不如非关系模型,这是因为存取路径对用户透明,优化处理依靠系统完成,加重了系统的负担。
2)关系数据模型还存在不能以自然地方式表示实体间的联系、予以信息不足、数据类型过少等缺点。