CH4 数据库建模(E-R模型)_7-8节

上传人:y****8 文档编号:140271679 上传时间:2020-07-28 格式:PPT 页数:47 大小:1.09MB
返回 下载 相关 举报
CH4 数据库建模(E-R模型)_7-8节_第1页
第1页 / 共47页
CH4 数据库建模(E-R模型)_7-8节_第2页
第2页 / 共47页
CH4 数据库建模(E-R模型)_7-8节_第3页
第3页 / 共47页
CH4 数据库建模(E-R模型)_7-8节_第4页
第4页 / 共47页
CH4 数据库建模(E-R模型)_7-8节_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《CH4 数据库建模(E-R模型)_7-8节》由会员分享,可在线阅读,更多相关《CH4 数据库建模(E-R模型)_7-8节(47页珍藏版)》请在金锄头文库上搜索。

1、第4章 数据库建模 (实体-联系模型),数据库系统原理与设计 ( 第 2 版 ),认识自己 用SWOT分析来了解自我: Strengths:自己的强项; Weakness:自己需要改进的地方; Opportunities:机会在那里; Threats: 负面的因素。,目 录,概念设计任务,概念设计(即E-R模型设计)主要是根据需求分析规格说明书完成如下任务: 定义实体集及属性,实体集的主码,用E-R图及数据字典描述被建模的实体集; 定义联系集及属性,联系集的主码,联系的映射基数及参与约束,实体的角色,并用E-R图描述被建模的联系集; 分析初步E-R图中是否存在依赖约束、多值联系? 利用扩展E-

2、R特征对对象进行分类及聚合; 去除冗余数据,并保证满足所有数据需求不冲突; 对照需求分析规格说明书,检查E-R模型,看其是否包含了所有数据、能否满足所有功能需求等。,大学选课管理系统需求分析,系统需求分析 系统目标及边界 功能需求分析 数据需求及业务规则分析 数据约束分析,大学选课管理系统的目标及边界,随着学分制的普及,大学选课管理系统已成为大学信息管理系统中的重要组成部分。 本系统面向全体师生,对排课(每门课程开几个教学班?谁来任教?上课时间与教室安排)、选修及成绩进行集中管理,以实现排课、选课及成绩管理的科学化、系统化和自动化,最大限度地为老师和学生提供方便和提高管理效率。,学院基本信息管

3、理:学院基本信息录入、维护与查询 班级基本信息管理:班级基本信息录入、维护与查询 学生基本信息管理:学生基本信息录入、维护与查询 教师基本信息管理:教师基本信息录入、维护与查询 课程基本信息管理:课程基本信息录入、维护与查询 教室基本信息管理:教室基本信息录入、维护与查询 排课管理:根据开课计划实现自动或半自动的排课 学生选课:提供选课、退选和改选功能 课表查询:提供不同人员以不同方式查询选课信息 成绩管理:学生考试成绩录入、修改及查询,大学选课管理系统的功能需求分析,大学学分制管理系统的功能需求?,数据需求及业务规则分析,学院需要记录学院编号、学院名称、学院地址等信息,由学院编号唯一标识 教

4、师要求记录教师编号、教师姓名、职称、学位等信息,由教师编号唯一标识 一个学院可聘用多名教师,但一名教师只能属于一个学院 班级需要记录班级编号、班级名称、年级、班级人数等信息,由班级编号唯一标识 一个学院有多个班级,一个班级只能归属于某一个学院 班级人数为派生属性,它的值可通过统计学生实体集中属于该班学生的人数而得到,数据需求及业务规则分析,学生需要存储学号、姓名、性别、出生日期、家庭住址、电话号码等信息,由学号唯一标识 家庭住址由省份、城市、街道组成复合属性; 电话号码可能有多个,如宿舍电话、实验室电话、移动电话等多值属性; 年龄可由生日推算出来派生属性,不作为存储属性 学生可进一步分本科生和

5、研究生两类,本科生需记录个人兴趣,研究生需记录研究方向 一个班级有多名学生,但一个学生只能属于某一个班级 一个教师可以指导多名研究生,但一个研究生只能安排一名指导教师,数据需求及业务规则分析,课程需要记录课程号、课程名称、课时、学分等信息,由课程号唯一标识 一个学院可管理多门课程,但一门课程只能归属一个学院 课程之间需设置先修要求,一门主课程至多可以指定一门先修课程,但一门先修课程可对应于多门主课程 每门课程可以安排多个开课班,开课班需存储开课班号、年份、学期等信息,开课班号为部分码 一个开课班可安排多名教师任教,需明确教师任教开课班的任教角色;一名教师也可同时任教多个开课班 一个开课班被多名

6、学生选修,每个学生可选修多个开课班 一个学生同一学期不能选修同一门课程的同一个开课班多次;也不能选修同一门课程的多个不同开课班,如何理解开课班与学生之间多对多联系的语义(约束)?,数据需求及业务规则分析,教室需要记录教室编号、所在教学楼、电话号码、教室类型、教室容量等信息,由教室编号唯一标识 一个教室可安排多个开课班,一个开课班可安排多个时间和教室上课,且每次上课可能安排在相同或不同的教室 一个教室在同一时间段不允许安排多个开课班上课 (同一任课教师的同一门课程的多个开课班除外:合班) 一个学生在同一时间段不允许选修多个开课班 (重修课程是否除外?) 同一名教师不允许在同一时间段安排多个不同课

7、程的开课班或非合班上课的相同课程的开课班 教师在所任教的开课班考试结束后,需在规定的时间内将所任教学生的成绩录入系统,并要求记录登分日期,如何理解教室与开课班之间多对多联系的语义?,主要业务的局部建模,主要实体集有:学院、班级、学生、教师、课程、教室 观察 学生选修某学期的某门课程,只能从该学期该课程实际开设的若干个开课班中进行选修; 教师安排教学任务,也是针对需开设的开课班进行分配; 学生通过选修某个开课班来明确是哪位(些)教师给其授课; 一个学生可能会出现多次选修同一门课程的情况(如重修)。即学生与课程之间的选课联系是多值联系。,多对多的三元联系集,学生、课程、教师之间的建模 引入开课班弱

8、实体集,它依赖于课程实体集 学生选修课程是指选择为其所开设的某个开课班 某个开课班需要安排任课教师。因此,学生与教师之间的授课联系就转化为通过开课班与教师之间的任教联系来间接关联,选课,教师,主要业务的局部建模,上课时间、上课地点的建模 假设一个开课班可能安排多个时间上课,且不同时间可能安排在相同的或不同的教室上课,则排时间教室联系集可能是多值联系。,主要业务的局部建模,学生实体集的类层次及研究生指导的建模,主要业务的局部建模,“录入成绩”联系集的聚合建模,主要业务的局部建模,图4-38 简化的大学选课系统E-R图,定义实体集及属性,学院:学院编号、学院名称、学院地址 班级:班级编号、班级名称

9、、年级、班级人数。 班级人数为派生属性 教师:教师编号、教师姓名、职称、学位 学生:学号、姓名、性别、出生日期、家庭住址、电话号码 复合属性:家庭住址省份、城市、街道 多值属性:电话号码 本科生、研究生,它们具有学生的所有属性,此外 本科生:个人兴趣 研究生:研究方向,教室:教室编号、所在教学楼、电话号码、教室类型、教室容量 课程:课程编号、课程名称、学分、课时数 开课班:开课班号、年份、学期、教室容量、选课人数 开课班号为部分码,能够区分同一门课程在不同学期及同一学期所开设的不同开课班 教室容量、选课人数是派生属性 时间安排:上课时间 上课时间为部分码,能够区分同一个开课班的不同上课时间,定

10、义实体集及属性,定义联系集及属性,设置联系集:实体集学院与班级之间的一对多联系集 表明一个学院可设置多个班级,但一个班级只属于一个学院 归属联系集:实体集课程与学院之间的多对一联系集 表明一门课程只归属于一个学院,但一个学院可管理多门课程 聘用联系集:实体集学院与教师之间的一对多联系集 表明一个学院可聘用多名教师,但一名教师只能受聘于一个学院 联系属性为聘用日期 包含联系集:实体集班级与学生之间的一对多联系集 表明一个班级可包含多名学生,但一名学生只属于一个班级,排课标识联系集:课程与开课班弱实体集之间的一对多联系集 表明一门课程可安排多个开课班,开课班号为部分码 选课联系集:学生与开课班之间

11、的多对多联系集 表明一个学生可选修多个开课班,且一个开课班可包括多名学生 联系属性为成绩 任教联系集:教师与开课班之间的多对多联系集 表明一教师可任教多个开课班,且一开课班可安排多名教师任教 联系属性为任教角色 排时间标识联系集:开课班与时间安排弱实体集之间的一对多联系集 表明一个开课班可安排多个上课时间,上课时间为部分码,定义联系集及属性,排教室联系集:弱实体集时间安排与教室之间的多对一联系集 表明多个上课时间可安排在同一个教室上课,但一个教室在一个上课时间只能安排一个开课班上课 指导联系集:实体集教师与研究生之间的一对多联系集 表明一教师可指导多名研究生,但一名研究生只能安排一名指导教师

12、先修要求联系集:由具有先修课程角色和具有主课程角色的课程实体之间的一对多联系集 表明一门主课程至多指定一门先修课程,但一门先修课程可对应于多门主课程 录入成绩联系集:实体集教师与联系集选课之间的一对多联系集 联系属性为录入日期,定义联系集及属性,定义数据字典,学院(Institute)实体集的数据字典如图4-39所示,图4-39 学院(Institute)实体集的数据字典,定义数据字典,学生(Student)实体集的数据字典如图4-41所示,图4-41 学生(Student)实体集的数据字典,定义数据字典,选课(Enroll)联系集的数据字典如图4-47所示,图4-47 选课(Enroll)联

13、系集的数据字典,进一步的思考?,班主任、学院领导、学校领导等的不同查询要求? 学生所学专业?教学计划?课程类别? 学生毕业要求?毕业资格审查? 开课任务书? 选课推荐(选课提醒)? 选课优先级? 教材管理?教学资源管理? 考试安排? 学生评教? 预警(亮黄牌)、劝其退学(亮红牌)? ,小结,概念设计任务 下一步:把概念设计转为为逻辑设计!,目 录,E-R模型转化方法,E-R模型(概念建模)和关系模型(逻辑建模)都是对现实世界的抽象。而E-R模型只是描述数据库的概念模型,若要被关系数据库所接受,必须进行信息转化,即将E-R模型转化为关系数据库所支持的逻辑模型关系模式。 转化方法 强实体集转化方法

14、 弱实体集转化方法 联系集转化方法 复合属性及多值属性转化方法 类层次转化方法 聚合转化方法,E-R模型转化方法,强实体集转化方法 将强实体集映射成关系模式很直接,只需将实体集的每个属性对应为关系模式的属性,实体集的码作为关系模式的码。 设强实体集E具有a1, a2, , an属性,其转化的关系模式定义如下: 关系模式名:E; 属性集:a1, a2, , an; 主码:实体集E的主码; 外码:无。 例如,由实体集课程Course转化的关系模式为(加下划线的属性表示它是主码成员): Course (courseNo, courseName, creditHour, courseHour),E-R

15、模型转化方法,弱实体集转化方法 设弱实体集A具有属性集a1, a2, , am,且p1, p2, , pk为A的部分码(pia1, a2, , am, 1ik, km);B是A所依赖的强实体集且主码为属性集b1, b2, , bn,则A转化的关系模式定义如下: 关系模式名:A; 属性集: a1, a2, , am b1, b2, , bn; 主码: b1, b2, , bn p1, p2, , pk; 外码: 参照关系B的属性b1, b2, , bn。 例如,由弱实体集开课班CourseClass转化的关系模式为(外码属性成员用斜体表示): CourseClass (courseNo, cCl

16、assNo, year, semester, capacity, enrollNumber),E-R模型转化方法,联系集一般转化方法 设R是一联系集,其描述性属性集为a1, a2, , am;参与R的所有实体集ES的主码的并集形成属性集合b1, b2, , bn,则由R转化的关系模式定义如下: 关系模式名:R; 属性集: a1, a2, , am b1, b2, , bn; 主码: 按映射基数对应规则确定; 外码: 参照参与关系EiES及各自对应的主码属性b1, b2, , bn。,E-R模型转化方法,一对多或一对一联系集的转化 可不转化为单独的关系模式,而采用下列方法转化: 若A到B联系集为一对多联系,则在由B转化的关系模式中增加A的主码属性(这些属性即为参照A主码的外码)。 例如,联系集聘用(Engage)为实体集学院(Institute)与实体集教师(Teacher)之间的一对多联系集。 可转化为: Teacher (teacherNo, tearcherName, title, degree, hireDate, instituteNo) 若A到B联系集

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号