数据库理论复习笔记之数据模型(续二)

2. 网状模型

简介:
(1)网状数据库系统采用网状模型作为数据的组织方式
(2)典型代表是DBTG系统:
◎ 亦称CODASYL系统
◎ 20世纪70年代由DBTG提出的一个系统方案
(3)实际系统
◎ Cullinet Software公司的 IDMS
◎ Univac公司的 DMS1100
◎ Honeywell公司的IDS/2
◎ HP公司的IMAGE
网状模型数据结构:

  1. 满足下面两个条件的基本层次联系的集合:
    ● 允许一个以上的结点无双亲;
    ● 一个结点可以有多于一个的双亲。
  2. 表示方法(与层次数据模型相同)
    ● 实体型:用记录类型描述,每个结点表示一个记录类型(实体)
    ● 属性:用字段描述,每个记录类型可包含若干个字段
    ● 联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
  3. 网状模型与层次模型的区别:
    ●网状模型允许多个结点没有双亲结点
    ●网状模型允许结点有多个双亲结点
    ●网状模型允许两个结点之间有多种联系(复合联系)
    ●网状模型可以更直接地描述现实世界
    ●层次模型实际上是网状模型的一个特例
    注意:
    网状模型中子女结点与双亲结点的联系可以不唯一,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录 。
    例:
    在这里插入图片描述

多对多联系在网状模型中的表示:
●用网状模型间接表示多对多联系
●方法:将多对多联系直接分解成一对多联系
例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系
★引进一个学生选课的联结记录,由3个数据项组成:
1.学号
2.课程号
3.成绩
4.表示某个学生选修某一门课程及其成绩
示意图如下:
在这里插入图片描述
网状模型的操纵与完整性约束:
网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束
●码:唯一标识记录的数据项的集合
●一个联系中双亲记录与子女记录之间是一对多联系
●支持双亲记录和子女记录之间某些约束条件
网状模型的优缺点:
优点:
–能够更为直接地描述现实世界,如一个结点可以有多个双亲
–具有良好的性能,存取效率较高
缺点:
–结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
–DDL、DML语言复杂,用户不容易使用
–记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

3. 关系模型(重点)

简介:
★关系数据库系统采用关系模型作为数据的组织方式
★1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
★计算机厂商新推出的数据库管理系统几乎都支持关系模型
关系模型的数据结构 :
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
例:学生登记表
在这里插入图片描述
关系模型的相关概念:
(1)关系(Relation),一个关系对应通常说的一张表
(2)元组(Tuple),表中的一行即为一个元组
(3)属性(Attribute),表中的一列即为一个属性,给每一个属性起一个名称即属性名
(4)主码(Key),也称码键。表中的某个属性组,它可以唯一确定一个元组
(5)域(Domain),是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
(6)分量,元组中的一个属性值。
(7)关系模式,对关系的描述
如:
关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年龄,性别,系名,年级)
注意:
关系必须是规范化的,满足一定的规范条件。
最基本的规范条件:关系的每一个分量必须是一个不可分的 数据项, 不允许表中还有表
如下图:图中工资和扣除是可分的数据项 ,不符合关系模型要求
在这里插入图片描述

关系和一般表格术语对比:
在这里插入图片描述
关系模型的操纵
(1)数据操作是集合操作,操作对象和操作结果都是关系
★ 查询
★ 插入
★ 删除
★ 更新
(2)存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”(ps:平时使用select语句查询,就可得到结果,而不必告诉DBMS怎么查)

关系模型的完整性约束:
★ 实体完整性
★ 参照完整性
★ 用户定义的完整性

关系模型的优缺点:
优点:
(1)建立在严格的数学概念的基础上
(2)概念单一
★实体和各类联系都用关系来表示
★对数据的检索结果也是关系
(3)关系模型的存取路径对用户透明
★具有更高的数据独立性,更好的安全保密性
★简化了程序员的工作和数据库开发建立的工作
缺点:
(1)存取路径对用户透明,查询效率往往不如格式化数据模型
(2)为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度

小结

成电复试重点

  1. 什么是完整性约束?
    答:完整性约束可确保数据库中的数据正确性和相容性,主要包括:实体完整性、参照完整
    性、用户自定义完整性。

  2. DBMS支持哪几种数据模型?
    答:常用的是层次模型,网状模型和关系模型(最重要)。新兴的是面向对象数据模型和对象关系数据模型。
    (1)层次模型: 层次模型是指用树行结构表示实体及其之间的联系,树中每一个节点代表一个记录类型,树状结构表示实体型之间的联系。在一个层次模型中的限制条件是:有且仅有一个节点,无父节点,此节点为树的根;其他节点有且仅有一个父节点。
    (2)网状模型:用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型
    网状模型的数据结构主要有以下两个特征:
    ★允许一个以上的节点无双亲。
    ★一个节点可以有多于一个的双亲。
    (3)关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系。现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。

ps:终于更新完了数据模型这一块内容,明天继续下一环节,各位复试加油,感觉不错就点个赞。

发布了9 篇原创文章 · 获赞 22 · 访问量 2825

猜你喜欢

转载自blog.csdn.net/baobaobao0000/article/details/104901977
今日推荐