数据库设计过程
E-R图
1:1一对一
两个实体之间是一对一的关系,一个班主任管理一个班级,一个班级只有一个班主任。
1:1的E-R图转换关系模式关系模式
1:1的E-R图转换关系模式,2个实体中间的联系可以归并到任意一边,也可以自成一个实体;
归到班主任一边
在班主任实体中添加班级实体的主键
班主任(姓名,性别,年龄,班号)
班级(班号,人数)
归到班级一边
在班级实体中添加班主任实体的主键
班主任(姓名,性别,年龄)
班级(班号,人数,姓名)
自成一个实体
联系若无属性则在其中添加两个相连实体的主键
班主任(姓名,性别,年龄)
班级(班号,人数)
管理(姓名,班号)
1:1的E-R图转换关系模式(联系有属性)
1:1的E-R图转换关系模式,2个实体中间的联系可以归并到任意一边,也可以自成一个实体;
归到班主任一边
在班主任实体中添加班级实体的主键+联系本身的属性
班主任(姓名,性别,年龄,班号,每周等级)
班级(班号,人数)
归到班级一边
在班级实体中添加班主任实体的主键+联系本身的属性
班主任(姓名,性别,年龄)
班级(班号,人数,姓名,每周等级)
自成一个实体
在其中添加两个相连实体的主键+联系本身的属性
班主任(姓名,性别,年龄)
班级(班号,人数)
管理(姓名,班号,每周等级)
1:n一对多
两个实体之间是1对多的关系,1个班级里面有多个学生。
注:如果无法分清哪端是1哪端是n可以将自己想象为实体;
例如我是班级实体,我可以对应n个学生,那么对端学生就是n;
例如我是学生实体,我只可以对应一个班级,那么对端班级就是1
1:n的E-R图转换关系模式,2个实体中间的联系只能归到多的那一端实体中,也可以自成一个实体;
归到n端学生一边
在学生实体中添加1端即班级实体的主键
班级(班号,人数)
学生(姓名,学号,性别,班号)
自成一个实体
联系若无属性则在其中添加n端实体的主键
班级(班号,人数)
学生(姓名,学号,性别)
拥有(姓名)
1:n的E-R图转换关系模式(联系有属性)
1:n的E-R图转换关系模式,2个实体中间的联系只能归到多的那一端实体中,也可以自成一个实体;
归到n端产品一边
在n端产品实体中添加1端仓库实体的主键+联系本身的属性
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)
自成一个实体
在其中添加n端实体的主键+联系本身的属性
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格)
仓储(产品号,数量).
m:n多对多
m:n的E-R图转换关系模式,2个实体中间的联系只能自成一个实体,联系实体内容是两端实体主键+联系本身属性;
自成一个实体
在其中添加2端实体的主键
课程(课程名,任课教师)
学生(姓名,性别,学号)
选修(课程名,姓名)
m:n的E-R图转换关系模式(联系有属性)
m:n的E-R图转换关系模式,2个实体中间的联系只能自成一个实体,联系实体内容是两端实体主键+联系本身属性;
自成一个实体
在其中添加2端实体的主键
课程(课程名,任课教师)
学生(姓名,性别,学号)
选修(课程名,姓名,成绩)
E-R图实例
如遇见较为复杂的关系需要画E-R图时,可以先将各个主体画出然后连接;
例如:集团有多个商店。在其信息系统中,对商店记录有商店编号、商店名、地址等信息;对销售的 商品记录有商品号、商品名、规格、单价等信息;对其 职工记录其职工编号、姓名、性别和业绩等级(优秀、良好、较差)等。每个商店可销 售多种商品,每种商品也可放在多个商店销售,每个商店销售每一种商品,需要记录每月的 销售量;每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工按照聘期规定 月薪发放工资,每个聘期长度为 1 年。
1、先画出商店实体及属性
2、画出商品实体及属性
3、 画出职工实体及属性
4、联系
商店和商品的联系是商店销售商品,进而产生月销售量属性
商店和职工的联系是商店聘用职工,进而产生了聘期属性和月薪属性
5、组合
关系模式
写法1:
商店(商店编号,商店名,地址)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
销售联系两端是多对多,所以只能自成实体
职工(职工编号,性别,姓名,业绩等级,商店编号,聘期,月薪)
聘用联系两端是1对多,所以归于多端,在多端添加对应1端的主键和联系本身的属性
写法2:
商店(商店编号,商店名,地址)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
销售联系两端是多对多,所以只能自成实体
职工(职工编号,性别,姓名,业绩等级)
聘用(职工编号,聘期,月薪)
聘用联系两端是1对多,可以自成实体,在联系自成的实体中添加多端的主键
多实体联系
关系模式
供应商(供应商号,供应商名,地址)
零件(零件号,零件名,单价)
产品(产品号,产品名,型号)
供应(供应商号,零件号,产品号,数量)
多对多连接,联系自成实体,前3个属性是所联系的3个实体的主键,后一个是联系自身属性
例题:
答案:C
图中E-R模型是多对多,关系模型数量是3个实体+联系所成实体 ,共4个关系模式
题型
数据库设计考察形式一般是大题,主考方向是E-R图以及对应关系模式的转换或补充,多个关系模式之间的联系归属问题考究细节。与数据流图类似,需要仔细研读题干信息并将题干信息对应到图中。 在1:n的关系中,在n端的关系中一定要添加1端实体的主键, 在1:1的关系中,在任意端的关系中选择一个要添加另一端实体的主键。
一个部门有一个经理,一个经理管理一个部门,经理属于部门员工中一个特殊的员工,用下图表示。如果经理的属性是任职时间,员工的属性是员工编号,姓名,岗位,电话,工资;此时经理的关系模式是,经理(员工号,任职时间),要表明是谁当了经理。