文档库 最新最全的文档下载
当前位置:文档库 › ER图转换关系模式

ER图转换关系模式

ER图转换关系模式
ER图转换关系模式

1:1联系的转化

第一步:联系形成的关系独立存在:

职工表(职工号,姓名,年龄)主码:职工号

产品表(产品号,产品名,价格)主码:产品号

负责(职工号,产品号)主码:职工号或产品号合并方案1:“负责”与“职工”两关系合并:

职工(职工号,姓名,年龄,产品号)

产品(产品号,产品名,价格)

合并方案2:“负责”与“产品”两关系合并:

职工(职工号,姓名,年龄)

产品(产品号,产品名,价格,职工号)

1:n联系的转化

步骤一:联系形成的关系独立存在。

仓库(仓库号,地点,面积)主码:仓库号产品(产品号,产品名,价格)主码:产品号仓储(仓库号,产品号,数量)主码:产品号合并后方案:联系形成的关系与n端对象合并。仓库(仓库号,地点,面积)

产品(产品号,产品名,价格,仓库号,数量)

m:n联系的转化

该模型可转换为三个关系模式:

学生(学号,姓名,性别,年龄)主码:学号

课程(课程号,课程名,学分)主码:课程号

选课(学号,课程号,成绩)主码:学号+课程号

这个ER图可转换4个关系模式:

商店(商店编号,商店名,地址)

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)商品(商品号,商品名,规格,单价)

销售(商店编号,商品号,月销售量)

ER图转换为关系模型

将ER模型转换成关系数据库 ER模型转换关系数据库的一般规则: (1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。(2)对于二元联系,按各种情况处理,如下面所示。 二元 关系ER图 转换成的关 系 联系的处理主键外键 1:1(2个关系) 模式A 模式B (有两种) 处理方式(1): (1)把模式B的 主键,联系的属性 加入模式A 处理方式(2): (2)把模式A的 主键,联系的属性 加入模式B (略) (依据联系 的处理方式) 方式(1): 模式B的主键 为模式A外 键 方式(2): 表A的主键 为表B的外键

1:M (2个关系) 模式A 模式B 把模式A的主键, 联系的属性加入 模式B (略) 模式A的主 键为模式B的 外键 M:N (3个关系) 模式A 模式B 模式A-B 联系类型转换成 关系模式A-B; 模式A-B的属性: (a)联系的属性 (b)两端实体类型 的主键 两端实体 类型的主 键一起构 成模式 A-B主键 两端实体类 型的主键分 别为模式A-B 的外键 M:N联系的示例比如,ER图如下:

可以转换成以下模式: 学生(学号,姓名,性别,年龄) 主键为学号 课程(课程号,课程名,任课教师) 主键为课程号 选课(学号,课程号,成绩) 主键为课程号、学号,外键为课程号,学号; 1:N联系的示例 比如,ER图如下: 可转换为如下关系模式: 商店模式(商店编号,店名,店址,店经理) 主键为商店编号

商品模式(商品编号,商品名,单价,产地,商店编号,月销售量) 主键为商品编号,外键为商店编号 职工模式(职工编号,职工名,性别,工资,商店编号,开始时间) 主键为职工编号,外键为商店编号 真子集就是一个集 合中的元素全部是另一 个集合中的元素,但不 存在相等; 1、完全依赖与部分依赖: 对于函数依赖W A,如果存在V是W的真子集而函数依赖V A成立,则称A部分依赖于W;否则,若不存在这种V,则称A完全依赖于W; 2、传递依赖: 对于函数依赖X Y,如果Y X(X不函数依赖于A)而函数依赖Y Z成立,则称Z 对X传递依赖; 例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT),其中,SNO 表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。(SNO,CNO)-F->GRADE (完全函数依赖)

数据库系统原理-ER图转关系模式补充练习

1、旅游管理信息系统 国内旅游管理信息系统中涉及到与业务有关的信息有旅游线路、班次、团体、旅客、保险员、导游、宾馆、交通工具等。其ER图如图所示。 这个ER图有8个实体型,其属性如下: 旅游线路(路线号,起点,终点,天数,主要景点) 旅游班次(班次号,出发日期,回程日期,旅游标准,报价) 旅游团(团号,团名,人数,联系人,地址,电话) 游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话) 导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩) 交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间) 宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真) 保险单(保险单编号,保险费,投保日期) 这个ER图有7个联系类型,其中2个1:1联系,3个1:N联系,2个M:N联系。

解:根据ER图和转换规则,8个实体类型转换成8个关系模式,2个M:N联系转换成2个关系模式,共10个关系模式,如下: 旅游线路(路线号,起点,终点,天数,主要景点) 旅游班次(班次号,路线号,出发日期,回程日期,旅游标准,报价) 旅游团(团号,旅游班次号,团名,人数,联系人,地址,电话) 游客(游客编号,团号,姓名,性别,年龄,身份证号码,住址,电话) 导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩) 交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间) 宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真) 保险(保险单编号,团号,人数,保险费,投保日期) 陪同(旅游班次号,导游编号) 食宿(旅游班次号,宾馆编号)

第3周—将ER图转换成关系模式

以下各题,画出表达此问题的实体关系图。根据设计E-R模型,将其转换成关系模型,并标出主外键。 题1:某学院的教学管理的对象是:系(系名,办公地址)、教师(教师工号、姓名、年龄、职称)、学生(学号,姓名,生日)、课程(课程号,课程名,学分)。其中,一个系有多个教师每个教师只属于一个系,每个老师可上多门课,每门课只由一个老师上,每个学生可以在某学期选修多门课,每门课可有多个学生选修。 答: 题2:某旅行社管理系统管理的对象是:景点(景点编号,景点名称,地点,景点描述)、线路(线路编号,线路名称,线路描述)、导游(工号,姓名,等级)、旅游团队(团队编号,人数,开始日期,截止日期),其中,每条线路由多个景点组成,不同线路的景点存在交叉;每条线路有多名导游,但一名导游只负责一条线路;每条线路可同时存在多个旅游团队,每个团队只可旅游一条线路。 题3:某研究所科研管理系统情况如下: 部门:包括部门号、部门名、办公室。每个部门有多名职工。 职工:包括职工号、姓名、性别、年龄、职称、专业、简历。 简历:包括开始时间、终止时间、工作单位、担任职务。

项目:包括项目编号、项目名称、项目经费、项目来源、负责人。 每名职工可参加多个项目,每个项目可多名职工参加。答:E-R图: 关系模型: 职工(职工号,姓名,性别,年龄,职称,专业,部门)主键:职工号;外键:部门; 简历(开始时间,终止时间,工作单位,担任职务,职工号) 主键:开始时间,终止时间,职工号;外键:职工号; 参加(职工号,项目编号) 主键:职工号,项目;外键:职工号、项目编号。 题4:图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成

ER图转换为关系模式实例

二、概念结构设计 1、系统概念模型 图1选课系统概念模型E-R图 (注:本例中上课时间可以抽象成实体,也可以抽象成属性。) 2、详细说明 (1)系统涉及的实体集 ●班级实体集:具有属性班级名称和选课学分限制。 ●学生实体集:具有属性学号、姓名、性别和生日。 ●课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。 ●上课时间实体集:具有属性时间。 (2)系统涉及的联系 ●一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学 生之间的联系为1:M的联系。 ●一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班 级和课程之间的必修联系是M:N的联系。 ●一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生 和课程之间的联系是M:N的联系。

一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:N的联系。 三、逻辑结构设计 将E-R模型转换为关系模式 (1)班级实体集可以转换为关系 CLASS(CLASSNAME,MAXCREDIT,MINCREDIT) CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。 (2)学生实体集可以转换为关系 STUDENT(STUDENTID , NAME , SEX , BIRTHDAY) STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日 (3)课程实体可以转换为关系 COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。 (4)班级和学生之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展学生关系来表示。 STUDENT(STUDENTID , NAME , SEX , BIRTHDAY , CLASSNAME) CLASSNAME表示学生所在班级名。 (5)班级和课程之间的必修联系可以转换为关系 CLASSCOURSE(CLASSNAME , COURSEID) CLASSNAME表示班级名称,COURSEID表示课程号。 (6)学生和课程之间的选修联系可以转化为关系 STUDENTCOUSE(STUDENTID, COURSEID,GRADE) STUDENTID表示学号,COURSEID表示课程号,GRADE表示成绩。(7)课程和上课之间的联系可以转化为关系 COURSETIME(COURSEID , TIME) COURSEID表示课程号,TIME表示上课时间。 (注:若将上课时间抽象成属性,则不必有关系(7)。) 四、数据库物理结构设计 1、把关系模型转化为表结构 (1)班级信息表(class):包含所有的班级信息。

将ER模型转换为关系模型的规则

将ER模型转换为关系模型的规则 端实体对应的关系模式合并,则需要在该关系模式的属性中加入1端关系模式的码和联系本身的属性。(4)一个m:n的联系可以转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(5)三个以上实体间的一个多元联系可以转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。S1:处理强实体建立一个新表T,将所有简单属性(复合属性拆解为简单属性)添加进表,确定主码;S2:处理1:1的弱实体W找到其依附的强实体所映射的表T,将弱实体所有简单属性(复合属性拆解为简单属性)添加进该表;S3:处理1:N或M:N的弱实体W建立一个新表T,将W所有简单属性(复合属性拆解为简单属性)添加进T表;如果是1:N的弱实体,添加W依附的强实体的主码为外码到T 表,T表的主码由该外码和W的鉴别器组成;如果是N:M的弱实体,建立新的具有唯一值的一列为主码;S4:处理1:1的联系R确定参与该联系的表S和T,选定全参与的一方S,将另一方T的主码作为外码加入S,将联系R的所有属性(复合属性拆解为简单属性)添加入S;S5:处理1:N的联系R确定处于N端的实体S和处于1端的实体T,将T的主码作为外码加入S,将联系R的所有属性(复合属性拆解为简单属性)添加入S;S6:处理N:M的联系R

建立新表T,将参与该关系的实体的主码作为外码加入T,将联系R的所有属性(复合属性拆解为简单属性)添加入T;S7:处理多值属性A建立新表T,将A的所有属性(复合属性拆解为简单属性)添加入T,将A所属的实体或联系的主码作为外码加入T,将该外码和A对应的属性作为T的主码。

相关文档
相关文档 最新文档