关系数据库设计与应用(工作手册式) 课件 第2章 实体-联系模型_第1页
关系数据库设计与应用(工作手册式) 课件 第2章 实体-联系模型_第2页
关系数据库设计与应用(工作手册式) 课件 第2章 实体-联系模型_第3页
关系数据库设计与应用(工作手册式) 课件 第2章 实体-联系模型_第4页
关系数据库设计与应用(工作手册式) 课件 第2章 实体-联系模型_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第2章

实体-联系模型工业和信息化部“十四五”规划教材

浙江省高职院校“十四五”首批重点教材《关系数据库设计与应用》(工作手册式)

配套课件学习目标LEARNINGTARGET掌握实体-联系模型中所涉及的基本概念;掌握实体-联系的表示方法;熟知E-R模型设计的步骤。知识目标能力目标能判断实体-联系模型中的码;能应用E-R符号绘制E-R图;能进行简单的E-R模型设计。思政目标培养学生严谨、细致的做事态度;让学生了解数据库从业者应具备的职业道德和职业操守。主要内容MAINCONTENTS2.1实体-联系模型的基本要素2.2实体-联系图表示2.3E-R模型的设计*2.4E-R模型设计综合实例实体-联系模型的基本要素1实体-联系模型的基本要素实体(Entity):客观存在并可相互区别的事物。实体集(EntitySet):同类型实体的集合称为实体集。实体型(EntityType):用于描述同一实体集共同特征的实体名及其属性名的集合。实体值(EntityValue):实体集中的某个实体的值即为实体值。属性(Attribute):属性是指实体的特征和性质。域(Domain):属性的取值范围称为属性的域。联系(Relationship):反映实体内部的联系,或实体之间的联系。联系集(RelationshipSet):是指同类联系的集合。角色(Role):实体在联系中的作用称为角色。度(Degree):参与联系集的实体集的数目成为联系集的度。码(Key):唯一标识实体的属性或属性集称为码。★实体-联系模型的基本要素实体(Entity):客观存在并且可区别于其它对象的事物。实体可以是具体的对象。如:一所学校、一个班级、一位学生等。实体可以是抽象的事件、抽象的概念等对象。如:一次考试、一份贷款、一个账户等。实体可以是有形的对象。如:一个学生、一张课桌等。实体可以是无形的对象。如:思想品德的好与坏、性格等。实体与实体集实体集(EntitySet):同类型实体的集合称为实体集。所有的大学生构成一个“学生”实体集。所有的课程构成一个“课程”实体集。所有的教师构成一个“教师”实体集。大千世界思考题:请观察教室里有哪些实体集?实体-联系模型的基本要素实体与实体集学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西实体学生实体集例子:以学生实体为例实体-联系模型的基本要素实体型(EntityType):即实体名及其属性名的集合。实体型和实体值学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西实体型学生(学号,姓名,性别,出生年月,籍贯)学生实体-联系模型的基本要素实体值(EntityValue):实体集中的某个实体的值即为实体值。

实体型和实体值学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西请分析上图中有几个实体值?4个实体值实体-联系模型的基本要素属于同一实体集的实体,它们的实体型是相同的,但实体值是不同的。实体型和实体值学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西实体型相同实体值各不相同即:代表4个不同的学生学生实体-联系模型的基本要素属性(Attribute):属性是指实体的特征和性质。一个实体可以由若干个属性来刻画。如:学生的属性有“学号、姓名、性别、出生年月、籍贯”等。合同的属性有“甲方、乙方、合同名称、公证部门”等。属性和域域(Domain):属性的取值范围称为属性的域。如:学生(学号,姓名,性别,出生年月)学号:是指定长度。姓名:是指特定长度的字符串。性别:只能是只有两种状态。学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西指定长度特定字符串两种状态思考题:请分析“成绩”属性的值域?实体-联系模型的基本要素1.简单属性和复合属性。简单属性:不能划分为更小的部分。复合属性:是可以再划分为更小的部分。属性类型曾用第一个名姓名曾用第二个名现在姓名复合属性成分属性地址街道城市省国家街道名街道号实体-联系模型的基本要素属性类型2.单值属性和多值属性。单值属性如一个学生只对应一个学号,所以“学号”就是单值属性。多值属性:如学生档案中有一个“联系电话”属性,而每个学生都有大于等于一个号码,这样的属性就是多值属性。实体-联系模型的基本要素属性类型3.派生属性。这类属性的值可以从其他相关属性或实体派生出来。如:学生实体集有一个“出生年月”,表示学生何时出生,我们可以通过该属性的值计算出年龄属性的值,因此年龄就是派生属性。而出生年月就是基属性,派生属性的值不存储,但在需要是可以被计算出来。出生年月年龄基属性派生属性思考题:能否将年龄作为基属性,出生年月作为派生属性?实体-联系模型的基本要素属性类型4.NULL属性★。当我们暂时不知道某个属性的值,或属性值尚未确定时,可以将属性值设为空(NULL)。我是刚分配来的新教师,还没有参加过职称评定,我的职称属性是NULL。实体-联系模型的基本要素联系(Relationship):反映实体内部的联系,或实体之间的联系。每个联系都有一个名字,每个联系都可以具有描述性属性。联系与联系集序号课程名称授课教师学分1电子技术张三42大学英语李四33高等数学赵武44关系数据库林燕4学生课程例子:学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西江星学习高等数学实体-联系模型的基本要素联系与联系集联系集(RelationshipSet):是同类联系的集合。序号课程名称授课教师学分1电子技术张三42大学英语李四33高等数学赵武44关系数据库林燕4学号姓名性别出生年月籍贯2021210021江星男2002-12-01内蒙古2021210022赵盼男2002-10-12河南2021210023刘鹏男2002-09-10浙江2021210024李鑫女2003-04-10江西学生课程例子:“学习”联系集实体-联系模型的基本要素角色实体在联系中的作用称为角色。实体集内部的联系要标明角色。如“学生”内部的“管理”。度参与联系集的实体集的数目称为联系集的度。如“学习”联系集的度是2。思考题:电影公司跟一位影星签约一部电影,请问“签约”联系集的度?实体-联系模型的基本要素联系主要有以下类型:一对一联系(1:1)一对多联系(1:n)多对一联系(m:1)多对多联系(m:n)联系的类型实例实体-联系模型的基本要素一对一联系(1:1):设有实体型A与实体型B,如果A中的1个实体,至多与B中的1个实体关联,反过来,B中的1个实体至多与A中的1个实体关联,称实体型A与实体型B是一对一联系类型。记作(1:1)。联系的类型a1a2a3a4Ab1b2b3b4B一对一联系如:班级与班长之间的联系学校与校长之间的联系部门与部门经理之间的联系每个A对应着一个B每个B对应着一个AA

一对一B实体-联系模型的基本要素一对多联系(1:n):设有实体型A与实体型B,如果A中的1个实体,与B中的n个实体关联(n≥0),反过来,B中的1个实体至多与A中的1个实体关联,称实体型A与实体型B是一对多联系类型。记作(1:n)。联系的类型a1a2a3Ab1b2b3b4Bb5一对多联系如:班级与学生之间的联系学校与教职工之间的联系部门与部门员工之间的联系每个A对应着多个B每个B对应着一个AA

一对多

B实体-联系模型的基本要素多对一联系(m:1):设有实体型A与实体型B,如果A中的m个实体(m≥0),与B中的1个实体关联,反过来,B中的1个实体,与A中的m个实体关联,称实体型A与实体型B是多对一联系类型。记作(m:1)。联系的类型b1b2b3Ba1a2a3a4Aa5多对一联系每个A对应着一个B每个B对应着多个AA

多对一

B如:学生与班级之间的联系教职工与学校之间的联系部门员工与部门之间的联系实体-联系模型的基本要素多对多联系(m:n):设有实体型A与实体型B,如果A中的1个实体,与B中的n个实体关联(n≥0),反过来,B中的1个实体,与A中的m个实体关联(m≥0),称实体型A与实体型B是多对多联系类型。记作(m:n)。联系的类型a1a2a3a4Ab1b2b3b4B多对多联系每个A对应着多个B每个B对应着多个AA

多对多

B如:课程与学生之间的联系教师与课程之间的联系练习1:判断联系类型每位教师教授一位学生,每个学生被多位教师教。每位教师教授多位学生,每个学生被一位教师教。每位教师教授多位学生,每个学生被多位教师教。每位教师教授一位学生,每个学生被一位教师教。教师与学生的联系教师m:1学生教师1:n学生教师m:n学生教师1:1学生√实体-联系模型的基本要素5分钟动一动实体-联系模型的基本要素码码(Key):用于区分实体或联系的属性或属性组,也称为关键字(key)。例:学生(学号,姓名,性别,出生年月,籍贯),请分析学生实体集的码.学号姓名性别出生年月籍贯100101江星男2001-12-01内蒙古100102赵盼男2000-10-12河南100103刘鹏男2001-09-10浙江100104李鑫女2001-04-10江西学号?姓名?出生年月?学号+姓名?√√实体-联系模型的基本要素码思考题:选课(学号,课程号,成绩)关系中的码?1.

实体集中的主码也称为主键或主关键字主码只有一个,用于在同一实体集中区分不同实体主码应选择那些从不或极少变化的属性例:电脑可由品牌、规格、价格、出厂日期属性来描述,请问电脑的码如何设计?以上四个属性均不能作为关键字,若增加“编号”属性,则“编号”可作为关键字。学号课程号成绩1156218712652290实体-联系模型的基本要素2.联系集中的码(依赖于联系类型)。码联系类型主码A

一对一

BA

一对多

BA

多对一

BA

多对多

B任取实体A或B的主码取实体B的主码(取多)取实体A的主码(取多)取实体A和B的主码共同组成实体-联系模型的基本要素例子:“教授”联系中的码码A:教师(教师号,姓名,性别,年龄,职称)B:学生(学号,姓名,性别,班级,年龄)一个教师教授一位学生,一个学生由一位教师教授“教授”联系类型是:“教授”联系的主码:教师号或者学号:教师

11

学生实体-联系模型的基本要素例子:“教授”联系中的码码A:教师(教师号,姓名,性别,年龄,职称)B:学生(学号,姓名,性别,班级,年龄)思考题:请判断下面情况中“教授”联系的码?①一位教师教授多位学生,一位学生由一位教师教授②一位教师教授一位学生,一位学生由多位教师教授③一位教师教授多位学生,一位学生由多位教师教授实体-联系图表示2实体-联系图表示E-R图中的符号E-R图的绘制(Visio软件,processon在线画图)两种特殊情况的E-R图(难点)通常,用一种称为实体-联系图(Entity-RelationshipDiagram,E-R图)的直观图示方式描述实体-联系模型(也称E-R模型)。1.E-R图中的符号EE-R图的中常用的符号(常见符号详见P23)实体集A属性R联系集A主码连接实体与联系之间的桥梁实体-联系图表示实体-联系图表示与学生和课程相对应的E-R图姓名年龄性别班级学号学生学习课程课程名周课时数课程号教师实体集联系集连接实体与联系之间的桥梁属性主码1.E-R图中的符号实体-联系图表示联系的表示方法一箭头方(→)表示“一”线段方(—)表示“多”R一对一联系R多对一联系R多对多联系1.E-R图中的符号实体-联系图表示联系的表示方法一姓名年龄性别班级学号学生学习课程课程名周课时数课程号教师学生与课程之间是“1:n”的关系1.E-R图中的符号实体-联系图表示一对一联系(1:1)一对多联系(1:n)多对一联系(m:1)多对多联系(m:n)实体集A联系集实体集B111:1联系实体集A联系集实体集Bmnm:n联系实体集A联系集实体集B1n1:n联系实体集A联系集实体集Bm1m:1联系E-R图中联系的表示:在直线靠近实体的那端标上“1”或“m”或“n”。联系的表示方法二1.E-R图中的符号实体-联系图表示与学生和课程相对应的E-R图姓名年龄性别班级学号学生学习课程课程名周课时数课程号教师nm学生与课程之间是“多对多”的关系联系的表示方法二1.E-R图中的符号实体-联系图表示注:在"实心线段"旁标上联系的类型(1:1,1:n或m:n)。符号含义实体集,一般是名词属性,一般是名词联系集,一般是动词连接实体型、联系之间的桥梁部门属于员工1n部门代码部门名员工号姓名性别职务2.E-R图的绘制实体-联系图表示两个实体集之间的一对一的联系的E-R图绘制方法【例1】假设某学院有若干个系,每个系只有一个主任,请为系和主任设计E-R模型。确定实体集及其属性:实体集是主任、系。属性设计:主任——编号,姓名,年龄,学历系——系编号,系名2.E-R图的绘制确定联系集:联系名为“管理”,联系类型是1:1。解:描述主任和系之间的E-R图,如下图所示1管理主任姓名年龄学历编号系系编号系名1实体-联系图表示2.E-R图的绘制【例2】假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用仓库号、地点和面积来标识;商品用商品号、商品名和价格来标识。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品,需统计仓库存放商品的数量。两个实体集之间的一对多的联系的E-R图绘制方法实体-联系图表示2.E-R图的绘制确定实体集和属性:确定联系集和类型:

联系名:存放,类型:1:n仓库——仓库号,地点,面积商品——商品号,商品名,价格思考题:商品数量是实体集?还是属性?解:描述仓库和商品之间的E-R图,如下图所示1存放仓库地点面积仓库号商品数量n商品商品号价格商品名实体-联系图表示2.E-R图的绘制两个实体集之间的多对多的联系的E-R图绘制方法【例3】假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师上,需评价教师的授课质量。实体-联系图表示2.E-R图的绘制确定实体集和属性:确定联系集和类型:

教师——教师号,教师名,职称课程——课程号,课程名,班级教师与课程存在“讲授”关系在“讲授”联系中应能反映出教师的授课质量解:描述教师和课程之间的E-R图,如下图所示m讲授教师教师名职称教师号授课质量n课程课程号班级课程名实体-联系图表示2.E-R图的绘制实体-联系图表示课堂练习1假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。“商店”有属性:商店编号、商店名、地址;“顾客”有属性:顾客编号、姓名、年龄、性别。要求:试画出E-R图,并注明属性和联系类型。E-R图表示解析实体集:商店和顾客联系集:商店和顾客之间是消费的联系,需要反映出消费的日期和金额联系类型:多对多的联系m消费商店金额n顾客日期

课堂练习1E-R图表示E-R图m消费商店金额n顾客日期

商店名地址商店编号顾客编号性别姓名年龄课堂练习1e-r图表示如果一个联系的某个参与是全部的,那么就用双线将联系与该参与者相连。3.两种特殊情况的E-R图思考题:①“人数”为什么画成虚线椭圆?②请指出图中的错误。e-r图表示具有角色指示符的E-R图示。3.两种特殊情况的E-R图职工职工号姓名性别职工职工号姓名性别领导经理工作人员思考题:这幅图画成普通的E-R图该如何表示?理

解E-R模型的设计3E-R模型的设计E-R模型设计步骤确定实体集(名词)确定实体间联系(动词)、联系的类型构建实体-联系框图(避免交叉线)添加实体集的属性(主码的标注)E-R模型的设计注意事项属性原则(2个)具有复合属性、多值属性和派生属性的E-R图E-R模型的设计课程名周学时课程号学分课程课程类型周数?课程类型还与上课周数有关,如何处理?E-R模型的设计除了复合属性,其他属性都不能具有需要描述的特性。否则,该属性应该作为实体,而不该作为属性。属性原则1属性不能描述属性E-R模型的设计课程名周学时课程号学分课程课程类型周数×课程名周学时课程号学分课程分类类型名课程类型周数类型号1n课程类型还与上课周数有关,如何处理?E-R模型的设计教室观察:右图中的“拉手”关系:属性能跟几个实体集拉手?E-R模型的设计实体的属性不能与其他实体发生联系。否则,该属性应该作为两个实体之间联系的属性。属性原则2属性的“忠诚度”E-R模型的设计课程名周学时学分课程号课程性别姓名学生教师教授上课性别E-mail地址家庭地址教师号职称电话号码学号姓名年龄mmpnn“教授”联系增加的两个属性。教室号时间考试成绩?思考题:如果还需要将学生的考试成绩在E-R模型中体现出来,应该怎么处理?×E-R模型的设计课程名周学时学分课程号课程性别姓名学生教师教授上课教室号性别时间E-mail地址家庭地址教师号职称电话号码学号姓名年龄mmpnn正确表示方法考试成绩nm1管理主任姓名年龄学历编号系系编号系名任职时间1E-R模型的设计新要求:在E-R图中反映出主任的任职时间?E-R模型的设计课堂练习2请为某出版社绘制E-R图。基本事实有:作者的基本信息:姓名、身份证号、性别、出生年月;图书的基本信息:书刊号、书名、定价、出版日期;③一本书可能有多个作者,也可能只有一个作者;每个作者可能编写了一本书,也可能编写多本书;④作者编写图书时能获得一定的稿酬;⑤图书的作者内部分为主编和参编两种角色,1位主编负责组织参编的编写工作。E-R模型的设计编写作者稿酬图书性别出生年月身份证号书刊号出版日期书名定价课堂练习2参考答案姓名组织主编参编E-R模型的设计具有复合属性、多值属性和派生属性的E-R图。思考题:请分析图中错误性别曾用第一个名学生班级现在姓名出生年月地址省联系电话联系电话学号姓名年龄国名城市街道街道号街道名曾用第二个名E-R模型的设计具有复合属性、多值属性和派生属性的E-R图。复合属性多值属性派生属性E-R模型的设计【例1】假设一个仓库可存放多种零件,而一种零件可以存放在多个仓库,用库存量来表示某种零件在某个仓库中的数量,一个仓库有多个职工,但是一个职工只能在一个仓库工作,同时一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同的供应商供给。实例解析

其中,仓库用仓库号、面积、地点标识;零件用零件号、名称、单价和规格标识;职工用职工号、姓名、职称和年龄标识;供应商用供应商号、地址、电话标识;项目用项目号、预算、时间来标识。E-R模型的设计实例解析解析:仓库零件供应商职工项目工作存放供应mn1nmnp库存量实体集:仓库、零件、职工、供应商、项目联系集:仓库与零件之间:存放(m:n)仓库与职工之间:工作(1:n)供应商、项目、零件之间:供给(m:n:p)仓库零件供应商职工项目工作库存供应mn1nmnp库存量E-R模型的设计综合实例解析:供应商号电话地址仓库号面积地点职称年龄姓名职工号单价名称零件号规格项目号预算时间E-R模型的设计

假设一个学生可选多门课程,而一门课程又有多个学生选修,每个学生每选一门课只有一个成绩;一个教师只能讲一门课程,一门课程也可有多个教师讲授;一门课使用多本参考书,一本参考书可以多门课程选用;一个班级由多名学生组成,且每个班级的人数不同。课堂练习3解析:实体集:学生、课程、教师、参考书、班级学生与课程之间:选修(m:n),属性:成绩教师与课程之间:讲授(n:1)课程与参考书之:使用(m:n)班级与学生之间:组成(1:n)联系集:E-R模型的设计实例解析解析:学生教师课程参考书选修讲授使用11nmn1班级组成nn成绩人数E-R模型的设计实例解析解析:学生教师课程参考书选修讲授使用11nmn1班级组成nn成绩人数书目书名价格课程号学分课程名班级号专业职工号姓名职称性别性别年龄姓名学号E-R模型的设计实例解析解析:学生教师课程参考书选修讲授使用11nmn1班级组成nn成绩人数书目书名价格课程号学分课程名班级号专业职工号姓名职称性别性别年龄姓名学号E-R模型设计综合实例4E-R模型的设计实例E-R模型设计步骤

大学教学情况E-R模型设计

主要内容E-R模型的设计实例E-R模型设计步骤数据需求分析实体集设计联系集设计综合E-R图E-R模型的设计实例

大学教学情况E-R模型设计①数据需求分析大学有多个专业,每个专业用惟一的专业代码和专业名称标识。每个专业设置有多门课程,某些课程可被多个专业设置。每门课程由课程号、课程名和学时标识。每位教师由教职工号、姓名、性别、出生年月、职称、(所属)教研室和电话号码标识。每位教师可以讲授多门课程,某些课程可由多位教师主讲。每个学生由学号、姓名、性别、出生年月和籍贯标识。多个学生可以同时学习同一门课程,一个学生必须学习多门课程。一个专业有多个学生,一个学生只能属于某一专业,并属于某个班级。E-R模型的设计实例

大学教学情况E-R模型设计②实体集设计大学有多个专业,每个专业用惟一的专业代码和专业名称标识。每个专业设置有多门课程,某些课程可被多个专业设置。每门课程由课程号、课程名和学时标识。每位教师由教职工号、姓名、性别、出生年月、职称、(所属)教研室和电话号码标识。每位教师可以讲授多门课程,某些课程可由多位教师主讲。每个学生由学号、姓名、性别、出生年月和籍贯标识。多个学生可以同时学习同一门课程,一个学生必须学习多门课程。一个专业有多个学

温馨提示

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

评论

0/150

提交评论