数据库原理E-R图向关系模型的转换原则.ppt
数据库原理数据库原理1.3 E-R图向关系模型的转换原则图向关系模型的转换原则计算机学院应用系计算机学院应用系胡霍真胡霍真2数据库原理数据库原理实体集实体集n强实体集转换成表时:强实体集转换成表时:H关系的属性:实体集的属性关系的属性:实体集的属性H关系的码:实体集的码关系的码:实体集的码n例子:例子:班级(班级(班号班号,获奖情况)获奖情况)班级班级班号班号获奖情况获奖情况班号班号获奖情况获奖情况191091优秀班级优秀班级191092191093文明班级文明班级班级班级3数据库原理数据库原理n一法:转换为一个独立的关系模式一法:转换为一个独立的关系模式n例子:例子:班级(班级(班号班号,获奖情况)获奖情况)班长(班长(班长学号班长学号,姓名,年龄),姓名,年龄)负责(负责(班号班号,班长学号),班长学号)或或 负责(班号,负责(班号,班长学号班长学号)1:1联系集联系集班长班长负责负责班级班级11班长学号班长学号姓名姓名年龄年龄班号班号获奖情况获奖情况班号班号班长学号班长学号191091200903191092200956191093200971负责负责4数据库原理数据库原理1:1联系集(续)联系集(续)n二法:与任意一方合并二法:与任意一方合并n例子:例子:班级(班级(班号班号,获奖情况,班长学号)获奖情况,班长学号)班长(班长(班长学号班长学号,姓名,年龄),姓名,年龄)或或 班级(班级(班号班号,获奖情况)获奖情况)班长(班长(班长学号班长学号,姓名,年龄,班号),姓名,年龄,班号)班长班长负责负责班级班级11班长学号班长学号姓名姓名年龄年龄班号班号获奖情况获奖情况5数据库原理数据库原理n一法:转换为一个独立的关系模式一法:转换为一个独立的关系模式n例子:例子:班级(班级(班号班号,获奖情况)获奖情况)学生(学生(学号学号,姓名,年龄),姓名,年龄)拥有(拥有(学号学号,班号),班号)1:n联系集联系集学生学生拥有拥有班级班级1m学号学号姓名姓名年龄年龄班号班号获奖情况获奖情况6数据库原理数据库原理1:n联系集(续)联系集(续)n二法:与多方合并二法:与多方合并n例子:例子:班级(班级(班号班号,获奖情况)获奖情况)学生(学生(学号学号,姓名,年龄,班号),姓名,年龄,班号)n可以减少系统中的关系个数,一般可以减少系统中的关系个数,一般情况下更倾向于采用这种方法。情况下更倾向于采用这种方法。学生学生拥有拥有班级班级1m学号学号姓名姓名年龄年龄班号班号获奖情况获奖情况7数据库原理数据库原理m:n联系集联系集n一个一个m:n联系转换为一个独立的关联系转换为一个独立的关系模式系模式n例子:例子:学生(学生(学号学号,姓名,年龄),姓名,年龄)课程(课程(课程号课程号,课程名称,学分),课程名称,学分)选课(选课(学号,课程号学号,课程号,成绩),成绩)学生学生选课选课课程课程mn学号学号姓名姓名年龄年龄课程号课程号课程名称课程名称学分学分成绩成绩8数据库原理数据库原理n三个或三个以上实体间的一个多元联系转换为三个或三个以上实体间的一个多元联系转换为一个关系模式一个关系模式H关系的属性:与该多元联系相连的各实体关系的属性:与该多元联系相连的各实体的码以及联系本身的属性的码以及联系本身的属性H关系的候选码:各实体码的组合关系的候选码:各实体码的组合多元联系集多元联系集9数据库原理数据库原理自联系自联系n同一实体集的实体间的联系,即自联系,也可按上述同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和和m:n三种情况分别处理。三种情况分别处理。n例子:职工(例子:职工(职工号职工号,姓名,姓名,电话号码,电话号码,经理经理职工号职工号)职工职工领导领导1经理经理n普通员工普通员工职工号职工号姓名姓名电话号码电话号码10数据库原理数据库原理n具有相同码的关系模式可合并具有相同码的关系模式可合并H目的:减少系统中的关系个数。目的:减少系统中的关系个数。H合并方法:将其中一个关系模式的全部属性加合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性(可能同名也可能不同名),并适当调整属性的次序。属性的次序。H例子:例子:拥有(拥有(学号学号,性别),性别)学生(学生(学号学号,姓名,年龄),姓名,年龄)可以将它们合并为一个关系模式:可以将它们合并为一个关系模式:学生(学生(学号学号,姓名,性别,年龄),姓名,性别,年龄)表的合并表的合并11数据库原理数据库原理银行系统的银行系统的E-R图图顾客顾客存储存储账户账户mn身份证号身份证号姓名姓名地址地址账号账号余额余额贷款贷款放贷放贷银行银行1m贷款号贷款号贷款数额贷款数额银行名称银行名称 所在城市所在城市资产资产借贷借贷mn存放存放m112数据库原理数据库原理n账户(账户(账号账号,余额),余额)n顾客(顾客(身份证号身份证号,姓名,地址),姓名,地址)n贷款(贷款(贷款号贷款号,贷款数额),贷款数额)n银行(银行(银行名称银行名称,所在城市,资产),所在城市,资产)