数据模型与概念模型.ppt_第1页
数据模型与概念模型.ppt_第2页
数据模型与概念模型.ppt_第3页
数据模型与概念模型.ppt_第4页
数据模型与概念模型.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章数据模型与概念模型 理学院数学系 昆明理工大学现代教育技术中心 2020年2月6日 2 2 1信息的三种状态及其抽象过程 现实世界 现实世界中存在的可以相互区分的事物或概念 描述某一实体区别于其它实体的特性 具有相同特征或可用同样特征描述的实体的集合 信息世界 概念模型 机器世界 DBMS支持的数据模型 2020年2月6日 3 2 2概念模型 概念模型是现实世界到信息世界的第一层抽象 是数据库设计人员进行数据库设计的有力工具 也是数据库设计人员和用户之间进行交流的语言 故概念模型一方面应该具有较强的语义表达能力 能够方便 直接地表达应用中的各种语义知识 并应该简单 清晰 易于用户理解 2020年2月6日 4 2 2概念模型 一 基本概念 1 实体 客观存在并可相互区别的事物称为实体 人 事 物 概念或联系 2 属性 实体所具有的某一特征 一个实体可以由若干个属性来刻画 3 对象 具有相同属性 服从相同规则的同一类实体数据化的结果称为对象 例子 2020年2月6日 5 2 2概念模型 一 基本概念 4 主码 唯一标识实体的属性集 次码 实体集中不能唯一标识实体的属性或属性集 5 域 属性的取值范围称为属性的域 6 实体集 同型实体的集合称为实体集 7 联系 实体内部的联系是指组成实体的各属性之间的联系 实体之间的联系通常是指不同实体集之间的联系 2020年2月6日 6 2 2概念模型 学生实体 主码 姓名 学号 次码 性别 年龄 域 属性的取值范围 学号 学号由学校统一为同学们安排 绝对不会出现重复的现象 返回 2020年2月6日 7 2 2概念模型 二 两个实体型之间联系的类型 1 一对一联系 1 1 如果对于实体集A中的每一个实体 实体集B中至多有一个 或没有 实体与之联系 反之亦然 2020年2月6日 8 2 2概念模型 二 两个实体型之间联系的类型 2 一对多联系 1 n 如果对于实体集A中的每一个实体 实体集B中有n个 n 0 实体与之联系 反之 对于实体集B中的每个实体 实体集A中至多只有一个实体与之联系 学校与教师 2020年2月6日 9 2 2概念模型 二 两个实体型之间联系的类型 3 多对多联系 m n 如果对于实体集A中的每个实体 实体集B中有n个实体 n 0 与之联系 反之 对于实体集B中的每一个实体 实体集A中也有m个实体 m 0 与之联系 一对一联系是一对多联系的特例 而一对多联系又是多对多联系的特列 2020年2月6日 10 2 2概念模型 二 两个实体型之间联系的类型 两个以上的实体型之间也存在着一对一 一对多和多对多联系 1 多实体集之间的一对多联系若实体集E1 E2 En存在联系 对于实体集Ej j 1 2 i 1 i 1 n 中给定的实体 最多只和Ei中的一个实体相联系 则说Ei与E1 E2 Ei 1 Ei 1 En之间的联系是一对多的 2020年2月6日 11 2 2概念模型 二 两个实体型之间联系的类型 2 多实体集之间的多对多联系在两个以上的多个实体集之间 当一个实体集与其它实体集之间均存在多对多的联系 而其它实体集之间没有联系时 称为实体集之间的多对多联系 2020年2月6日 12 2 2概念模型 二 两个实体型之间联系的类型 同一实体集中的各实体之间也可以存在一对一 一对多 多对多的联系 2020年2月6日 13 2 2概念模型 三 概念模型的表示方法1976年Peter Chen提出实体 联系模型 E R联系模型 拥有很多支持者 不少研究人员对其进行了很多改进 现在已没有一个唯一的标准E R模型 常用的是E R图描述现实世界的概念模型 1988年提出了一种语义 对象模型 它的支持者较少 应用不是很广泛 但国外通常认为它比E R模型更丰富 易于使用 2020年2月6日 14 2 2概念模型 三 概念模型的表示方法E R图提供了表示实体型 属性和联系的方法 实体型 用矩形表示 矩形框内写明实体名 属性 用椭圆形表示 用无向边将其与相应的实体连接起来 联系 用菱形表示 框内写明联系名 并用无向边分别与有关实体联系起来 在边旁标上联系的类型 联系有属性 属性也要用无向边与该联系连接起来 2020年2月6日 15 2 2概念模型 三 概念模型的表示方法 2020年2月6日 16 2 2概念模型 三 概念模型的表示方法 2020年2月6日 17 2 3数据模型 一般情况下 数据模型是严格定义的一组概念的集合 这些概念精确的描述了系统的静态特性 动态特性和完整性约束条件 2020年2月6日 18 2 3数据模型 一 数据模型的三要素1 数据结构 数据结构是所研究的对象类型的集合 对象包括 一与数据类型 内容 性质有关的对象 网状模型中的数据项 记录 二是与数据之间联系有关的对象 网状模型中的系型 数据结构是刻画一个数据模型性质最重要的方面 通常按其数据结构的类型来命名数据模型 数据结构是对系统静态特性的描述 2020年2月6日 19 2 3数据模型 一 数据模型的三要素2 数据操作 是指对数据库中各种对象 型 的实例 值 允许执行的操作的集合 包括操作及有关的操作规则 主要有检索和更新 插入 删除 修改 两大类操纵 数据模型必须定义这些操纵的确切含义 操作符号 操作规则 优先级 以及实现操作的语言 数据操作是对系统动态特性的描述 2020年2月6日 20 2 3数据模型 一 数据模型的三要素3 数据的约束条件 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件 还应该提供定义完整性约束条件的机制 以反映具体应用所涉及的数据必须遵守的特定的语义约束条件 数据约束是一组完整性规则的集合 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则 用以限定符合数据模型的数据库状态以及状态的变化 以保证数据的正确 有效 相容 2020年2月6日 21 2 3数据模型 二 常见的数据模型1 非关系数据模型 层次模型 网状模型 2 关系模型 3 面向对象的数据模型 数据结构 数据操作和完整性约束条件三个方面的内容描述了一个数据模型 其中数据结构是刻画模型性质的最基本的方面 我们着重介绍三种模型的数据结构 2020年2月6日 22 2 3数据模型 三 层次模型层次数据模型是最早的数据模型 采用树型结构表示各类实体以及实体间的联系 是层次数据库系统的数据组织方式 典型代表是IBM公司的IMS数据库管理系统 2020年2月6日 23 2 3数据模型 三 层次模型1 数据结构在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型 1 有且只有一个结点没有双亲结点 该结点称为根结点 2 根以外的其他结点有且只有一个双亲结点 2020年2月6日 24 2 3数据模型 三 层次模型1 数据结构在层次模型中 每个结点表示一个记录类型 记录之间的联系用结点之间的连线 有向边 表示 联系是一对多关系 只能处理一对多关系 每个记录类型可包含若干个字段 记录描述实体 字段描述实体的属性 各个记录类型及其字段都必须命名 各个记录类型 同一记录类型中的各个字段不能同名 每个记录类型可以定义一个排序字段 也称为码字段 若排序字段的值唯一 则它能唯一标识一个记录值 层次模型中结点之间具有树结构的特征 2020年2月6日 25 2 3数据模型 三 层次模型1 数据结构 2020年2月6日 26 2 3数据模型 三 层次模型1 数据结构 返回 2020年2月6日 27 2 3数据模型 三 层次模型1 数据结构层次模型的一个基本特点是 任何一个给定的记录值只有按其路径查看时 才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在 2020年2月6日 28 2 3数据模型 三 层次模型2 多对多联系在层次模型中的表示将多对多联系分解成一对多联系 方法有两种 1 冗余结点法 通过增设两个冗余结点将一个多对多联系转为两个一对多联系 优点是结构清晰 允许结点改变存储位置 缺点是需要额外的存储空间 有潜在的不一致性 2 虚拟结点法 就是用一个指引元 指向所替代的结点 优点是减少存储空间的浪费 避免产生不一致性 缺点是结点改变存储位置可能引起虚拟结点中指针的修改 冗余结点法 虚拟结点分解法 2020年2月6日 29 2 3数据模型 三 层次模型2 多对多联系在层次模型中的表示 返回 2020年2月6日 30 2 3数据模型 三 层次模型2 多对多联系在层次模型中的表示 返回 2020年2月6日 31 2 3数据模型 三 层次模型3 层次模型的数据操纵与完整性约束数据操纵主要有查询 插入 删除和修改 进行这些操纵时要满足层次模型的完整性约束条件 插入时 如果没有相应的双亲结点值就不能插入子女结点值 删除时 如果删除双亲结点 则相应的子女结点值也同时删除 修改时 应修改所有相应记录 以保证数据的一致性 层次模型实例图 2020年2月6日 32 2 3数据模型 三 层次模型4 层次数据模型的存储结构层次数据库中不仅要存储数据本身 还要存储数据之间的层次联系 常用方法有两种 1 邻接法 按照层次树前序穿越的顺序把所有记录值依次邻接存放 即通过物理空间的位置相邻来体现层次顺序 2 链接法 用指引元来反映数据之间的层次联系 邻接图 链接图 2020年2月6日 33 2 3数据模型 三 层次模型4 层次数据模型的存储结构 返回 2020年2月6日 34 2 3数据模型 三 层次模型4 层次数据模型的存储结构 返回 2020年2月6日 35 2 3数据模型 三 层次模型5 层次模型的优缺点优点 1 层次数据模型本身比较简单 2 对于实体间联系是固定的 且预先定义好的应用系统 采用层次模型来实现 其性能优于关系模型 不低于网状模型 3 层次数据模型提供了良好的完整性支持 2020年2月6日 36 2 3数据模型 三 层次模型5 层次模型的优缺点缺点 1 现实世界中很多联系是非层次的 2 对插入和删除操作的限制比较多 3 查询子女结点必须通过双亲结点 4 由于结构严密 层次命令趋于程序化 2020年2月6日 37 2 3数据模型 四 网状模型典型的代表是DBTG系统 CODASYL系统 是20世纪70年代数据系统语言研究会CODASYL下属的数据库任务组DBTG提出的一个系统方案 它不是实际的软件系统 但它提出的基本概念 方法和技术具有普遍意义 HP公司的IMAGE Honeywell公司的IDS 2等都是采用DBTG系统 2020年2月6日 38 2 3数据模型 四 网状模型1 数据结构 基本特征 在数据库中 把满足以下两个条件的基本层次联系集合称为网状模型 1 允许一个以上的结点无双亲 2 一个结点可以有多于一个的双亲 2020年2月6日 39 2 3数据模型 四 网状模型1 数据结构 表示方法 网状模型中每个结点表示一个记录类型 实体 每个记录类型可包含若干各字段 属性 结点间的连线表示记录的类型之间一对多的父子联系 由于网状模型中这种联系可以不唯一 所以要为每个联系命名 并指出与该联系有关的双亲记录和子女记录 2020年2月6日 40 2 3数据模型 四 网状模型1 数据结构 网状模型的例子 2020年2月6日 41 2 3数据模型 四 网状模型1 数据结构 网状模型的例子 2020年2月6日 42 2 3数据模型 四 网状模型1 数据结构 实际商品化的网状数据库系统对数据结构都有不同的限制 例如HP公司的IMAGE3000数据库管理系统限制网状结构的层次是两层 这时需要把现实世界一般的网状结构转换为系统能处理的结构 2020年2月6日 43 2 3数据模型 四 网状模型2 数据操纵和完整性约束DBTG在DLL 数据定义语言 中提供了定义数据库完整性的若干概念和语句 1 支持记录码的概念 码是唯一标识记录的数据项的集合 2 保证一个联系中双亲记录和子女记录之间是一对多的联系 3 可以支持双亲记录和子女记录之间某些约束条件 2020年2月6日 44 2 3数据模型 四 网状模型3 存储结构关键是如何实现记录之间的联系 常用的方法是链接法 包括单向链接 双向链接等 还可以采用指引元阵列法 索引阵列法等依据具体系统不同而不同 2020年2月6日 45 2 3数据模型 四 网状模型 2020年2月6日 46 2 3数据模型 四 网状模型4 网状数据模型的优缺点优点 1 能够更好的描述现实世界 如一个结点可以有多个父亲 2 具有良好的性能 存取效率较高 缺点 1 结构比较复杂 随着应用环境的扩大 数据库的结构变得越来越复杂 不利于用户的掌握 2 其DDL DML语言复杂 用户不易使用 2020年2月6日 47 2 3数据模型 五 关系模型1970年美国IBM公司SanJose研究室的研究员E F Codd首次提出数据库系统的关系模型 开创了数据库关系方法和关系数据理论的研究 2020年2月6日 48 2 3数据模型 五 关系模型1 数据结构关系模型是建立在严格的数学概念的基础上的 在下一章说明 以用户观点来看 关系模型中数据的逻辑结构是一张二维表 由行和列组成 下面介绍有关术语 2020年2月6日 49 2 3数据模型 五 关系模型1 数据结构关系 relation 一个关系对应通常所说的一张表 元组 tuple 表中的一行即为一个元组 属性 attribute 表中的一列即为一个属性 每个属性要起一个属性名 主码 key 表中的某个属性组 它可以唯一确定一个元组 域 domain 属性的取值范围 分量 元组中的一个属性值 2020年2月6日 50 2 3数据模型 返回 2020年2月6日 51 2 3数据模型 五 关系模型1 数据结构关系模式 对关系的描述 一般表示为 关系名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论