前言数据模型是数据库系统的核心,本文简要介绍三种主要的数据模型。
一方面,格式模型格式模型是分层模型和网格模型的总称
1 .层次模型层次数据模型的概念层次模型以属性结构表示各类实体及实体之间的联系
层次模型的数据结构特征:
节点的父母是唯一的;只能直接处理一对多的实体联系; 您可以为每种记录类型定义排序段。 也称为代码字段。 只有当按路径显示时,所有记录值才能表明其含义。 没有一个孩子的记录值可以脱离父母的记录值而独立存在。 层次模型的数据操作查询插入删除更新层次模型完整性约束对应的父节点值才能插入子节点; 删除父节点时,相应子节点的值也会同时删除。 更新操作时,必须更新所有对应的记录以确保数据完整性。 层次模型的优缺点
层次模型的数据结构比较简单清晰;
查询效率高,性能优于关系模型,在网格模型以上
分层数据模型提供良好的完整性支持。
缺点
节点之间的多对多联系是不自然的
插入和删除操作有很多限制,APP应用程序的创建很复杂
查询孩子的节点必须通过父母的节点
分层指令倾向于程序化
2 .网格模型网格模型的概念网格数据库系统采用网格模型作为数据的组织方式
典型地是DBTG系统:
也称为CODASYL系统
20世纪70年代DBTG提出的系统方案
必填系统
Cullinet Software公司的IDMS
Univac公司的DMS1100
Honeywell公司的IDS/2
HP图像
网格模型的数据结构是满足以下两个条件的基本层次关系集合:
允许一个或多个节点没有父母的一个节点可以有多个父母。 演示(与分层数据模型相同) )
实体类型:是用记录类型描述的
每个节点表示形式-记录类型(实体)属性:由一个字段描述
对于各记录类型,当数千个字段链接:通过节点之间的链接表示记录类型(实体)之间的一对多的父子链接时,网格模型的操作和完整性约束网格数据库系统(例如DBTG )被加到数据操作中
有一些限制,-提供一定的完整性约束
唯一识别代码:记录的数据项集合
在一个联系中父母记录和孩子记录之间有一对多的联系
支持父母记录和孩子记录之间的一些限制
网格模型的优缺点
a .当一个节点有多个父母时,可以更直接地描述现实世界
b .具有良好的居住性,访问效率高的缺点
a .结构复杂,而且随着应用环境的不断扩大,数据库越来越复杂,不利于最终用户的掌握
b.DDL、DML语言复杂,用户不易使用
c .记录之间的联系通过访问路径实现,用户必须知道系统结构的详细情况3 .网格模型和层次模型的区别网格模型允许多个节点没有父节点
在网格模型中,节点允许多个父母节点
网格模型中,2个节点之间可以具有多个联系(复合联系)
网格模型可以更直接地表现现实世界
分层模型实际上是网格模型的特例
二、关系模型关系模型概念关系数据库系统采用关系模型作为数据的组织方式
1970年美国IBM公司SanJose研究室研究员E.F.Codd首次提出了数据库系统的关系模型
计算机供应商新推出的数据库管理系统几乎都支持关系模式
关系模型的数据结构在用户看来,关系模型中数据的逻辑结构是一个二维表,由行和列组成。
关系)
一个关系对应于通常所说的一张表
元组
表中的1行为元组
属性(Attribute )。
表中的列是属性,对-个属性分别赋予作为名称的属性名称
主代码(Key )。
也称为代码键。 表中的属性组。 唯一确定元组
域(域)。
是具有相同数据类型的值的集合。 属性的值范围来自域。
分量
元组属性值。
关系模式记述关系的关系名称(属性1、属性2、属性n ) (学生)学号、姓名、年龄、性别、系名、年级) ) ) ) ) ) ) ) ) )。
关系必须是规范的,满足一定的限制条件
最基本的约束条件:关系的每个组件必须是不可分离的数据项,不能向表中添加表
关系模型的操作和完整性约束数据操作是集合操作,操作对象和操作结果是关系
查询
插入
删除
更新访问路径对用户是隐藏的,用户只要指出“成千上万”,就不必详细说明“如何”关系的完整性约束
实体完整性
参照完整性
用户定义的完整性关系数据库的优缺点
1 .基于严密的数学概念
2 .概念单一
实体和各种联系都用关系表示
数据检索结果也有关系
3 .关系模型的访问路径对用户是透明的
更高的数据独立性、更高的安全性
简化了程序员工作和数据库开发构建工作的缺点
1 .访问路径对用户透明,查询效率往往不及格式数据模型
2 .为了提高性能,需要优化用户的查询请求。 开发数据库管理系统的难度越来越大。 数据库领域目前的研究工作基于关系方法,因此学习数据库时应该把重点放在关系数据库上。