|
|
|
|
移动端

2.3.2 基于记录的数据模型

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第2章数据库环境,本章的许多材料有关DBMS的重要背景信息。然而,对数据库系统领域不熟的读者可能会发现有一些材料在初次阅读时很难理解。不用太纠结,阅读了本书的大部分章节后可重读本章的这些内容。本节为大家介绍基于记录的数据模型。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-28 13:48

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


2.3.2 基于记录的数据模型

在基于记录的数据模型中,数据库由若干不同类型的固定格式记录组成。每个记录类型有固定数量的字段,每个字段有固定的长度。基于记录的逻辑数据模型基本有三类:关系数据模型、网状数据模型和层次数据模型。层次和网状数据模型几乎比关系数据模型早10年出现,因此它们与传统的文件处理的概念联系更紧密一点。

关系数据模型

关系数据模型基于数学上关系的概念。在关系模型中,数据和联系均以表格的形式表示,每个表格有若干具有唯一名称的列。图2-4展示了对应部分DreamHome案例的一个关系模式实例,表示了分公司和全体员工的信息。例如,员工John White是一位工资为30 000英镑的经理,他所工作的分公司(branchNo)是B005,从第一个表格可以看出,这个分公司位于伦敦的Deer大街22号。一定要注意,在Staff和Branch之间存在一个联系:一个分公司拥有多名员工。然而,在这两个表格之间没有显式的链接,只是发现Staff关系中的branchNo属性与Branch关系中的branchNo属性相同,这就可以确定它们之间存在一个联系。

关系数据模型要求用户将数据库只看作表格。然而,这种看法只适用于数据库的逻辑结构,也就是ANSI-SPARC体系结构中的外部层和概念层,而不适用于数据库的物理结构,物理结构可以使用多种不同的存储结构实现。在第4章将详细讨论关系数据模型。

网状数据模型

在网状数据模型中,数据被表示成一组记录(record),联系被表示成络(set)。与关系模型相比,络能更显式地为联系建模,具体实现时一般使用指针。记录被组织成一般的图结构,此时记录是图的节点(也称为段(segment)),络是图的边(edge)。图2-5表示了与图2-4具有相同数据的网状模式的实例。最流行的网状DBMS是Computer Associates的IDMS/R。在本书的网站上(URL见前言)更详细地讨论了网状数据模型。

层次数据模型

层次数据模型是网状模型的一种受限形式。与网状模型相同,数据被表示成一组记录,联系被表示成络。然而,层次数据模型规定一个节点只能有一个父节点。因此,层次数据模型被表示成树形结构,记录作为节点(也称为段),络作为边。图2-6表示了与图2-4具有相同数据的层次模式的实例。最著名的层次DBMS是IBM的IMS,尽管IMS也具有非层次特点。在本书的网站上(URL见前言)更详细地讨论了层次数据模型。

基于记录的(逻辑的)数据模型用来说明数据库的整体结构,以及实现的较高层描述。它的主要局限性在于,没有提供足够的机制以说明对数据的约束,而基于对象的数据模型虽缺少逻辑结构的描述,但提供了更多的语义成分以支持用户说明对数据的约束。

现代的商业系统大多数是基于关系模型的,早期的数据库系统是基于网状或者层次数据模型的。后两个模型要求用户具体了解所访问的物理数据库,而前者提供了更多的数据独立性。因此,关系系统对数据库处理采用说明性的方法(也就是仅说明需要检索什么数据),而网状和层次系统采用导航的方法(也就是说明如何检索数据)。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java for Flash动态网站开发手札

本书深入浅出地说明了如何利用Java、Flash及XML进行Flash富媒体应用程序的开发。 本书知识丰富,内容结构合理,包括:Flash影片应用程序与...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊