例: 课程 1 讲授 M N 教师参考书 供应商 P ==== 供应 M N 项目零件
职工 零件
1 M M N 组成 领导 2. 概念模型的表示方法
是现实世界和信息世界的第一级抽象应简单、方便、准确。
1976年P.P.S.chen提出(Entity-Relationship Approach)实体联系方法。简称E-R模型。有如下规定: 实体型:用矩形 实体名
属性:用椭圆 属性名
联系:用菱形 联系名
学号 学生 M 选修 N 课程 姓名 成绩 课程名
例:一个仓库可以存放多种零件,一种零件可存放在多个仓库。一个仓库有许多职工,一个职工只在一仓库工作,职工间有领导和被领导关系。供应商可以为多个项目提供多种零件。每个项目可以使用多个供应商的零件,每种零件有由不同的提供商提供不同的项目。
仓库 M N 零件 存放
1 P 工作 供应 M M N 职工 供应商 项目
1 M 领导
E-R图的方法与具体的DBMS支持的数据模型相独立,是各种数据模型的基础,可以转化为任一数据模型。
学分
作业:
课后习题 7、11、12、13
⒈⒉3常用的数据模型
三大经典数据模型 层次 非关系模型 网状 关系 面向对象数据模型 ·基本层次联系
两记录型(非关系模型中)及他们之间1:M(含1:1)的联系,称为基本层次联系。
在非关系模型中,数据结构的单位是基本层次联系
双亲 Ri Lij (对于M:N,它转化多个1:M)
Rj 子女
·三大经典模型的特点
面向计算机,能有效的存储和处理数据。 而概念模型是面向用户是语义模型。
1.2.4 层次模型
是DBMS中最早出现的数据模型。1968年IBM推出的IBM是最早的RDBMS。用树型结构来表示各类实体及实体间的联系。
1.数据结构
满足以下两个条件的基本层次联系的集合为层次模型。 ⑴有且只有一个结点无父结点,称之为根结点。 ⑵根结点以外其他结点有且只有一个父结点。 ?每个结点表示一个记录类型(实体)
?记录间的联系用有向线(1:M)仅表示1:M。 R1 R2 R3 R4 R5 ?层次模型是一棵倒置的树。 ?层次模型中双亲结点是唯一的,只要指出他的父结点就可以表示层次模型结构。
系 学生 教研室 教师 2、M:N在层次模型中的表示及其他
(1) 冗余结点特点: 学生 课程 学生 + M 结构清晰、浪费空间
课程 学生 选修 N 虚拟结点特点: 学生 课程 课程 + 用指引元代替冗余结点 课程 学生
(2)树中实体间的联系是单向的
父结点指向子结点,对于父子间存在多于一种以上的联系,影响了这种情况的建模
工人 工人 工人
使 维 使 维 用 修 用 修 设备 设备 设备
(3)对于非树的网状结构
① ①
② ③ ② ③ ④ ⑤ ⑥ ④ ⑤ ⑤ ⑥ 冗余接点 3.数据操纵与完整性约束条件 数据操纵 查询
增、删、改 增:要有双亲
删:双亲删、子女则无 改:保证一致性 4、存储结构
不仅存储数据内容,还要存数据之间的层次联系。 ⑴邻接法
按照层次树前序穿越的顺序把所有记录依次邻接存放。(自顶向下,自左向右)层次序列顺序
A A1 B1 B2 B3 C1 C2 C3 C4 C5 C6 C7 C8 A1B1C1C2C3 B2C4C5 B3C6C7C8 A2… ⑵链接法
用指引元来反映数据间的层次联系。 ?子女—兄弟指引元
每个记录设两个指引元,一个指向最大(最左)子女,一个指向最邻近的兄弟