- 1、本文档共118页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章内容: ?传统数据模型 ?关系数据模型 ? 对传统数据模型的评价 ? E-R数据模型 ? UML E-R数据模型 数据模型可分为两类: ?一类是概念数据模型,是现实世界的第一层抽象。也是一种高层数据模型。 ?概念模型用来表示现实世界中实体以及实体间的联系。强调语义表达能力。 因此,模型中的概念应该简单、清晰、易于用户理解。概念模型是用户和数据库人员之间进行交流的工具。最著名的概念模型是“实体-联系(E-R)模型(或简称E-R模型)”。 ?另一类是直接面向数据库逻辑结构的数据模型,称为“基本数据模型”或“结构数据模型”,是现实世界的第二层抽象,是一种低层模型。例如, 层次数据模型(或简称层次模型)、网状数据模型(或简称网状模型)、关系数据模型(或简称关系模型)、面向对象数据模型(或简称对象模型)。这类模型有严格的形式化定义, 便于在计算机系统中实现。 ?关系模型是一种低层模型,它是用表的集合来表示数据和数据间的联系。多数数据库管理系统都是基于关系模型的。 ?在数据库应用中,通常是先用E-R模型在高层对数据建模,然后再将其转换为低层的关系模型。 2.1 传统数据模型 2.1.1层次数据模型 (hierarchical data model) ?层次数据模型是一种用树型(层次)结构表示数据及数据间联系的数据模型。 特点:是以记录为节点的有向树,且满足以下条件: ?有且仅有一个节点没有双亲节点,即根节点。 ?其他节点有且仅有一个双亲节点。 ?记录和字段 ?记录是用来描述某个事物或事物间关系的命名的数据单位,也是存储的数据单位。一个记录包含若干字段。 ?每个字段也是命名的,字段只能是简单数据类型(整数、实数、字符串等)。 ?一个系通常有若干个班级,系和班级的这种“一对多(1:N)”关系在层次数据模型中用双亲子女关系(PCR)表示。图中“1”和“N”表示“1个”系有“多个”班级。 假如,计算机系的学生由4个班级组成,则图表示一个双亲子女实例。 ?利用双亲子女关系,可以构成层次数据模式。 非层次关系表示问题。 ?M:N 假设一个学生可以选修多门课程,而一门课程可以由多个学生选修,那么学生和课程之间的这种选修关系是一种“多对多(M:N)”的联系(非层次关系)。 ? 在层次数据模型中M:N也用双亲子女关系(PCR)表示。由于不允许一个记录有多个双亲,需要复制记录,导致冗余。如下图: ?一个记录是两个以上PCR的子女 用虚拟记录表示前面的联系,解决了冗余。 ?层次数据模型常用的实现方法: ?邻接法 ?链接法 ?层次数据模型的优点: ?能直观地描述客观世界; ?记录之间的联系通过指针来实现,查询效率较高。 ?层次数据模型的缺点: ?只能直接表示一对多的联系,不能直接表达多对多的联系; ?数据的查询和更新较复杂。(如查询子女结点必须通过双亲结点) 2.1.2 网状数据模型(network data model) ?特点:网状数据模型是一种用有向图表示数据及数据之间联系的数据模型。其中每个结点表示一个记录类型(实体) ,每个记录类型可有若干个字段(实体的属性) ;结点间的连线表示记录类型之间的一对多联系(箭头表示从箭尾的记录类型到箭头的记录类型间联系是1:N联系)。 ? 网状数据模型常用的实现方法: ?单向链接、双向链接、环状链接、向首链接等。 ?网状数据模型的缺点: ?结构较复杂,且随着应用环境扩大,数据库结构将变得更复杂,不便于修改数据库的结构,不利于最终用户掌握; ?网状模型的DDL、DML复杂,编写应用程序困难,用户不易掌握和使用。 ?关系数据模型是目前使用最广泛的一种数据模型。利用二维表的集合来表示数据和数据间的联系。表中的每一行称为一个元组(对应记录),表中的每一列称为一个属性(对应字段),如图所示。 ?关系数据库中的数据是以表的形式存放,一个关系对应一张表,表中的每一行对应不同的记录,表中的每一列对应不同的属性。 ?表中不允许有重复记录,列名惟一,行序和列序可以任意。 注: ? 参与并、差操作的两个关系的元组必须限制为同类型的(具有相同的目且对应的属性域相同); ? 关系专用操作优先级高于集合操作; ? 一元操作优先级高于二元操作。 ?笛卡尔积操作 ?可以证明:关系代数操作集{σ、?、∪、-、×}是完备的,{σ、?、∪、-、∞}也是完备的。 ?完备指任何其它关系代数操作都可以用这5种操作来表示。 ?若一个关系DBMS支持{σ、?、∪、-、∞},称此DBMS是完备的(relation
文档评论(0)