您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > CH4 数据库建模(E-R模型)_7-8节
第4章数据库建模(实体-联系模型)数据库系统原理与设计(第2版)认识自己用SWOT分析来了解自我:Strengths:自己的强项;Weakness:自己需要改进的地方;Opportunities:机会在那里;Threats:负面的因素。目录弱实体集4.4数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7扩展E-R特征4.5E-R建模问题4.6逻辑设计——E-R模型转化为关系模型4.8概念设计任务概念设计(即E-R模型设计)主要是根据需求分析规格说明书完成如下任务:定义实体集及属性,实体集的主码,用E-R图及数据字典描述被建模的实体集;定义联系集及属性,联系集的主码,联系的映射基数及参与约束,实体的角色,并用E-R图描述被建模的联系集;分析初步E-R图中是否存在依赖约束、多值联系?利用扩展E-R特征对对象进行分类及聚合;去除冗余数据,并保证满足所有数据需求不冲突;对照需求分析规格说明书,检查E-R模型,看其是否包含了所有数据、能否满足所有功能需求等。大学选课管理系统需求分析系统需求分析系统目标及边界功能需求分析数据需求及业务规则分析数据约束分析大学选课管理系统的目标及边界随着学分制的普及,大学选课管理系统已成为大学信息管理系统中的重要组成部分。本系统面向全体师生,对排课(每门课程开几个教学班?谁来任教?上课时间与教室安排)、选修及成绩进行集中管理,以实现排课、选课及成绩管理的科学化、系统化和自动化,最大限度地为老师和学生提供方便和提高管理效率。学院基本信息管理:学院基本信息录入、维护与查询班级基本信息管理:班级基本信息录入、维护与查询学生基本信息管理:学生基本信息录入、维护与查询教师基本信息管理:教师基本信息录入、维护与查询课程基本信息管理:课程基本信息录入、维护与查询教室基本信息管理:教室基本信息录入、维护与查询排课管理:根据开课计划实现自动或半自动的排课学生选课:提供选课、退选和改选功能课表查询:提供不同人员以不同方式查询选课信息成绩管理:学生考试成绩录入、修改及查询大学选课管理系统的功能需求分析大学学分制管理系统的功能需求?数据需求及业务规则分析学院需要记录学院编号、学院名称、学院地址等信息,由学院编号唯一标识教师要求记录教师编号、教师姓名、职称、学位等信息,由教师编号唯一标识一个学院可聘用多名教师,但一名教师只能属于一个学院班级需要记录班级编号、班级名称、年级、班级人数等信息,由班级编号唯一标识一个学院有多个班级,一个班级只能归属于某一个学院班级人数为派生属性,它的值可通过统计学生实体集中属于该班学生的人数而得到数据需求及业务规则分析学生需要存储学号、姓名、性别、出生日期、家庭住址、电话号码等信息,由学号唯一标识家庭住址由省份、城市、街道组成——复合属性;电话号码可能有多个,如宿舍电话、实验室电话、移动电话等——多值属性;年龄可由生日推算出来——派生属性,不作为存储属性学生可进一步分本科生和研究生两类,本科生需记录个人兴趣,研究生需记录研究方向一个班级有多名学生,但一个学生只能属于某一个班级一个教师可以指导多名研究生,但一个研究生只能安排一名指导教师数据需求及业务规则分析课程需要记录课程号、课程名称、课时、学分等信息,由课程号唯一标识一个学院可管理多门课程,但一门课程只能归属一个学院课程之间需设置先修要求,一门主课程至多可以指定一门先修课程,但一门先修课程可对应于多门主课程每门课程可以安排多个开课班,开课班需存储开课班号、年份、学期等信息,开课班号为部分码一个开课班可安排多名教师任教,需明确教师任教开课班的任教角色;一名教师也可同时任教多个开课班一个开课班被多名学生选修,每个学生可选修多个开课班一个学生同一学期不能选修同一门课程的同一个开课班多次;也不能选修同一门课程的多个不同开课班如何理解开课班与学生之间多对多联系的语义(约束)?数据需求及业务规则分析教室需要记录教室编号、所在教学楼、电话号码、教室类型、教室容量等信息,由教室编号唯一标识一个教室可安排多个开课班,一个开课班可安排多个时间和教室上课,且每次上课可能安排在相同或不同的教室一个教室在同一时间段不允许安排多个开课班上课(同一任课教师的同一门课程的多个开课班除外:合班)一个学生在同一时间段不允许选修多个开课班(重修课程是否除外?)同一名教师不允许在同一时间段安排多个不同课程的开课班或非合班上课的相同课程的开课班教师在所任教的开课班考试结束后,需在规定的时间内将所任教学生的成绩录入系统,并要求记录登分日期如何理解教室与开课班之间多对多联系的语义?主要业务的局部建模主要实体集有:学院、班级、学生、教师、课程、教室观察学生选修某学期的某门课程,只能从该学期该课程实际开设的若干个开课班中进行选修;教师安排教学任务,也是针对需开设的开课班进行分配;学生通过选修某个开课班来明确是哪位(些)教师给其授课;一个学生可能会出现多次选修同一门课程的情况(如重修)。即学生与课程之间的选课联系是多值联系。学生课程选课-任教教师多对多的三元联系集学生、课程、教师之间的建模引入开课班弱实体集,它依赖于课程实体集学生选修课程是指选择为其所开设的某个开课班某个开课班需要安排任课教师。因此,学生与教师之间的授课联系就转化为通过开课班与教师之间的任教联系来间接关联教师学生Enroll课程排课CourseClass任教选修授课选课开课班教师主要业务的局部建模上课时间、上课地点的建模假设一个开课班可能安排多个时间上课,且不同时间可能安排在相同的或不同的教室上课,则排时间教室联系集可能是多值联系。主要业务的局部建模课程排课开课班开课班号年份学期教室排时间教室教室编号所在教学楼电话号码教室类型教室容量上课时间开课班教室排时间教室编号所在教学楼电话号码教室类型教室容量时间安排排教室上课时间年份学期开课班号学生实体集的类层次及研究生指导的建模主要业务的局部建模学生本科生研究生研究方向兴趣爱好ISA教师指导“录入成绩”联系集的聚合建模主要业务的局部建模学生选课教师录入成绩录入日期学生选课教师录入成绩录入日期(a)直接表示聚合的E-R建模(b)通过联系实体集的E-R建模成绩成绩开课班开课班ISA本科生研究生选课录入成绩录入日期包含班级设置图4-38简化的大学选课系统E-R图时间安排排时间教师任教任教角色聘用聘用日期学院归属开课班排课课程先修要求主课程先修课程指导排教室教室学生成绩选课定义实体集及属性学院:学院编号、学院名称、学院地址班级:班级编号、班级名称、年级、班级人数。班级人数为派生属性教师:教师编号、教师姓名、职称、学位学生:学号、姓名、性别、出生日期、家庭住址、电话号码复合属性:家庭住址——省份、城市、街道多值属性:电话号码本科生、研究生,它们具有学生的所有属性,此外本科生:个人兴趣研究生:研究方向教室:教室编号、所在教学楼、电话号码、教室类型、教室容量课程:课程编号、课程名称、学分、课时数开课班:开课班号、年份、学期、教室容量、选课人数开课班号为部分码,能够区分同一门课程在不同学期及同一学期所开设的不同开课班教室容量、选课人数是派生属性时间安排:上课时间上课时间为部分码,能够区分同一个开课班的不同上课时间定义实体集及属性定义联系集及属性设置联系集:实体集学院与班级之间的一对多联系集表明一个学院可设置多个班级,但一个班级只属于一个学院归属联系集:实体集课程与学院之间的多对一联系集表明一门课程只归属于一个学院,但一个学院可管理多门课程聘用联系集:实体集学院与教师之间的一对多联系集表明一个学院可聘用多名教师,但一名教师只能受聘于一个学院联系属性为聘用日期包含联系集:实体集班级与学生之间的一对多联系集表明一个班级可包含多名学生,但一名学生只属于一个班级排课标识联系集:课程与开课班弱实体集之间的一对多联系集表明一门课程可安排多个开课班,开课班号为部分码选课联系集:学生与开课班之间的多对多联系集表明一个学生可选修多个开课班,且一个开课班可包括多名学生联系属性为成绩任教联系集:教师与开课班之间的多对多联系集表明一教师可任教多个开课班,且一开课班可安排多名教师任教联系属性为任教角色排时间标识联系集:开课班与时间安排弱实体集之间的一对多联系集表明一个开课班可安排多个上课时间,上课时间为部分码定义联系集及属性排教室联系集:弱实体集时间安排与教室之间的多对一联系集表明多个上课时间可安排在同一个教室上课,但一个教室在一个上课时间只能安排一个开课班上课指导联系集:实体集教师与研究生之间的一对多联系集表明一教师可指导多名研究生,但一名研究生只能安排一名指导教师先修要求联系集:由具有先修课程角色和具有主课程角色的课程实体之间的一对多联系集表明一门主课程至多指定一门先修课程,但一门先修课程可对应于多门主课程录入成绩联系集:实体集教师与联系集选课之间的一对多联系集联系属性为录入日期定义联系集及属性定义数据字典学院(Institute)实体集的数据字典如图4-39所示属性名含义类别域及约束实例instituteNo学院编号主码char(2),由2位字母组成,代表学院的缩写。不允许取空值CSinstituteName学院名称varchar(30),不允许取空值计算机学院instituteAddress学院地址varchar(40)麦庐校园荟庐楼图4-39学院(Institute)实体集的数据字典定义数据字典学生(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)实体集的数据字典定义数据字典选课(Enroll)联系集的数据字典如图4-47所示属性名含义类别域及约束实例score成绩smallint,0~100之间的整数95recordDate录入日期联系datetime,它是选课联系集与教师实体集之间的多对一联系集录入成绩的联系属性2011-07-08图4-47选课(Enroll)联系集的数据字典进一步的思考?班主任、学院领导、学校领导等的不同查询要求?学生所学专业?教学计划?课程类别?学生毕业要求?毕业资格审查?开课任务书?选课推荐(选课提醒)?选课优先级?教材管理?教学资源管理?考试安排?学生评教?预警(亮黄牌)、劝其退学(亮红牌)?……小结概念设计任务下一步:把概念设计转为为逻辑设计!目录弱实体集4.4数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7扩展E-R特征4.5E-R建模问题4.6逻辑设计——E-R模型转化为关系模型4.8E-R模型转化方法E-R模型(概念建模)和关系模型(逻辑建模)都是对现实世界的抽象。而E-R模型只是描述数据库的概念模型,若要被关系数据库所接受,必须进行信息转化,即将E-R模型转化为关系数
本文标题:CH4 数据库建模(E-R模型)_7-8节
链接地址:https://www.777doc.com/doc-3783946 .html