- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据模型之逻辑模型
上次随笔主要是关于概念模型的问题,这一次学习一下逻辑模型的知识。在数据库领域中主要要有两种常用的逻辑模型,一种是非关系模型,一种是关系模型。其中属于前者的是层次模型和网状模型,属于后者的是关系模型、面向对象模型和对象关系模型。非关系模型的数据库在数据库刚刚兴起的年代也就是70年代到80年代初这一段时期比较流行,占主导地位。现在也已经逐渐被关系模型的数据库系统产品取代。层次模型是出现较早的一种公认的数据库管理系统数据模型。它是将数据组织成有向有序的树结构,并用“一对多”的关系联结不同层次的数据库。早在1968年IBM公司就推出了IMS的最初版本,之后,层次数据库管理系统得到了迅速发展,同时它也影响了其它类型的数据库管理系统,特别是网状系统的出现和发展。网状数据库是处理以记录类型为结点的网状数据模型的数据库。处理方法是将网状结构分解成若干棵二级树结构,称为系。系类型是二个或二个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其它称为成员记录类型。系主和成员之间的联系是一对多的联系。网状数据库的代表是DBTG系统。1969年美国的CODASYL组织提出了一份“DBTG报告”,后来根据DBTG报告实现的系统一般称 为DBTG系统。现有的网状数据库系统大都是采用DBTG方案的。DBTG系统是典型的三级结构体系:子模式、模式、存储模式。在随笔(1)提到过,在1970年IBM的研究员“关系数据库之父”埃德加·弗兰克·科德博士在刊物 《Communication of the ACM》上发表了题为“大型共享数据库的关系模型”的论文,首次提出了数据库的关系模型的概念,奠定了关系模型的理论基础。后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL语言。由于关系模型具有坚实的数学理论基础,所以一经推出就受到了学术界和产业界的高度重视和广泛响应,并很快成为数据库市场的主流。20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,数据库领域当前的研究工作大都以关系模型为基础。数据库系统本质上的区别就在于支持的数据模型不同。到底这三种模型有什么不同?我带着这个疑问去查找了很多资料。层次数据库系统是出现的最早的数据库产品,其支持的层次模型用树形结构表示各类实体以及实体间的联系。关于实体间的联系主要有三种,一对一联系、一对多联系和多对多联系,接下来研究一下基于层次模型的数据库是怎样表示这三种联系的。要解决这个问题,还得从数据模型三要素入手。层次模型如何表示实体间的联系主要靠的就是树形的数据结构。在这,跳出数据库范围去查找了一下树的定义。在数据结构课程中,树是这样定义的:是一种数据结构,它是由n(n=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(1)每个结点有零或多个子结点;(2)没有前驱的结点称为根结点;(3)每一个非根结点有且只有一个父结点;(4)除了根结点外,每个子结点可以分为m个不相交的子树。在层次模型树结构中,每个结点表示一个记录类型。记录之间的联系用结点之间的连线(有向边)表示,这表示父子之间的一对多的联系,当然,一对一的情况也就包含其中了。记录类型描述的是实体,而记录类型包含若干个字段,字段描述的就是实体的属性,都必须有不同的名字。记录类型可以定义排序字段,也就是标识字段,当且仅当码值唯一时可标识区分一个记录值。根据树的定义,任何一个给定的记录值只有按其路径查看时,才能看清其全部意义,没有无父亲记录值的子女记录值。到此,我比较好奇是怎样实现层次模型的,这里我找到了一个教员学生层次数据库模型并将此模型某一时刻对应的实体集之间的层次关系给出,如下图:上面的两张图让我想起了数据结构中的链表,每个结点由链表构成,相邻结点由指针链接次序实现。层次数据库物理层次估计就是这样实现的吧。这与后来知道的层次数据模型的存储结构的实现方法不谋而合。其实现方法主要有两种:一种是邻接法,按照层次树前序穿越的顺序将所有记录值依次邻接存放,通过物理空间位置相邻体现层次关系;一种是链接法,用指针反映数据之间的层次联系。这两种方法在数据结构一书中均有学习,此处就不再细究。来看一下层次模型怎样表示多对多的联系。在前面的随笔中提到过,多对多的联系可以分解为一对多的联系来理解,层次模型表示多对多联系就是这样做的。主要有两种方法,一种是冗余结点法,一种是虚拟结点法。先来看一例多对多的联系:采用冗余结点分解方法:采用虚拟节点分解方法:层
您可能关注的文档
- 申论热点农村离婚潮汹涌保卫“乡村爱情”成难题.doc
- 教育部参赛双曲线及其标准方程匡娇艳.doc
- 教育部参赛浮与沉林敬荣.doc
- 教育部参赛牡丹花的雕刻李伟.doc
- 教育部参赛生态激趣合作快乐周兴顺.doc
- 申论答题思路方法根据老叶录音整理.doc
- 教育部参赛美丽的丹顶鹤王成娟.doc
- 申论答题技巧万能模板.docx
- 教育部参赛葡萄沟许金红.doc
- 申论答题技巧:应用文写作指导之演讲稿.doc
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)