ER 转换 40分,无满意结帖,结帖人z1988316]

发布时间:2016-12-11 17:52:00 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"ER 转换 40分,无满意结帖,结帖人z1988316]",主要涉及到ER 转换 40分,无满意结帖,结帖人z1988316]方面的内容,对于ER 转换 40分,无满意结帖,结帖人z1988316]感兴趣的同学可以参考一下。

转换一般遵循如下原则: 1.一个实体型转换为一个关系模式。实体的属性就是关系的属性。实 体的码就是关系的码。 例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号 为学生关系的码: 学生(学号,姓名,出生日期,所在系,年级,平均成绩) 同样,性 别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换 为一个关系模式。 2.一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系 的属性转化为关系的属性,该关系的码则有三种情况: 若联系为1:1,则每个实体的码均是该关系的后选码。 若联系为1:n,则关系的码为n端实体的码。 若联系为m:n,则关系的码为诸实体码的组合。 2.1 联系为1:1 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对 应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,l 每个实体的码均是 该关系的候选码。 如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加 入另一个关系模式的码和联系本身的属性。 例如在我们的例子中,"管理"联系为1:1联系,我们可以将其转换为 一个独立的关系模式:  管理(职工号,班级号)或 管理(职工号,班级号)  管理"联系也可以与班级或教师关系模式合并。如果与班级关系模式合 并,则只需在班级关系中加入教师关系的码,即职工号:  班级:{班级号,学生人数,职工号}  同样,如果与教师关系模式合并,则只需在教师关系中加入班级关系 的码,即班级号:  教师:{职工号,姓名,性别,职称,班级号,是否为优秀班主任} 2.2 联系为1:n 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的 关系模式合并。 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端 实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端 实体的码。 例如在我们的例子中,"组成"联系为1:n联系,将其转换为关系模式。 一种方法是使其成为一个独立的关系模式: 组成(学号,班级号)  其中学号为"组成"关系的码。 另一种方法是将其学生关系模式合并,这时学生关系模式为:  学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)  后一种方法可以减少系统中的关系个数,一般情况下更倾向于采用这 种方法。 2.3 联系为m:n 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。 例如在我们的例子中,"选修"联系是一个m:n联系,可以将它转换为如 下关系模式,其中学号与课程号为关系的组合码: 选修(学号,课程号,成绩) 三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多 元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。 例如在我们的例子中,"选修"联系是一个m:n联系,可以将它转换为如 下关系模式,其中学号与课程号为关系的组合码: 选修(学号,课程号,成绩) 三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多 元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。 而关系的码为各实体码的组合。 例如在我们的例子中,"讲授"联系是一个三元联系,可以将它转换为 如下 关系模式,其中课程号、教师号和书号为关系的组合码:    讲授(课程号,教师号,书号) 3.同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和 m:n三种情况分别处理。 例如,如果教师实体集内部存在领导与被领导的1:n自联系,我们可  以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不 同,可用不同的属性名加以区分,比如在合并后的关系模式中,主码 仍为职工号,再增设一个"系主任"属性,存放相应系主任的职工号。  4.具有相同码的关系模式可合并。 为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可 以考虑将他们合并为一个关系模式。合并方法是将其中一个关系模式 的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可 能同名也可能不同名),并适当调整属性的次序。 例如我们有一个"拥有"关系模式:拥有(学号,性别)  有一个学生关系模式: 学生(学号,姓名,出生日期,所在系,年级, 班级号,平均成绩)  这两个关系模式都以学号为码,我们可以将它们合并为一个关系模式, 假设合并后的关系模式仍叫学生:  学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均 成绩)  按照上述4条原则,学生管理子系统中的18个实体和联系可以转换为 下列关系模型:  学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均 成绩,档案号)  性别(性别,宿舍楼)  宿舍(宿舍编号,地址,性别,人数)  班级(班级号,学生人数) 教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任)  教学(职工号,学号)  课程(课程号,课程名,学分,教室号)  选修(学号,课程号,成绩)  教科书(书号,书名,价钱)  教室(教室编号,地址,容量)  讲授(课程号,教师号,书号)  档案材料(档案号,......)  该关系模型由12个关系模式组成。其中学生关系模式包含了"拥有"联 系、"组成"联系、"归档"联系所对应的关系模式;教师关系模式包含 了"管理"联系所对应的关系模式;宿舍关系模式包含了"住宿"联系所 对应的关系模式;课程关系模式包含了"开设"联系所对应的关系模式。  

关系式够全的啊

该回复于2010-12-03 13:45:29被版主删除

1:1 还可以根据参与的强弱来细分,这样可以减少空间浪费,参与弱的主码作为参与强的实体的外键, 在M:N 中其实也包括了自反的情况

上一篇:使用sqlserver查询两表,并实现分页,代码如下 100lanzhen52134]
下一篇:[推荐] 【SQL SERVER中关于大容量数据的导入导出总结】 100feixianxxx]

相关文章

相关评论