02数据模型

1. 层次数据模型的数据结构 - 树

在这里插入图片描述

层次模型

满足下面两个条件的基本层次联系的集合为层次模型。
– 1. 有且只有一个结点没有双亲结点,这个结点称为根结点
– 2. 根以外的其它结点有且只有一个双亲结点

表示方法

– 记录类型 : 每个结点表示一个记录类型。
– 属性:用字段描述。每个记录类型可包含若干个字段。
– 联系:用结点之间的连线表示记录(类)型之间的一对多的联系。
– 每个记录类型可以定义一个排序字段,也称为码字段

特点

– 结点的双亲是唯一的
– 只能直接处理一对多的实体联系
– 任何记录值只有按其路径查看时,才能 显出它的全部意义
– 没有一个子女记录能够脱离双亲记录值而独立存在

操作约束

无相应的双亲结点值就不能插入子女结点值
如果删除双亲结点值,则相应的子女结点值也被同时删除
更新操作时,应更新所有相应记录,以保证数据的一致性

层次数据模型存储结构的特点

-数据与数据间的联系结合在一起存储
–数据间的联系用位置相邻表达或用指针表达

两种常用的实现方法
  • 邻接法
    按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。
    在这里插入图片描述
    在这里插入图片描述
  • 链接法
    用指针来反映数据之间的层次联系
    子女-兄弟链接法
    层次序列链接法

2.网状数据模型的数据结构

网状模型

满足下面两个条件的基本层次联系的集合为网状模型。
– 1. 允许一个以上的结点无双亲;
– 2. 一个结点可以有多于一个的双亲。

表示方法(与层次数据模型相同)

– 记录类型 : 每个结点表示一个记录类型。
– 属性:用字段描述。每个记录类型可包含若干个字段。
– 联系:用结点之间的连线表示记录(类)型之间的一对多的父子联系。
– 每个记录类型定义一个排序字段,也称为码字段

特点

– 只能直接处理一对多的实体联系
– 任何记录值只有按其路径查看时,才能 显出它的全部意义
在这里插入图片描述

完整性约束条件不严格

– 允许插入尚未确定双亲结点值的子女结点值
– 允许只删除双亲结点值

网状数据模型的存储结构

关键
– 实现记录之间的联系
常用方法
用指针实现记录之间的联系
– 单向链接
– 双向链接
– 环状链接
– 向首链接

关系模型

关系模型的基本概念

 关系( Relation ):一个关系对应通常说的一张表。
 元组( Tuple ):表中的一行即为一个元组。
 属性( Attribute ): 表中的一列即为一个属性,给每一个属性起一个名称即属性名 。
 主码( Key ):表中的某个属性组,它可以唯一确定一个元组 。
 域( Domain ):属性的取值范围。
 分量:元组中的一个属性值。
 关系模式 对关系的描述
关系名(属性 1 ,属性 2 ,…,属性 n )
学生(学号,姓名,年龄,性别,系,年级)

实体及实体间的联系的表示方法

– 实体型:直接用关系(表)表示。
– 属性:用属性名表示。
– 一对一联系:隐含在实体对应的关系中。
– 一对多联系:隐含在实体对应的关系中。
– 多对多联系:直接用关系表示。

关系必须是规范化的,满足一定的规范条件
最基本的规范条件:关系的每一个分量必须是一个不可分的数据项 , 不允许表中还有表

发布了83 篇原创文章 · 获赞 50 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_37636695/article/details/103896066
今日推荐