文章目录
- 数据模型概述
- 一、数据模型概要
- 1.模型、建模与抽象
- 2.数据模型
- 3.两类数据模型
- 二、数据库模型的组成要素
- 1.数据结构
- 2.数据操作
- 3.数据的完整性约束
- 三、概念模型
- 1.概要
- 2.基本概念
- 3.概念模型的表示方法
- 常用数据模型
- 一、层次模型
- 1.简介
- 2.数据结构
- 3.数据操纵与完整性约束
- 4.优缺点
- 二、网状模型
- 1.简介
- 2.数据结构
- 3.数据操纵与完整性约束
- 4.优缺点
- 三、关系模型
- 1.简介
- 2.数据结构
- 3.数据操纵与完整性约束
- 4.优缺点
数据模型概述
一、数据模型概要
1.模型、建模与抽象
- 模型:队对研究对象进行抽象的工具。
- 建模:对研究对象进行抽象的过程。
- 抽象:对事物进行简化、提取特征或共性,实现模型和事物之间的映射或投影。
2.数据模型
- 对现实世界数据特征的抽象。
- 用来描述数据、数据联系、数据语义以及一致性约束的一套概念工具。
- 是数据库系统的核心和基础。
3.两类数据模型
- 概念模型:又称信息模型,主要用于数据库设计。
- 逻辑模型和物理模型:
- 逻辑模型主要包括层次模型、网状模型、关系模型等。
- 物理模型是对数据最底层的抽象,是面向计算机系统的。
二、数据库模型的组成要素
1.数据结构
- 描述数据库自称对象以及对象之间的联系。
- 数据结构描述的内容有两类:
- 与对象的类型、性质、内容有关的。
- 与数据之间联系有关的。
- 数据结构是所描述对象类型的集合,是对系统静态特征的描述。
2.数据操作
- 指对数据库中各种对象的实例允许执行的操作的集合。
- 数据操作是对系统动态特性的描述。
3.数据的完整性约束
- 数据的完整性约束条件是一组完整性规则。
- 保证数据的正确、有效和相容。
三、概念模型
1.概要
-
概念模型是现实世界到机器世界的中间层次。
-
用于信息世界的建模,是现实世界到信息世界的第一次=层抽象。
2.基本概念
-
实体(entity):客观存在并可相互区别的事物。
-
属性(attribute):实体所具有的某一特性称为属性。
-
码(key):唯一标识实体的属性集。
-
实体型(entity type):用实体名及其属性名集合来抽象和刻画同类实体。
-
联系(relationship):实体之间的联系通常指不同实体集之间的联系。
3.概念模型的表示方法
- 实体-联系方法
- 改方法用E-R图来描述现实世界的概念模型。
常用数据模型
一、层次模型
1.简介
- 层次模型是数据库中最早出现的模型。
- 用树形结构来表示各类实体以及实体间的联系。
2.数据结构
-
采用树形结构,树的性质决定了树状数据模型的特征。
-
整个模型中有且仅有一个节点没有父节点,即根节点。
-
其余的节点必须有且仅有一个父节点。
3.数据操纵与完整性约束
- 数据操纵:主要有查询、插入、删除和更新。
- 完整性约束:
- 所有的子节点不能脱离父节点而单独存在。
- 如果要删除父节点,那么父节点下面的所有子节点都要同时删除。
- 但是可以单独删除一些叶子节点。
4.优缺点
-
优点
- 数据结构简单清晰。
- 查询效率较高,节点的有向边表示了节点之间的联系。
- 提供了较好的数据完整性支持。
-
缺点
- 不适用于非层次的联系(如多对多的联系)。
- 缺乏灵活性,若一个结点具有多个双亲结点解决办法复杂且限制修改。
- 查询节点的时候必须知道其双亲节点。
- 层次命令趋于程序化。
二、网状模型
1.简介
- 用有向图表示实体和实体之间的联系。
- 可以看做是放松层次数据模型的约束性的一种扩展。
- 去掉了层次模型的两个限制:
- 允许多个节点没有双亲结点。
- 允许结点有多个双亲结点。
2.数据结构
- 采用有向图结构,有向图的性质决定了树状数据模型的特征。
- 可以存在两个或者多个节点没有父节点。
- 允许单个节点存在多于一个父节点。
3.数据操纵与完整性约束
- 支持记录码的概念。
- 保证一个联系中双亲记录和子女记录之间是一对多的联系。
- 可以支持双亲记录和子女记录之间的某些约束条件。
4.优缺点
- 优点
- 可以很方便的表示现实世界中的很多复杂的关系。
- 具有良好的性能,存储效率较高。
- 缺点
- 结构比较复杂。
- 网状模型的DDL、DML复杂。
- 编写应用程序负担较重。
三、关系模型
1.简介
- 实体、实体之间的联系都被映射成统一的关系。
- 建立在严格的数学概念的基础上。
2.数据结构
- 每个关系的数据结构都是一张规范化的二维表。
- 关系(relation):一个关系对应一张表。
- 元组(tuple):表中的每一行即为一个元组。
- 属性(attribute):表中的每一列即为一个属性。
- 码(key):可以唯一确定一个元组。
- 域(domain):一组具有相同数据类型的值的集合。
- 分量:元组中的一个属性值。
3.数据操纵与完整性约束
- 操纵主要包括增删改查。
- 完整性约束包括:实体完整性、参照完整性、用户完整性。
- 操作对象和操作结果都是关系。
4.优缺点
-
优点
- 建立在严格的数学概念的基础上。
- 概念单一,结构简单、清晰。
- 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
-
缺点:
- 存取路径对用户隐蔽,查询效率较低。
像一个个纯粹美丽的漩涡,谁拥有那星空却没有因此而沉默。 ——理想后花园《每一颗行星都是你》