数据库ER图模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以使模型更清晰
如电话号码=区号+本地号码
学生
出生日=年+月+日
姓名
1NF Vs 嵌套关系
区号
精品课件
年龄 本地号码
属性的类型
单值属性
每一个特定的实体在该属性上的取值唯一
如学生的学号,年龄、性别、系别等
多值属性
学号 所选课程 联系电话
多某如值个 学依特 生赖定(的学实号体,000000111在所该选属课数 物 数性程学 理 学 上,的联115有系226337448多电于话一)个的取值
与 “数据库基础”参与了联系“选修” 如果实体集E中的每个实体都参与到联系集R中的
至少一个联系,则称E全部参与R 如果实体集E中只有部分实体参与到联系集R的联
系中,则称E部分参与R 如“职工”与“部门”之间的“经理”联系,
“职工”实体集部分参与,而“部门”实体集完 全参与
精品课件
参与在E-R图中的表示
精品课件
小试牛刀
A
B
C
1
2
3
2
3
4
1
4
5
3
2
6
有哪些超码?有哪些候选码?
精品课件
基本E-R图要点
例:学生选修课程
姓名
学号
系别
用椭圆表示实 体的属性
课程名 先修课
学分
用无向边 学生
把实体与
选修
课程
其属性连 接起来
联系的 数量
用矩形表示实
成绩
将参与联系的实 体用线段连接
体集,在框内
用菱形表示实
写上实体名
m
A 多方实体集
R
1
B
单方实体集
精品课件
联系的种类
二元联系集
设有两个实体集E1, E2 , 一对一
E1中的一个实体与E2中至多一个实体相联系,并且 E职2中工的一个实管体理与E1中至部多门一个实体相联系 注:一对一不是一一对应
精品课件
联系的种类
一对多 E1中的一个实体与E2中n(n≥0)个实体相联系, 并且 E2中的一个实体与E1中至多一个实体相联系
提纲
数据库设计过程 基本概念 映射的基数 弱实体集 扩展ER特性 ER模型设计要点 概念数据库设计过程 E-R模型向关系模式的转换
精品课件
ER模型 /ODL
数据库设计过程
需求分析 概念数据库设计 逻辑数据库设计 物理数据库设计
精品课件
确定存储哪些数据, 建立哪些应用,常 用的操作及对象有
D5678 7000
1
08.10.12 3000
每个“D5贷678款”7的00各0 个“2还款”08.1不1.1同2 ,2但000不同“贷
款”之D间567的8 “还70款00 ”却可3 能相08同.12.12 2000 精品课件
弱实体集
还款号 还款金额 还款日期
贷款号 贷款金额
还款
隶属
贷款
还款的所有属性都不能作为主码
项目名称、项目类型、起始年份、资助额;学
生有学号、学生名、年龄、学位。一个教工可
以负责多个项目;每个项目只能有一个负责人;
一个老师可以参与多个项目;一个学生只能参
与一个项目;一个项目可以有多个学生和老师
参与。
精品课件
设计实例
m 教师
1
教工参 与
负责
n
项目
m
1
学生参 与 n
学生
精品课件
扩展E-R表达
E1 , … , Ei-1 , Ei+1 , …,En的一对多联系
工种
职工
工作
部门
精品课件
联系的种类
职工
工种 工作
部门
精品课件
联系的势
教师 (0,2) 教授 (1,4) 课程 学生 (4,6) 选修 (10,50) 课程
势表达了一区个分实强体制出性现和可在选联性系联中系的次数 精品课件
复合实体
产品(名称,价格),公司(名称,地址,联系 电话),“产品”与“公司”之间有“制造”联 系,“产品”是一个弱实体集
精品课件
弱实体集
弱实体集与存在依赖
弱 实 体 集 必 然 存 在 依 赖 于 强 实 体 集 ( Strong Entity Set)
存在依赖并不总会导致一个弱实体集,从属实体 集可以有自己的主码
教师
班主任
学生
精品课件
联系的种类
多对多
E1中的一个实体与E2中n(n≥0)个实体相联系, 并且E2中的一个实体与E1中m(m≥0)一个实体相 联系
学生
选修
课程
精品课件
联系的种类
一个实体集内的递归联系
一对一
ei E,至多存在一个e妻j子 E与之相联系(j≠i) 职工 配偶
丈夫
一对多
属下
职工
哪些等
对需求分析所得 到数据的更高层
的抽象描述
将概念模型所描 述的数据映射为
某个特定的 DBMS模式数据
基本概念
历史
E-R模型:Entity-Relationship Model 1976年,P.P.S.Chen提出E-R模型,用E-R图
来描述概念模型
观点
世界是由一组称作实体的基本对象和这些对象之 间的联系构成的
精品课件
属性在E-R图中的表示
姓名 选修课程
表示要点
学生
多值属性用双椭圆表示 姓名 平均成绩 系别
派生属性用虚椭圆表示 精品课件
学生
联系的种类
联系的种类
实体之间的联系的数量,即一个实体通过一个联 系集能与另一实体集相关联的实体的数目
可以有一对一的(1:1),一对多的(1:m),多 对多的(m:n)几种情况
精品课件
属性的类型
派生(Derived)属性与基属性
可以从其他相关的属性或实体派生出来的属性值 如学生(学号,姓名,平均成绩),选课(学号,
课程号,成绩),则平均成绩可由学生所选课程 的总成绩除以课程总数来得到。称平均成绩为派 生属性,而成绩为基属性,或存储属性 数据库中,一般只存基属性值,而派生属性只存 其定义或依赖关系,用时再从基属性中计算出来
有若干个“还款”实体与之关联,“还款”实体 存在依赖于“贷款”实体
全部参与与存在依赖
设A R B,若A存在依赖于B,则A全部参与联系R 精品课件
基本概念
角色(Role)
实体在联系中的作用称为实体的角色 当同一个实体集不止一次参与一个联系集时,为
区别各实体的参与联系的方式,需要显式指明其 角色 如学生与学生间的班长关系,职工与职工之间的 经理关系,课程之间的先修关系
学生
选修
课程
复合实体:一个M:N联系分解成两个1:M
学生
选修
课程
学号
课程号 成绩
精品课件
多个角色 学生 选修 课程 学生 参加 项目
精品课件
多个角色 学生 选修 课程 参加 项目
精品课件
多个角色 学生 班长 学生 学生 班长
精品课件
设计实例
考虑一个学校数据库,它要存储以下信息:教
师有教工号、教工名、职称;项目有项目号、
精品课件
角色在E-R图中的表示
管理
职员
雇佣
表示要点
工作
当需要显式区分角色时,在连接菱形和矩形的线 上加上说明性标注以区别不同的角色
精品课件
属性的类型
简单属性
学生
不可再分的属性
姓名
电话号码
年龄
如学号、年龄、性别
复合(Composite)属性 区号 本地号码
可以划分为更小的属性
把相关属性聚集起来以反映更高层次的概念,可
体间的联系
精品课件
基本E-R图要点
姓名 学号 系别 课程名 先修课 学分
码 实在体E-学集R图属生中性的中作表为示选主码修的一部分的课属程性用下划线
来标明 精品百度文库件
基本概念
参与(Participation)
实体集之间的关联称为参与,即实体参与联系 如王军选修“数据库基础”,表示实体“王军”
精品课件
联系种类在E-R图中的表示
表示要点
用箭头或线段来表示联系的种类
A 多方实体集
R
B
单方实体集
每个B可以与多个A 发生联系
每个A只与一个B 发生联系
精品课件
联系种类在E-R图中的表示
A 多方实体集
R
B
单方实体集
一个A只能参与到 一个联系中
一个B可以参与 到多个联系中
精品课件
联系种类在E-R图中的表示
同型实体的集合称为实体集
如全体学生
精品课件
基本概念
联系(Relationship)
实体之间的相互关联 如学生与老师间的授课关系,学生与学生间有班
长关系 联系也可以有属性,如学生与课程之间有选课联
系,每个选课联系都有一个成绩作为其属性
元或度(Degree)
参与联系的实体集的个数称为联系的元 如学生选修课程是二元联系,供应商向工程供应
如实体集信用卡(信用卡号,客户帐号,金额),
它存在依赖于客户帐号实体集,但信用卡有自己
的主码信用卡号
精品课件
弱实体集
分辨符(Discriminator)
弱实体集中用于区别依赖于某个特定强实体集的 属性集合。也称作部分码(partial key) 如“还款”中的还款号,Logins中的用户名
弱实体集的主码由该弱实体集所存在依赖的强实 体集的主码和该弱实体集的分辨符组成
如果一个实体集的所有属性都不足以形成主码, 则称这样的实体集为弱实体集
弱实体集与其拥有者之间的联系称作标识性联系 (identifying relationship)
弱实体集与强实体集之间是一对多的联系
精品课件
弱实体集
弱实体集示例
Email = 用户名 + 主机名 如liyuming@pku.edu.cn Logins(passwd文件)实体集记录本机用户名及 其口令,用户名在不同主机上可以相同 Logins是一个弱实体集
如“还款”主码=贷款号+还款号 Logins主码 = 用户名(在所在主机上唯一)+ 主机IP
地址(在全球唯一) “产品”主码 = 产品名称 + 公司名称
精品课件
弱实体集
精品课件
基本概念
实体(Entity)
客观存在并可相互区分的事物叫实体 如学生张三、工人李四、计算机系、数据库概论
属性(Attribute)
实体所具有的某一特性 一个实体可以由若干个属性来刻画 例如,学生可由学号、姓名、年龄、系等组成
域(Domain)
属性的取值范围 例如,性别的域为(男、女),月份的域为1到
弱实体集 特殊化 概括 聚集
精品课件
弱实体集
贷款号 贷款金额 还款号 还款日期 还款金额
示例 D1234 5000
1
08.10.12 3000
贷款(贷D1款234号,5金000额),2对应0多8.1个1.1还2 款1(000还款号,
还款日D期123,4 金额50)00
3
08.12.12 1000
姓名 职工号 工种 部门号 部门名 地址
职工 管理 部门
“职工”部分 参与联系“经 理”
用双线连接联系 与完全参与的实体
精品课件
“部门”完全 参与联系“经
理”
基本概念
存在依赖(Existence Dependency)
如果实体x的存在依赖于实体y的存在,则称x存在 依赖于y
y称作支配实体,x称作从属实体 如果y被删除,则x也要被删除 考虑分期付款的例子,对每一个“贷款”实体,
12的整数 精品课件
基本概念
实体型(Entity Type)
实体名与其属性名集合共同构成实体型
例,学生(学号、姓名、年龄、性别、系、年级)
注意实体型与实体(值)之间的区别,后者是前 者的一个特例
如(9808100,王平,21,男,计算机系,2)是一 个实体
实体集(Entity Set)
零件则是三元联系 精品课件
基本概念
码(Key)
能唯一标识实体的属性或属性组称作超码 超码的任意超集也是超码 其任意真子集都不能成为超码的最小超码称为候
选码 从所有候选码中选定一个用来区别同一实体集中
的不同实体,称作主码 一个实体集中任意两个实体在主码上的取值不能
相同 如学号是学生实体的码 通讯录(姓名,邮编,地址,电话,Email,BP)
领导
领导
多对多
母零件
零件 构成
子精零品件课件
联系的种类
多个实体集间联系的情况
一对多 设 有 n 个 实 体 集 E1 , E2 , … , En , 若 对 于 E1 , … , Ei-1, Ei+1, … ,En , 分 别 给 定 实 体
e1 , … , ei-1 , ei+1 , … , en 时,至多有一 个实体ei ∈ Ei与之相联系,则称有一个从Ei到
精品课件
弱实体集
还款号 贷款号 还款金额 贷款号 贷款金额
还款金额 还款
隶属
贷款
贷款号冗余
精品课件
还款号
弱实体集
还款金额
贷款号 贷款金额
还款日期
贷款
支付
账户 还款概念消失了 还款会和帐户发生支付联系
精品课件
弱实体集
帐户
支付
贷款号
贷款
贷款金额
还款号
还款
还款金额
精品课件
还款日期
弱实体集
弱实体集(Weak Entity Set)
001
物理
5678
精品课件
属性的类型
NULL属性
null表示“无意义”,当实体在某个属性上没有 值时设为null 如通讯录(姓名,email,电话,BP),若某人 没有email地址,则在email属性上取值为null
null表示“值未知”,即值存在,但目前没有获 得该信息 如职工(姓名,部门,工种,身份证),如果目 前不知道职工身份证号码,则设身份证值为null