数据库系统---数据模型
层次模型
层次模型是数据库系统中最早出现的数据模型
层次模型用树形结构来表示各类实体以及实体间的联系
满足下面两个条件的基本层次联系的集合为层次模型
1. 有且只有一个结点没有双亲结点,这个结点称为根结点
2. 根以外的其它结点有且只有一个双亲结点
层次模型的特点:
结点的双亲是唯一的
只能直接处理一对多的实体联系
每个记录类型可以定义一个排序字段,也称为码字段
任何记录值只有按其路径查看时,才能显出它的全部意义
没有一个子女记录值能够脱离双亲记录值而独立存在
例:
优点
层次模型的数据结构比较简单清晰
查询效率高,性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持
缺点
结点之间的多对多联系表示不自然
对插入和删除操作的限制多,应用程序的编写比较复杂
查询子女结点必须通过双亲结点
层次命令趋于程序化
网状模型
网状数据库系统采用网状模型作为数据的组织方式
满足下面两个条件的基本层次联系的集合:
1. 允许一个以上的结点无双亲;
2. 一个结点可以有多于一个的双亲。
网状模型与层次模型的区别
网状模型允许多个结点没有双亲结点
网状模型允许结点有多个双亲结点
网状模型允许两个结点之间有多种联系(复合联系)
网状模型可以更直接地描述现实世界
层次模型实际上是网状模型的一个特例
优点
能够更为直接地描述现实世界,如一个结点可以有多个双亲
具有良好的性能,存取效率较高
缺点
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
DDL、DML语言复杂,用户不容易使用
记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节
关系模型
关系数据库系统采用关系模型作为数据的组织方式
优点
建立在严格的数学概念的基础上
概念单一
实体和各类联系都用关系来表示
对数据的检索结果也是关系
关系模型的存取路径对用户透明
具有更高的数据独立性,更好的安全保密性
简化了程序员的工作和数据库开发建立的工作