华中科技大学计算机学院(编辑修改稿)内容摘要:
体 ( m≥0) 与之联系 , 则称实体集 A与实体 B 具有多对多联系 , 记为 m:n 课程 选修 学生 m n m:n联系 An Introduction to Database Systems 三、两个以上实体型之间的联系 两个以上实体型之间一对多联系 若实体集 E1, E2, ..., En存在联系,对于实体集 Ej( j=1, 2, ..., i1, i+1, ..., n)中的给定实体,最多只和 Ei中的一个实体相联系,则我们说 Ei与 E1,E2, ..., Ei1, Ei+1, ..., En之间的联系是一对多的 An Introduction to Database Systems 两个以上实体型之间的联系 (续 ) 实例 课程、教师与参考书三个实体型 一门课程可以有若干个教师讲授, 使用若干本参考书, 每一个教师只讲授一门课程, 每一本参考书只供一门课程使用 课程 讲授 教师 1 m 两个以上实体型间 1:n联系 参考书 n An Introduction to Database Systems 两个以上实体型之间的联系 (续 ) 多个实体型间的一对一联系 两个以上实体型间的多对多联系 实例 供应商、项目、零件三个实体型 一个供应商可以供给多个项目多种零件 每个项目可以使用多个供应商供应的零件 每种零件可由不同供应商供给 供应商 供应 项目 m p 两个以上实体型间 m:n联系 零件 n An Introduction to Database Systems 四、单个实体型内的联系 一对多联系 实例 职工实体型内部具有领导与被领导的联系 某一职工(干部)“领导”若干名职工 一个职工仅被另外一个职工直接领导 这是一对多的联系 一对一联系 请举例 职工 领导 1 n 单个实体型内部1:n联系 An Introduction to Database Systems 单个实体型内的联系 实体型 1 联系名 m n 单个实体型内的m:n联系 多对多联系 请举例 An Introduction to Database Systems 五、 概念模型的一种表示方法 实体-联系方法 (ER方法 ) 用 ER图来描述现实世界的概念模型 ER方法也称为 ER模型 An Introduction to Database Systems ER图 实体型 用矩形表示,矩形框内写明实体名。 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来 学生 教师 学生 学号 年龄 性别 姓名 An Introduction to Database Systems ER图 (续 ) 联系 联系本身 : 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1: 1:n或 m:n) An Introduction to Database Systems 联系的表示方法 实体型 A 联系名 实体型 B 1 1 1:1联系 实体型 A 联系名 1 n 1:n联系 实体型 A 实体型 B 联系名 m n m:n联系 实体型 B An Introduction to Database Systems 联系的表示方法示例 班级 班级 班长 班长 1 1 1:1联系 课程 选修 学生 m n m:n联系 班级 组成 学生 1 n 1:n联系 An Introduction to Database Systems 联系的属性 课程 选修 学生 m n 成绩 联系的属性 : 联系本身也是一种实体型,也 可以有属性。 如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 An Introduction to Database Systems 六、一个实例 用 ER图表示某个工厂物资管理的概念模型 实体 仓库: 仓库号、面积、电话号码 零件 :零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、帐号 项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称 An Introduction to Database Systems 一个实例 实体之间的联系如下: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。 仓库和零件具有多对多的联系。 用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。 职工实体型中具有一对多的联系 (3)职工之间具有领导 被领导关系。 即仓库主任领导若干保管员。 (4)供应商、项目和零件三者之间具有多对多的联系 An Introduction to Database Systems 一个实例 An Introduction to Database Systems 数据模型 两大类数据模型 数据模型的组成要素 概念模型 最常用的数据模型 层次模型 网状模型 关系模型 An Introduction to Database Systems 最常用的数据模型 非关系模型 层次模型 (Hierarchical Model) 网状模型 (Network Model) 关系模型 (Relational Model) 面向对象模型 (Object Oriented Model) 对象关系模型 (Object Relational Model) An Introduction to Database Systems 层次模型 层次模型是数据库系统中最早出现的数据模型 层次数据库系统的典型代表是 IBM公司的 IMS( Information Management System)数据库管理系统 层次模型用 树形结构 来表示各类实体以及实体间的联系 An Introduction to Database Systems 一、 层次数据模型的数据结构 层次模型 满足下面两个条件的基本层次联系的集合为层次模型 1. 有且只有一个结点没有双亲结点 , 这个结点称为根结点 2. 根以外的其它结点有且只有一个双亲结点 层次模型中的几个术语 根结点 , 双亲结点 , 兄弟结点 , 叶结点 An Introduction to Database Systems 层次数据模型的数据结构 (续 ) R 1 根结点 R 2 兄弟结点 R 3 叶结点 R 4 兄弟结点 R 5 叶结点 叶结点 图 一个层次模型的示例 An Introduction to Database Systems 层次数据模型的数据结构 (续 ) 层次模型的特点: 结点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型可以定义一个排序字段 , 也称为码字段 任何记录值只有按其路径查看时 , 才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在 An Introduction to Database Systems 层次数据模型的数据结构 (续 ) 图 教员学生层次数据库模型 根结点 记录型系的子女结点 记录型教员的双亲结点 叶结点 叶结点 字段 An Introduction to Database Systems 层次数据模型的数据结构 (续 ) 图 教员学生层次数据库的一个值 An Introduction to Database Systems 二、多对多联系在层次模型中的表示 多对多联系在层次模型中的表示 用层次模型 间接 表示多对多联系 方法 将多对多联系 分解 成一对多联系 分解方法 • 冗余结点法 • 虚拟结点法 An Introduction to Database Systems 三、层次模型的数据操纵与完整性约束 层次模型的数据操纵 查询 插入 删除 更新 An Introduction to Database Systems 层次模型的数据操纵与完整性约束(续) 层次模型的完整性约束条件 无相应的双亲结点值就不能插入子女结点值 如果删除双亲结点值,则相应的子女结点值也被同时删除 更新操作时,应更新所有相应记录,以保证数据的一致性 An Introduction to Database Systems 四、层次数据模型的存储结构 邻接法 按照层次树前序遍历的顺序把所有记录值依次邻接存 放,即通过物理空间的位置相邻来实现层次顺序 An Introduction to Database Systems 层次数据模型的存储结构(续) 图 层次数据库及其实例 … … A2 C8 C6 C4 B6 C9 C2 B4 C14 C7 C5 C3 B1 A1 图 邻接法 按邻接法存放图 ( b) 中以根记录 A1为首的层次 记录实例集 按邻接法存放图 ( b)中以根记录 A1为首的层次记录实例集 An Introduction to Database Systems 层次数据模型的存储结构(续) 链接法 用指引来反映数据之间的层次联系 子女-兄弟链接法 层次序列链接法 An Introduction to Database Systems 层次数据模型的存储结构(续) 子女 兄弟链接法 每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟 An Introduction to Database Systems 层次数据模型的存储结构(续) 层次序列链接法 按树的前序穿越顺序链接各记录值 An Introduction to Database Systems 五、层次模型的优缺点 优点 层次模型的数据结构比较简单清晰 查询效率高 , 性能优于关系模型 , 不低于网状模型 层次数据模型提供了良好的完整性支持 缺点 多对多联系表示不自然 对插入和删除操作的限制多,应用程序的编写比较复杂 查询子女结点必须通过双亲结点 由于结构严密,层次命令趋于程序化 An Introduction to Database Systems 数据模型 两大类数据模型 数据模型的组成要素 概念模型 最常用的数据模型 层次模型 网状模型 关系模型 An Introduction to Database Systems 网状模型 网状数据库系统采用 网状模型 作为数据的组织方式 典型代表是 DBTG系统: 亦称 CODASYL系统 70年代由 DBTG提出的一个系统方案 奠定了数据库系统的基本概念 、 方法和技术 实际系统 Culli Software IDMS Univac公司的 DMS1100 Honeywell公司的 IDS/2 HP公司的 IMAGE An Introduction to Database Systems 网状模型 满足下面两个条件的基本层次联系的集合: 1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲。华中科技大学计算机学院(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。