1.2 数据模型

数据模型是对现实世界数据特征的抽象,是现实世界的模拟

数据模型是用来描述数据、组织数据和对数据进行操作的

数据模型应满足三方面要求:

1        能比较真实地模拟现实世界

2        容易为人所理解

3        便于在计算机上实现

数据模型是数据库系统的核心和基础

1.2.1        数据建模

数据建模:把现实世界中的具体事物抽象、组织为某一数据库管理系统 支持的数据模型

数据建模过程---两步抽象

现实世界中的客观对象抽象为概念模型

将现实世界抽象为信息世界 

把概念模型转换为某一数据库管理系统支持的数据模型 

将信息世界转换为机器世界

1.2 数据模型_第1张图片

1.2.2        概念模型

概念模型的用途:

1        是现实世界到机器世界的一个中间层次

2        用于信息世界建模

3        现实世界到信息世界的第一层抽象

4        数据库设计的有力工具

5        数据库设计人员用户之间进行交流的语言

对概念模型的基本要求:

1        较强的语义表达能力

1        简单、清晰、易于用户理解

1.         信息世界中的基本概念

(1)实体entity):客观存在并可相互区别的事物称为实体 ,可以是具体的人、事、物、抽象的概念或联系。

(2)属性attribute):实体所具有的某一特性称为属性, 一个实体可以由若干个属性来刻画。

(3)key):唯一标识实体的属性集称为码。

(4)实体型entity type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

(5)实体集entity set):同一类型实体的集合称为实体集。

(6)联系relationship): 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体(型)内部的联系和实体(型)之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系 。实体之间的联系通常是指不同实体集之间的联系 。实体之间的联系有一对一、一对多和多对多等多种类型。

2.        实体-联系模型

实体-联系方法Entity-Relationship Approach) :用E-R图来描述现实世界的概念模型 ,E-R方法或E-R模型。

1.2 数据模型_第2张图片

1.2.3        数据模型三要素

1.        数据结构 

2.        数据操纵 

3.        完整性约束

1.         数据结构

数据结构:描述数据库的组成对象以及对象之间的联系。

描述的内容 :与对象的类型、内容、性质有关 ,与数据之间联系有关。

数据结构是对系统静态特性的描述。

2.         数据操纵

数据操纵:对数据库中各种对象(型)的实例(值)允许执行的 操作的集合,包括操作及有关的操作规则。

数据库主要操作:查询 ,更新(包括插入、删除、修改)。

数据模型必须定义:

1        操作的确切含义

2        操作符号

3        操作规则(如优先级)

4实现操作的语言

数据操纵是对系统动态特性的描述

3.         完整性约束

完整性约束:一组完整性规则 。

完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则 ,限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、 有效和相容。

数据模型对完整性约束条件的定义 :反映和规定必须遵守的基本的通用的完整性约束 ,例如,在关系模型中,任何关系必须满足实体完整性和参照完整性,数据模型都是逻辑上的。

物理模型:数据模型以一定的组织方式存储在数据库管理系统中, 是数据模型在数据库管理系统内部的物理存储结构 ,描述数据在数据库管理系统内部的数据组织和存取方法的实现,包括存储结构和索引结构的物理实现。

1.2.4        层次模型

层次模型实体用记录表示 ,实体的属性对应记录的数据项(或字段) ,实体之间的联系转换成记录之间的两两联系 ,数据结构的单位是基本层次联系 ,是指两个记录以及它们之间的一对多(包括一对一)的联系。

1.2 数据模型_第3张图片

层次模型是数据库系统中最早出现的数据模型。

层次数据库系统的典型代表是IBM公司的IMS(Information Management System。 

层次模型用树形结构来表示各类实体以及实体间的联系。

1.         层次模型的数据结构

 满足下面两个条件的基本层次联系的集合为层次模型:

1. 有且只有一个结点没有双亲结点,这个结点称为根结点。

2. 根以外的其它结点有且只有一个双亲结点 。

层次模型中的几个术语 :根结点,双亲结点,兄弟结点,叶结点。

1.2 数据模型_第4张图片

层次模型的特点: n

1        结点的双亲唯一的 。

2        只能直接处理一对多的实体联系 。

3        每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示 。

4        各个记录类型、同一记录类型中各个字段不能同名 。

5        每个记录类型可以定义一个排序字段,也称为码字段 。

6        任何记录值只有按其路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。

1.2 数据模型_第5张图片

1.2 数据模型_第6张图片

2. 层次模型的数据操纵与完整性约束

层次模型的数据操纵: 查询,插入,删除,更新。

层次模型的完整性约束:

1        无相应的双亲结点值就不能插入子女结点值。

2        如果删除双亲结点值,则相应的子女结点值也被同时删除。 

3        更新操作时,应更新所有相应记录,以保证数据的一致性。

3.        层次模型的优缺点

层次模型优点 

层次模型的数据结构比较简单清晰

查询效率高 ,层次模型中记录之间的联系用有向边表示,就是记录之间的存取路径。

层次数据模型提供了良好的完整性约束支持。

层次模型缺点 

很多联系是非层次性,不适合用层次模型表示。

一个结点具有多个双亲结点,只能通过冗余数据(易产生不 一致性)或创建非自然的数据结构(虚拟结点)来解决。

对插入和删除操作的限制多,应用程序的编写比较复杂

查询子女结点必须通过双亲结点。

层次命令趋于程序化

你可能感兴趣的:(数据库)