资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第4 4章章 数据库建模数据库建模 ( (实体实体- -联系模型联系模型) ) 数据库系统原理与设计数据库系统原理与设计 ( ( 第第 2 2 版版 ) )认识自己认识自己n用用SWOTSWOT分析来了解自我:分析来了解自我:u Strengths:自己的强项;:自己的强项;u Weakness:自己需要改进的地方;:自己需要改进的地方;u Opportunities:机会在那里;:机会在那里;u Threats: 负面的因素。负面的因素。目目 录录弱实体集弱实体集 4.44.4数据库设计过程数据库设计过程 4.14.1E-RE-R模型基本概念及表示模型基本概念及表示4.24.2约束约束4.34.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.74.7扩展扩展E-RE-R特征特征4.54.5E-RE-R建模问题建模问题4.64.6逻辑设计逻辑设计E-RE-R模型转化为关系模型模型转化为关系模型4.84.8 概念设计任务概念设计任务 n概念设计概念设计(即即E-R模型设计模型设计)主要是根据主要是根据需求分析规格需求分析规格说明书说明书完成如下任务完成如下任务:l定义定义实体集实体集及属性,实体集的及属性,实体集的主码主码,用,用E-R图及图及数据字典数据字典描述被建模的实体集;描述被建模的实体集;l定义定义联系集联系集及属性,联系集的及属性,联系集的主码主码,联系的映射基数及参,联系的映射基数及参与约束与约束,实体的角色,实体的角色,并用并用E-R图描述被建模的联系集;图描述被建模的联系集;l分析初步分析初步E-R图中是否存在图中是否存在依赖约束依赖约束、多值联系多值联系?l利用扩展利用扩展E-R特征对对象进行特征对对象进行分类分类及及聚合聚合;l去除冗余数据去除冗余数据,并保证满足所有数据需求不冲突;,并保证满足所有数据需求不冲突;l对照需求分析规格说明书,对照需求分析规格说明书,检查检查E-R模型,看其模型,看其是否包含是否包含了所有数据、能否满足所有功能需求了所有数据、能否满足所有功能需求等。等。大学选课管理系统需求分析大学选课管理系统需求分析 n系统需求分析系统需求分析l系统目标及边界系统目标及边界l功能需求分析功能需求分析 l数据需求及业务规则分析数据需求及业务规则分析l数据约束分析数据约束分析大学选课管理系统的目标及边界大学选课管理系统的目标及边界n随着学分制的普及,大学选课管理系统已成为大学随着学分制的普及,大学选课管理系统已成为大学信息管理系统中的重要组成部分。信息管理系统中的重要组成部分。n本系统本系统面向全体师生面向全体师生,对,对排课排课( (每门课程开几个教每门课程开几个教学班?谁来任教?上课时间与教室安排学班?谁来任教?上课时间与教室安排) )、选修及选修及成绩进行集中管理成绩进行集中管理,以实现,以实现排课、选课及成绩管理排课、选课及成绩管理的科学化、系统化和自动化的科学化、系统化和自动化,最大限度地为老师和最大限度地为老师和学生提供方便和提高管理效率学生提供方便和提高管理效率。 n学院学院基本信息管理:基本信息管理:学院基本信息录入、维护与查询学院基本信息录入、维护与查询n班级班级基本信息管理基本信息管理:班级基本信息录入、维护与查询:班级基本信息录入、维护与查询n学生学生基本信息管理:基本信息管理:学生基本信息录入、维护与查询学生基本信息录入、维护与查询n教师教师基本信息管理:基本信息管理:教师基本信息录入、维护与查询教师基本信息录入、维护与查询n课程课程基本信息管理:基本信息管理:课程基本信息录入、维护与查询课程基本信息录入、维护与查询n教室教室基本信息管理:基本信息管理:教室基本信息录入、维护与查询教室基本信息录入、维护与查询n排课管理:排课管理:根据开课计划实现自动或半自动的排课根据开课计划实现自动或半自动的排课n学生选课:学生选课:提供选课、退选和改选功能提供选课、退选和改选功能n课表查询:课表查询:提供不同人员以不同方式查询选课信息提供不同人员以不同方式查询选课信息n成绩管理:成绩管理:学生考试成绩录入、修改及查询学生考试成绩录入、修改及查询大学选课管理系统的功能需求分析大学选课管理系统的功能需求分析大学大学学分制管理系统学分制管理系统的功能需求?的功能需求?数据需求及业务规则分析数据需求及业务规则分析 n学院学院需要记录需要记录学院编号学院编号、学院名称学院名称、学院地址学院地址等信息,由等信息,由学院编号学院编号唯一标识唯一标识n教师教师要求记录要求记录教师编号教师编号、教师姓名教师姓名、职称职称、学位学位等信息,等信息,由由教师编号教师编号唯一标识唯一标识l一个一个学院学院可聘用多名可聘用多名教师教师,但一名,但一名教师教师只能属于一个只能属于一个学院学院n班级班级需要记录需要记录班级编号班级编号、班级名称班级名称、年级年级、班级人数班级人数等信等信息,由息,由班级编号班级编号唯一标识唯一标识l一个一个学院学院有多个有多个班级班级,一个,一个班级班级只能归属于某一个只能归属于某一个学院学院l班级人数班级人数为为派生属性派生属性,它的值可通过统计,它的值可通过统计学生学生实体集中属实体集中属于该班学生的人数而得到于该班学生的人数而得到 数据需求及业务规则分析数据需求及业务规则分析 n学生学生需要存储需要存储学号学号、姓名姓名、性别性别、出生日期出生日期、家庭住址家庭住址、电话号码电话号码等信息,由等信息,由学号学号唯一标识唯一标识l家庭住址家庭住址由由省份省份、城市城市、街道街道组成组成复合属性复合属性;l电话号码电话号码可能有多个,如可能有多个,如宿舍电话宿舍电话、实验室电话实验室电话、移动电移动电话话等等多值属性多值属性;l年龄年龄可由生日推算出来可由生日推算出来派生属性,不作为存储属性派生属性,不作为存储属性l学生学生可进一步分可进一步分本科生本科生和和研究生研究生两类,两类,本科生本科生需记录需记录个人个人兴趣兴趣,研究生研究生需记录需记录研究方向研究方向l一个一个班级班级有多名有多名学生学生,但一个,但一个学生学生只能属于某一个只能属于某一个班级班级l一个一个教师教师可以指导多名可以指导多名研究生研究生,但一个,但一个研究生研究生只能安排一只能安排一名指导名指导教师教师数据需求及业务规则分析数据需求及业务规则分析 n课程课程需要记录需要记录课程号课程号、课程名称课程名称、课时课时、学分学分等信息,由等信息,由课程号课程号唯一标识唯一标识l一个一个学院学院可管理多门可管理多门课程课程,但一门,但一门课程课程只能归属一个只能归属一个学院学院l课程课程之间需设置之间需设置先修要求先修要求,一门,一门主课程主课程至多可以指定一门至多可以指定一门先修课程先修课程,但一门,但一门先修课程先修课程可对应于多门可对应于多门主课程主课程 n每门每门课程课程可以安排多个可以安排多个开课班开课班,开课班开课班需存储需存储开课班号开课班号、年份年份、学期学期等信息,等信息,开课班号开课班号为部分码为部分码l一个一个开课班开课班可安排多名可安排多名教师教师任教,需明确任教,需明确教师教师任教任教开课班开课班的的任教角色任教角色;一名;一名教师教师也可同时任教多个也可同时任教多个开课班开课班l一个一个开课班开课班被多名被多名学生学生选修,每个选修,每个学生学生可选修多个可选修多个开课班开课班l一个一个学生学生同一学期同一学期不能选修不能选修同一门课程同一门课程的同一个的同一个开课班开课班多多次次;也不能选修也不能选修同一门课程同一门课程的多个不同的多个不同开课班开课班如何理解如何理解开课班开课班与与学生学生之间之间多对多联系的多对多联系的语义语义( (约束约束) )?数据需求及业务规则分析数据需求及业务规则分析n教室教室需要记录需要记录教室编号教室编号、所在教学楼所在教学楼、电话号码、教室电话号码、教室类型、教室容量类型、教室容量等信息,由等信息,由教室编号教室编号唯一标识唯一标识l一个一个教室教室可安排多个可安排多个开课班开课班,一个,一个开课班开课班可安排多个可安排多个时间时间和和教室教室上课,且上课,且每次上课每次上课可能安排在相同或不同的可能安排在相同或不同的教室教室l一个一个教室教室在在同一时间段同一时间段不允许安排多个不允许安排多个开课班开课班上课上课 (同一任课教师同一任课教师的的同一门课程同一门课程的多个的多个开课班开课班除外:除外:合班合班)n一个一个学生学生在在同一时间段同一时间段不允许选修多个不允许选修多个开课班开课班 (重修课程是否除外?重修课程是否除外?)n同一名同一名教师教师不允许在不允许在同一时间段同一时间段安排多个安排多个不同课程不同课程的的开开课班课班或或非合班上课非合班上课的的相同课程相同课程的的开课班开课班n教师教师在所任教的在所任教的开课班开课班考试结束后,需在规定的时间内考试结束后,需在规定的时间内将所任教学生的成绩录入系统,并要求记录将所任教学生的成绩录入系统,并要求记录登分日期登分日期如何理解如何理解教室教室与与开课班开课班之间之间多对多联系的语义多对多联系的语义?主要业务的局部建模主要业务的局部建模n主要实体集有:主要实体集有:学院、班级、学院、班级、学生学生、教师教师、课程课程、教室、教室n观察观察l学生学生选修某学期的某门选修某学期的某门课程课程,只能从该学期该,只能从该学期该课程课程实际开设实际开设的若干个的若干个开课班开课班中进行选修;中进行选修;l教师教师安排教学任务,也是针对需开设的安排教学任务,也是针对需开设的开课班开课班进行分配;进行分配;l学生学生通过选修某个通过选修某个开课班开课班来明确是哪位来明确是哪位(些些)教师教师给其授课;给其授课;l一个一个学生学生可能会出现多次选修同一门可能会出现多次选修同一门课程课程的情况的情况(如如重修重修)。即即学生学生与与课程课程之间的之间的选课选课联系是联系是多值联系多值联系。学生学生课程课程选课选课- -任教任教教师教师多对多的三元联系集多对多的三元联系集n学生学生、课程课程、教师教师之间的建模之间的建模l引入引入开课班开课班弱实体集,它依赖于弱实体集,它依赖于课程课程实体集实体集l学生学生选修选修课程课程是指选择为其所开设的某个是指选择为其所开设的某个开课班开课班l某个某个开课班开课班需要安排任课需要安排任课教师教师。因此,。因此,学生学生与与教师教师之间的之间的授课授课联系就转化为通过联系就转化为通过开课班开课班与与教师教师之间的之间的任教任教联系来间联系来间接关联接关联教师教师学生学生Enroll课程课程排课排课CourseClass任教任教选修选修授课授课选课选课开课班开课班教师教师主要业务的局部建模主要业务的局部建模n上课时间上课时间、上课地点上课地点的建模的建模l假设一个开课班可能安排多个时间上课,且不同时间可能假设一个开课班可能安排多个时间上课,且不同时间可能安排在相同的或不同的教室上课,安排在相同的或不同的教室上课,则则排时间教室排时间教室联系集可联系集可能是能是多值联系多值联系。主要业务的局部建模主要业务的局部建模课程课程排课排课开课班开课班开课班号开课班号年份学期教室教室排时间排时间教室教室教室编号教室编号所在教学楼电话号码教室类型教室容量上课时间开课班开课班教室教室排时间排时间教室编号教室编号所在教学楼电话号码教室类型教室容量时间安排时间安排排教室排教室上课时间上课时间年份学期开课班号开课班号n学生学生实体集的实体集的类层次类层次及研究生及研究生指导指导的建模的建模主要业务的局部建模主要业务的局部建模学生学生本科生本科生研究生研究生研究方向兴趣爱好ISA教师教师指导指导n“录入成绩录入成绩”联系集的联系集的聚合聚合建模建模主要业务的局部建模主要业务的局部建模学生学生选课选课教师教师录入成绩录入成绩录入日期学生学生选课选课教师教师录入成绩录入成绩录入日期(a) 直接表示直接表示聚合聚合的的E-R建模建模(b) 通过通过联系实体集联系实体集的的E-R建模建模成绩成绩开课班开课班开课班开课班ISA本科生本科生研究生研究生选课选课录入成绩录入成绩录入日期包含包含班级班级设置设置图图4-38 简化的大学选课系统简化的大学选课系统E-R图图时间安排时间安排排时间排时间教师教师任教任教任教角色 聘用聘用聘用日期学院学院归属归属开课班开课班排课排课课程课程先修要求先修要求主课程先修课程指导指导排教室排教室教室教室学生学生成绩选课选课 定义实体集及属性定义实体集及属性 n学院学院:学院编号学院编号、学院名称学院名称、学院地址学院地址n班级班级:班级编号班级编号、班级名称班级名称、年级年级、班级人数班级人数。l班级人数班级人数为派生属性为派生属性 n教师教师:教师编号教师编号、教师姓名教师姓名、职称职称、学位学位n学生学生:学号学号、姓名姓名、性别性别、出生日期出生日期、家庭住址家庭住址、电话号码电话号码l复合属性:复合属性:家庭住址家庭住址省份省份、城市城市、街道街道l多值属性:多值属性:电话号码电话号码n本科生本科生、研究生研究生,它们具有,它们具有学生学生的所有属性,此外的所有属性,此外l本科生本科生:个人兴趣个人兴趣l研究生研究生:研究方向研究方向n教室教室:教室编号教室编号、所在教学楼所在教学楼、电话号码电话号码、教室类型教室类型、教室容量教室容量n课程课程:课程编号课程编号、课程名称课程名称、学分学分、课时数课时数n开课班开课班:开课班号开课班号、年份年份、学期学期、教室容量教室容量、选课人数选课人数l开课班号开课班号为为部分码部分码,能够区分,能够区分同一门同一门课程课程在不同学期及同一学在不同学期及同一学期期所开设的所开设的不同不同开课班开课班l教室容量教室容量、选课人数选课人数是派生属性是派生属性 n时间安排时间安排:上课时间上课时间l上课时间上课时间为为部分码部分码,能够区分,能够区分同一个同一个开课班开课班的的不同上课时间不同上课时间 定义实体集及属性定义实体集及属性 定义联系集及属性定义联系集及属性 n设置设置联系集联系集:实体集:实体集学院学院与与班级班级之间的之间的一对多一对多联系集联系集l表明一个表明一个学院学院可设置多个可设置多个班级班级,但一个,但一个班级班级只属于一个只属于一个学院学院n归属归属联系集联系集:实体集:实体集课程课程与与学院学院之间的之间的多对一多对一联系集联系集l表明一门表明一门课程课程只归属于一个只归属于一个学院学院,但一个,但一个学院学院可管理多门可管理多门课程课程n聘用聘用联系集联系集:实体集学院与教师之间的:实体集学院与教师之间的一对多一对多联系集联系集l表明一个表明一个学院学院可聘用多名可聘用多名教师教师,但一名,但一名教师教师只能受聘于一个只能受聘于一个学院学院l联系属性为联系属性为聘用日期聘用日期 n包含包含联系集联系集:实体集:实体集班级班级与与学生学生之间的之间的一对多一对多联系集联系集l表明一个表明一个班级班级可包含多名可包含多名学生学生,但一名,但一名学生学生只属于一个只属于一个班级班级n排课排课标识标识联系集联系集:课程课程与与开课班开课班弱实体集之间的弱实体集之间的一对多一对多联系集联系集l表明一门表明一门课程课程可安排多个可安排多个开课班开课班,开课班号开课班号为为部分码部分码n选课选课联系集联系集:学生与开课班之间的:学生与开课班之间的多对多多对多联系集联系集l表明一个表明一个学生学生可选修多个可选修多个开课班开课班,且一个,且一个开课班开课班可包括多名可包括多名学生学生l联系属性为联系属性为成绩成绩n任教任教联系集联系集:教师教师与与开课班开课班之间的之间的多对多多对多联系集联系集l表明一表明一教师教师可任教多个可任教多个开课班开课班,且一,且一开课班开课班可安排多名可安排多名教师教师任教任教l联系属性为联系属性为任教角色任教角色n排时间排时间标识标识联系集联系集:开课班开课班与与时间安排时间安排弱实体集之间的弱实体集之间的一对多一对多联系集联系集l表明一个表明一个开课班开课班可安排多个可安排多个上课时间上课时间,上课时间上课时间为为部分码部分码 定义联系集及属性定义联系集及属性 n排教室排教室联系集联系集:弱实体集:弱实体集时间安排时间安排与与教室教室之间的之间的多对一多对一联系集联系集l表明多个表明多个上课时间上课时间可安排在同一个可安排在同一个教室教室上课,但一个上课,但一个教室教室在一个在一个上课时间上课时间只能安排一个只能安排一个开课班开课班上课上课n指导指导联系集联系集:实体集:实体集教师教师与与研究生研究生之间的之间的一对多一对多联系集联系集l表明一表明一教师教师可指导多名可指导多名研究生研究生,但一名,但一名研究生研究生只能安排一名指导只能安排一名指导教师教师n先修要求先修要求联系集联系集:由:由具有具有先修课程先修课程角色和具有角色和具有主课程主课程角色的角色的课程课程实体之间的实体之间的一对多一对多联系集联系集l表明一门表明一门主课程主课程至多指定一门至多指定一门先修课程先修课程,但一门,但一门先修课程先修课程可对应可对应于多门于多门主课程主课程 n录入成绩录入成绩联系集联系集:实体集实体集教师教师与联系集与联系集选课选课之间的之间的一对多一对多联系集联系集 l联系属性为联系属性为录入日期录入日期 定义联系集及属性定义联系集及属性 定义数据字典定义数据字典 n学院学院(Institute)实体集的数据字典如图实体集的数据字典如图4-39所示所示 属性名属性名含含义类别域及域及约束束实例例instituteNo学院学院编号号 主主码char(2),由2位字母组成,代表学院的缩写。不允许取空值CSinstituteName学院名称学院名称varchar(30),不允许取空值计算机学院instituteAddress学院地址学院地址varchar(40)麦庐校园荟庐楼图图4-39 学院学院(Institute)实体集的数据字典实体集的数据字典 定义数据字典定义数据字典 n学生学生(Student)实体集的数据字典如图实体集的数据字典如图4-41所示所示 属性名属性名含含义类别域及域及约束束实例例studentNo学号学号主主码char(10),由10位数字字符组成,其中第1位数字代表学生类别,如:1-本科生,2-硕士研究生,3-博士研究生,4-独立学院本科生,5-专科生;接下来4位数字代表入学年份,最后5位数字为序号。不允许取空值1201100258studentName姓名姓名varchar(20),不允许取空值李小勇sex性性别char(2),取值范围:男, 女男birthday出生日期出生日期datetime1992-09-09phoneNumber电话号号码多多值varchar(13),每个电话号码由数字字符加连字符-组成186079199999,027-87009999province省份省份复合复合varchar(20),复合属性家庭住址的成分湖北省city城市城市复合复合varchar(20),复合属性家庭住址的成分武汉市street街道街道复合复合varchar(20),复合属性家庭住址的成分中山路56号图图4-41 学生学生(Student)实体集的数据字典实体集的数据字典 定义数据字典定义数据字典 n选课选课(Enroll)联系集的数据字典如图联系集的数据字典如图4-47所示所示 属性名属性名含含义类别域及域及约束束实例例score成成绩smallint,0100之间的整数95recordDate录入日期入日期联系系datetime,它是选课选课联系集与教教师实体集之间的多对一联系集录入成绩录入成绩的联系属性2011-07-08图图4-47 选课选课(Enroll)联系集的数据字典联系集的数据字典进一步的思考?进一步的思考?n班主任、学院领导、学校领导等的不同查询要求?班主任、学院领导、学校领导等的不同查询要求?n学生所学专业?教学计划?课程类别?学生所学专业?教学计划?课程类别?n学生毕业要求?毕业资格审查?学生毕业要求?毕业资格审查?n开课任务书?开课任务书?n选课推荐(选课提醒)?选课推荐(选课提醒)?n选课优先级?选课优先级?n教材管理?教学资源管理?教材管理?教学资源管理?n考试安排?考试安排?n学生评教?学生评教?n预警(亮黄牌)、劝其退学(亮红牌)?预警(亮黄牌)、劝其退学(亮红牌)?n小结小结n 概念设计任务概念设计任务 n下一步:把概念设计转为为逻辑设计!下一步:把概念设计转为为逻辑设计!目目 录录弱实体集弱实体集 4.44.4数据库设计过程数据库设计过程 4.14.1E-RE-R模型基本概念及表示模型基本概念及表示4.24.2约束约束4.34.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.74.7扩展扩展E-RE-R特征特征4.54.5E-RE-R建模问题建模问题4.64.6逻辑设计逻辑设计E-RE-R模型转化为关系模型模型转化为关系模型4.84.8E-R模型转化方法模型转化方法 nE-R模型模型(概念建模概念建模)和关系模型和关系模型(逻辑建模逻辑建模)都是对现实世界都是对现实世界的抽象。而的抽象。而E-R模型只是描述数据库的模型只是描述数据库的概念模型概念模型,若要被关若要被关系数据库所接受,必须进行信息转化,即将系数据库所接受,必须进行信息转化,即将E-R模型转化为模型转化为关系数据库所支持的逻辑模型关系数据库所支持的逻辑模型关系模式关系模式。 n转化方法转化方法l强实体集转化方法强实体集转化方法l弱实体集转化方法弱实体集转化方法l联系集转化方法联系集转化方法 l复合属性及多值属性转化方法复合属性及多值属性转化方法 l类层次转化方法类层次转化方法 l聚合转化方法聚合转化方法 E-R模型转化方法模型转化方法n强实体集转化方法强实体集转化方法l将强实体集映射成关系模式很直接,将强实体集映射成关系模式很直接,只需将实体集的每个只需将实体集的每个属性对应为关系模式的属性,实体集的码作为关系模式的属性对应为关系模式的属性,实体集的码作为关系模式的码码。l设强实体集设强实体集E具有具有a1, a2, , an属性,其转化的关系模式定属性,其转化的关系模式定义如下:义如下:关系模式名:关系模式名:E;属性集:属性集:a1, a2, , an;主码:实体集主码:实体集E的主码;的主码;外码:无。外码:无。n例如,由实体集例如,由实体集课程课程Course转化的关系模式为(加下划线的转化的关系模式为(加下划线的属性表示它是主码成员):属性表示它是主码成员):lCourse (courseNo, courseName, creditHour, courseHour)E-R模型转化方法模型转化方法n 弱实体集转化方法弱实体集转化方法 l设弱实体集设弱实体集A具有属性集具有属性集a1, a2, , am,且,且p1, p2, , pk为为A的的部分码部分码( pi a1, a2, , am, 1 i k, k m);B是是A所依赖的强实体集且主码为属性集所依赖的强实体集且主码为属性集b1, b2, , bn,则,则A转转化的关系模式定义如下:化的关系模式定义如下:关系模式名:关系模式名:A;属性集属性集: a1, a2, , am b1, b2, , bn;主码主码: b1, b2, , bn p1, p2, , pk;外码外码: 参照关系参照关系B的属性的属性b1, b2, , bn。n例如,由弱实体集例如,由弱实体集开课班开课班CourseClass转化的关系模式为转化的关系模式为(外码属性成员用斜体表示外码属性成员用斜体表示):lCourseClass (courseNo, cClassNo, year, semester, capacity, enrollNumber)E-R模型转化方法模型转化方法n 联系集一般转化方法联系集一般转化方法l设设R是一联系集,其描述性属性集为是一联系集,其描述性属性集为a1, a2, , am;参与;参与R的所有实体集的所有实体集ES的主码的并集形成属性集合的主码的并集形成属性集合b1, b2, , bn,则由,则由R转化的关系模式定义如下:转化的关系模式定义如下:关系模式名:关系模式名:R;属性集属性集: a1, a2, , am b1, b2, , bn;主码主码: 按按映射基数映射基数对应规则确定对应规则确定;外码外码: 参照参与关系参照参与关系Ei ES及各自对应的主码属性及各自对应的主码属性b1, b2, , bn。E-R模型转化方法模型转化方法n一对多或一对一联系集的转化一对多或一对一联系集的转化l可不转化为单独的关系模式可不转化为单独的关系模式,而采用下列方法转化:,而采用下列方法转化:若若A到到B联系集为联系集为一对多联系,则在由一对多联系,则在由B转化的关系模式中增转化的关系模式中增加加A的主码属性的主码属性(这些属性即为参照这些属性即为参照A主码的外码主码的外码)。例如,联系集例如,联系集聘用聘用(Engage)为实体集为实体集学院学院(Institute)与实体集与实体集教师教师(Teacher)之间的之间的一对多一对多联系集。联系集。 可转化为:可转化为: Teacher (teacherNo, tearcherName, title, degree, hireDate, instituteNo) 若若A到到B联系集为联系集为一对一联系,则将某一方的主码属性增加到一对一联系,则将某一方的主码属性增加到另一方实体集所转化的关系模式中去另一方实体集所转化的关系模式中去。n标识联系集的转化标识联系集的转化l不需转化为任何关系模式不需转化为任何关系模式 E-R模型转化方法模型转化方法n复合属性转化方法复合属性转化方法 l应为每个子属性创建一个单独的属性,而不是为复合属性应为每个子属性创建一个单独的属性,而不是为复合属性自身创建一个单独的属性。自身创建一个单独的属性。 n例如,由实体集例如,由实体集学生学生Student转化而来的关系模式为:转化而来的关系模式为:lStudent (studentNo, studentName, sex, birthday, province, city, street)address属性被其复合属性属性被其复合属性province, city, street代替。代替。E-R模型转化方法模型转化方法n多值属性转化方法多值属性转化方法 l创建一个新的模式,其属性为多值属性所在的实体集或联创建一个新的模式,其属性为多值属性所在的实体集或联系集的主码属性和该多值属性对应的属性组成,主码为系集的主码属性和该多值属性对应的属性组成,主码为全全部属性部属性。l设设M为多值属性,为多值属性,M对应的属性集为对应的属性集为A;E为为M所在的实体所在的实体集或联系集,且集或联系集,且E的主码为属性集的主码为属性集b1, b2, , bn,则由,则由M转转化的关系模式定义如下:化的关系模式定义如下:关系模式名:关系模式名:M;属性集:属性集:A b1, b2, , bn;主码:主码:A b1, b2, , bn;外码:参照关系外码:参照关系E的主码属性的主码属性b1, b2, , bn。n例如,例如,Student的的电话号码电话号码phoneNumber为为多值属性多值属性,关系模式为:,关系模式为:lphoneNumber (studentNo, teleNumber) 可以将可以将多值属性多值属性建模为建模为弱实体集弱实体集!E-R模型转化方法模型转化方法n类层次转化两种方法类层次转化两种方法:l父类实体集和子类实体集分别转化为单独的模式父类实体集和子类实体集分别转化为单独的模式。其。其中,父类实体集对应的关系模式属性为父类实体集的中,父类实体集对应的关系模式属性为父类实体集的属性(即公共属性),而各子类实体集对应的模式由属性(即公共属性),而各子类实体集对应的模式由该子类的特殊属性和父类实体集的主码属性组成。该子类的特殊属性和父类实体集的主码属性组成。它它们的主码与父类实体集的主码相同们的主码与父类实体集的主码相同。l只将子类实体集转化为关系模式只将子类实体集转化为关系模式,其属性由父类的全,其属性由父类的全部属性和子类的特殊属性组成。部属性和子类的特殊属性组成。E-R模型转化方法模型转化方法n例如,按第例如,按第1种方法,父类种方法,父类Student和子类和子类Undergraduate、Graduate可转化为可转化为3个关系模式:个关系模式:lStudent (studentNo, studentName, sex, birthday, province, city, street)lUndergraduate (studentNo, interest)lGraduate (studentNo, direction)n按第按第2种方法,则只转化为种方法,则只转化为2个关系模式:个关系模式:lUndergraduate (studentNo, studentName, sex, birthday, province, city, street, interest )lGraduate (studentNo, studentName, sex, birthday, province, city, street, direction) 各自的优缺点分别是什么?各自的优缺点分别是什么?E-R模型转化方法模型转化方法n聚合的转化方法聚合的转化方法:l聚合聚合是一种抽象。是一种抽象。l内层联系集内层联系集(即即联系实体集联系实体集)按其按其映射基数映射基数决定是否需要单独决定是否需要单独转化为一个独立的关系模式;转化为一个独立的关系模式;l外层联系集外层联系集也是按其也是按其映射基数映射基数决定是否需要单独转化为一决定是否需要单独转化为一个独立的关系模式;个独立的关系模式;l外层联系集外层联系集的的主码主码根据根据映射基数映射基数不同分别由不同分别由内层联系集内层联系集的的主码主码、外层实体集外层实体集的的主码主码按不同方式产生。按不同方式产生。 l如由如由多对多多对多的的联系实体集联系实体集选课选课(Enroll)和和一对多一对多的的聚合聚合联系联系集集录入成绩录入成绩(Record)共同转化而成的关系模式为:共同转化而成的关系模式为: Enroll (studentNo, courseNo, cClassNo, score, TeacherNo, recordDate) 聚合的转化聚合的转化方法方法ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other)r1 (A.key, B.key, r1.attr)C (C.key, C.other)r2 (A.key, B.key, C.key, r2.attr)ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other, A.key, r1.attr)C (C.key, C.other)r2 (B.key, C.key, r2.attr)聚合的转化聚合的转化方法方法ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other)r1 (A.key, B.key, r1.attr)C (C.key, C.other, A.key, B.key, r2.attr)ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other)r1 (A.key, B.key, r1.attr, C.key, r2.attr)C (C.key, C.other)聚合的转化聚合的转化方法方法ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other, A.key, r1.attr)C (C.key, C.other, B.key, r2.attr)ABr1Cr2r1.attrr2.attrA (A.key, A.other)B (B.key, B.other, A.key, r1.attr, C.key, r2.attr)C (C.key, C.other)大学选课系统大学选课系统E-R模型转化实例模型转化实例 n由实体集转化而来的关系模式由实体集转化而来的关系模式 n由联系集转化而来的关系模式由联系集转化而来的关系模式 n多值属性转化而来的关系模式多值属性转化而来的关系模式 n由类层次转化而来的关系模式由类层次转化而来的关系模式 n由聚合转化而来的关系模式由聚合转化而来的关系模式 (无)(无)大学选课系统大学选课系统E-R模型转化实例模型转化实例n由实体集转化而来的关系模式由实体集转化而来的关系模式l学院学院:Institute (instituteNo, instituteName, instituteAddress)l班级班级:Class (classNo, className, grade, classNumber, instituteNo)l学生学生:Student (studentNo, studentName, sex, birthday, province, city, street, classNo)l教师教师:Teacher (teacherNo, tearcherName, title, degree, hireDate, instituteNo)l课程课程:Course (courseNo, courseName, creditHour, courseHour, priorCourseNo, instituteNo)l开课班开课班:CourseClass (courseNo, cClassNo, year, semester, capacity, enrollNumber )l时间安排时间安排: TimeSchedule (courseNo, cClassNo, time, classroomNo) 大学选课系统大学选课系统E-R模型转化实例模型转化实例n由联系集转化而来的关系模式由联系集转化而来的关系模式l选课选课(含含录入成绩录入成绩): Enroll (studentNo, courseNo, cClassNo, score, TeacherNo, recordDate)l任教任教:Teach (courseNo, cClassNo, teacherNo, teachRole) l注意:注意:标识联系集标识联系集排课排课(Arrange)、排时间排时间(ScheduleTime)不必生成关系模式不必生成关系模式设置设置(Set)、归属归属(Have)、聘用聘用(Engage)、包含包含(Own)、排教室排教室(ScheduleClassroom)、指导指导(Supervise)、录入成绩录入成绩(Record)和先和先修要求修要求(Require)都是都是一对多一对多(或或多对一多对一)联系集,不需要单独生成联系集,不需要单独生成关系模式。关系模式。大学选课系统大学选课系统E-R模型转模型转化实例化实例n由多值属性转化而来的关系模式由多值属性转化而来的关系模式l电话号码电话号码:phoneNumber (studentNo, teleNumber)n由类层次转化而来的关系模式由类层次转化而来的关系模式l本科生本科生:Undergraduate (studentNo, interest )l研究生研究生:Graduate (studentNo, direction, TeacherNo)n由聚合转化而来的关系模式由聚合转化而来的关系模式l一对多一对多的的聚合聚合联系集联系集录入成绩录入成绩(Record)不单独转化为关系模不单独转化为关系模式,已并入式,已并入多对多多对多的的联系实体集联系实体集选课选课转化的关系模式中转化的关系模式中.总结总结E-R模型转化方法模型转化方法 nE-R模型模型(概念建模概念建模)和关系模型和关系模型(逻辑建模逻辑建模)都是对现实世界都是对现实世界的抽象。而的抽象。而E-R模型只是描述数据库的模型只是描述数据库的概念模型概念模型,若要被关若要被关系数据库所接受,必须进行信息转化,即将系数据库所接受,必须进行信息转化,即将E-R模型转化为模型转化为关系数据库所支持的逻辑模型关系数据库所支持的逻辑模型关系模式关系模式。 n转化方法转化方法l强实体集转化方法强实体集转化方法l弱实体集转化方法弱实体集转化方法l联系集转化方法联系集转化方法 l复合属性及多值属性转化方法复合属性及多值属性转化方法 l类层次转化方法类层次转化方法 l聚合转化方法聚合转化方法 部分资料从网络收集整理而来,供大家参考,感谢您的关注!
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号