华中科技大学计算机学院(编辑修改稿)内容摘要:

体 ( 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%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。