数据库ER图
1.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型。
解:(1) E-R图
1
N
(2)这个E-R图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
2. 为某百货公司设计一个E-R模型。
百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:店号、店名、店址、店经理。
实体类型“商品”的属性有:商品号、品名、单价、产地。
实体类型“职工”的属性有:工号、姓名、性别、工资。
在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。
(1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。
(2)将E-R图转换成关系模型。
转换为等价的关系模式结构如下:
商店(店号,店名,店址,店经理)
商品(商品号,品名,单价,产地)
职工(工号,姓名,性别,工资,店号,开始时间)
经营(店号,工号,月销售量)
3.某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包
括以下信息:
代表团:团编号、地区、住所
运动员:运动员编号、姓名、年龄、性别
比赛项目:项目编号、项目名、级别
项目类别:类别编号类别名、主管
其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。
(1)试为该锦标赛的比赛情况设计一个ER图
(2)将E-R图转换成关系模型,并注明主键和外键。
解:满足上述需求的ER图如图所示:
转换为等价的关系模式结构如下:
代表团(团编号,地区,住所)
运动员(编号,姓名,年龄,性别,团编号)
比赛项目(项目编号,项目名,级别,类别编号)
项目类别(类别编号,类别名,主管)
参加(运动员编号,项目编号,成绩,名次)
4.学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学
生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。
(1)试为此学校设计一个ER图
(2)将E-R图转换成关系模型。
转换为等价的关系模式结构如下:
系(系号,系名,系主任)
教师(教师号,教师名,职称,系号)
学生(学号,姓名,年龄,性别,系号) 课程(课程号,课程名,学分,教师号) 选修(学号,课程号,分数)
5.假定一个部门的数据库包括以下的信息:职工:职工号、姓名、住址
部门:部门名、经理