5.11 设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1) 试画出ER 图,并在图上注明属性、联系的类型。 (2) 将ER 图转换成关系模型,并注明主键和外键。 解:(1) ER 图如图5.1所示。
M
1
N
N
5.12 设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1) 试画出ER 图,并在图上注明属性、联系的类型。(2) 将ER 图转换成关系模型,并注明主键和外键。 解:(1) ER 图如图5.2
1
N
1
N
地址
商店编号
职工
商店
商店名
业绩
姓名
性别
商品
商品号 规格
月薪
月销售量
商品名
销售
聘用
单价 职工编号
聘期
(2)这个ER 图可转换4个关系模式: 商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
地址
公司编号
职工
公司 公司名
姓名
性别
仓库 工资 仓库名
仓库编号 聘期
聘用
隶属
职工编号
地址 (2)这个ER 图可转换3个关系模式: 公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
5.13 设某商业集团数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。 试画出反映上述问题的ER 图,并将其转换成关系模型。 解:ER 图如图5.3所示。
M
M
N
N
图5.3
5.14 假设要为银行的储蓄业务设计一个数据库,其中涉及到储户、存款、取款等信息。试设计ER 模型。 解:储蓄业务主要是存款、取款业务,可设计如图5.4所示的ER 图。
1 1
N N
图5.4
供应商编号 供应商名
商品
供应商
商店名
地址
规格
单价
商店号
商店
地址
商品号
月计划数
月供应量
商品名
销售
供应
(2)这个ER 图可转换5个关系模式:
供应商(供应商编号,供应商名,地址) 商店(商店号,商店名,地址) 商品(商品号,商品名,规格,单价) 供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
账号
身份证号
取款单
储户
地址
存款余额
取款方式
取款单号
金额
姓名
存款单
存款方式
金额
取款日期
存款日期 存款单号 存款
取款
5.15 某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER 模型。
解:图5.5是ER 图的一种设计方案。
图5.5
5.16 假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务管理规则如下:
⑴该超市公司有若干仓库,若干连锁商店,供应若干商品。
⑵每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。 ⑶每个商店销售多种商品,每种商品可在不同的商店销售。
⑷每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商品可以有多种销售价格。 ⑸超市公司的业务员负责商品的进货业务。 试按上述规则设计ER 模型 解:图5.6是ER 图的一种设计方案。
图5.6
参加
代表团
住所
团编号 地区
成员
运动员
编号 年龄
姓名
性别
1
N
比赛类别
主管
类别编号
类别名
属于
比赛项目
项目编号
级别
项目名
1
N
比赛时间
得分
M
N
N 具有 销售价格
N 1 业务员 M 库存
仓库
商品 M
发货
进货
M
N
N N P
主管
拥有
商店 收银员
1
P 1
N
1 M
N 销售
经理
5.17 假设要根据某大学的系、学生、班级、学会等信息建立一个数据库, 一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。 一个系的学生住在同一宿舍区。每个学生可以参加多个学会, 每个学会有若干学生,学生参加某学会有个入会年份。 试为该大学的系、学生、班级、学会等信息设计一个ER 模型。 解:图5.7是ER 图的一种设计方案。
图 5.7
5.18 试把教材中5.5.2、5.5.3、5.5.4等三小节中的ER 模型转换成关系模型, 并指出每个关系模式的主键和外键。
(1)(教材中P197的5.5.2节)公司车队信息系统的ER 模型
本例为某货运公司设计了车队信息管理系统,
对车辆、司机、维修、保险、报销等信息和业务活动进行管理。 其ER 图如图5.8所示。
该ER 图有7个实体类型,其结构如下: 部门(部门号,名称,负责人) 车队(车队号,名称,地址)
司机(司机号,姓名,执照号,电话,工资) 车辆(车牌号,车型,颜色,载重) 保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址)
开销(顺序号,费用类型,费用,日期,经手人) 实体之间有7个联系,
其中6个是1:N 联系,1个是M:N 联系。 其中联系的属性如下:
调用(出车编号,出车日期,车程,费用,车辆数目) 保险1(投保日期,保险种类,费用) 保险2(投保日期,保险种类,费用) 进而,读者可以很容易地转换成关系模式集。
解:根据ER 图和转换规则,7个实体类型转换成7个关系模式, 1个M:N 联系转换成1个关系模式,共8个关系模式, 如下:部门(部门号,名称,负责人) 车队(车队号,名称,地址)
司机(司机号,姓名,执照号,电话,工资,车队号,保险公司号,投保日期,保险种类,费用) 车辆(车牌号,车型,颜色,载重,车队号,保险公司号,投保日期,保险种类,费用,维修公司号) 保险公司(保险公司号,名称,地址) 维修公司(维修公司号,名称,地址)
开销(顺序号,车牌号,费用类型,费用,日期,经手人)
调用(出车编号,车队号,部门号,出车日期,车程,费用,车辆数目)
设置
专业 系 住宿
宿舍区
1
N
N 1
招收 班级 N 有 学生 N 参加
学会
N
M
1 1 图5.8 公司车队信息系统的ER 模型
部门 车队
司机
车辆 开销
维修公司
调用
报销
拥有 聘用
保险2
保险1
M
1
N N 1
N
N N
N
1 1
保险公司
1 N
维修
(2)(教材中P198的5.5.3节)人事管理信息系统的ER 模型
上海交通电器有限公司设计了人事管理信息系统,其中涉及到职工、部门、岗位、技能、培训课程、奖惩记录等信息。其ER 图如图5.9所示。
M
1
1
N N
1
M M N N
1
N
这个ER 图有7个实体类型,其属性如下:
职工(工号,姓名,性别,年龄,学历) 部门(部门号,部门名称,职能) 岗位(岗位编号,岗位名称,岗位等级) 技能(技能编号,技能名称,技能等级) 奖惩(序号,奖惩标志,项目,奖惩金额) 培训课程(课程号,课程名,教材,学时)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)
这个ER 图有7个联系类型,其中1个1:1联系,2个1:N 联系,4个M:N 联系。联系类型的属性如下:
选课(时间,成绩) 设置(人数)
考核(时间,地点,级别) 接受(奖惩时间)
解:根据ER 图和转换规则,7个实体类型转换成7个关系模式,4个
M:N 联系转换成4个关系模式,共11个模式,如下:
职工(工号,姓名,性别,年龄,学历,部门号,岗位编号)
部门(部门号,部门名称,职能) 岗位(岗位编号,岗位名称,岗位等级) 技能(技能编号,技能名称,技能等级) 奖惩(序号,奖惩标志,项目,奖惩金额) 培训课程(课程号,课程名,教材,学时)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)
选课(工号,课程号,时间,成绩) 设置(部门号,岗位编号,人数) 考核(工号,技能编号,时间,地点) 接受(工号,序号,奖惩日期)
图5.10
1
1
N
1
M N 1 M
N
N
1
1
1
N
选课
设置 考核
接受
聘任
属于
享有 工资 部门 岗位
培训课程
奖惩 技能
职工 M N 旅游团 开设 组成 有
参加 食宿 交通
陪同
导游 交通工具
宾馆
旅游线路
保险
游客
旅游班次 (3)(教材中P199的5.5.4节)旅游管理信息系统的ER 模型
上海普教旅行社设计了一个小型的国内旅游管理信息系统,其中涉及到与业务有关的信息有旅游线路、班次、团体、旅客、保险员、导游、宾馆、交通工具等。其ER 图如图5.10所示。
科室病房
医生病人组成从属
诊治
入住
N 11N
1
N
N 1
病房号
床位数
科名
工作证号
病历号
性别
科地址科电话姓名
年龄
职称姓名
这个ER 图有8个实体类型,其属性如下:
旅游线路(路线号,起点,终点,天数,主要景点) 旅游班次(班次号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,团名,人数,联系人,地址,电话) 游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,
电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,
出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,
职务,地址,电话,传真)
保险单(保险单编号,保险费,投保日期)
这个ER 图有7个联系类型,其中2个1:1联系,3个1:N 联系,2个M:N 联系。
解:根据ER 图和转换规则,8个实体类型转换成8个关系模式,2
个M:N 联系转换成2个关系模式,共10个关系模式,如下:旅 游线路(路线号,起点,终点,天数,主要景点) 旅游班次(班次号,路线号,出发日期,回程日期,旅游
标准,报价)
旅游团(团号,旅游班次号,团名,人数,联系人,地址,
电话)
游客(游客编号,团号,姓名,性别,年龄,身份证号码,
住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,
电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,
出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系
人,职务,地址,电话,传真)
保险(保险单编号,团号,人数,保险费,投保日期) 陪同(旅游班次号,导游编号) 食宿(旅游班次号,宾馆编号)
1.某医院病房计算机管理中需如下信息: 科室:科名、科地址、科电话、医生姓名 病房:病房号、床位数、所属科室名
医生:姓名、职称、所属科室名、年龄、工作证号 病人:病历号、姓名、性别、诊断医生、病房号 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主治医生只有一个。 设计该计算机管理系统的E-R 图。
2.学校有若干个系,每个系有若干名教师和学生;每个教师可以教授若干门课程,并参加多个项目;每个学生可以同时选修多门课程。 该学校的教学管理E-R 模型有以下实体: 系、教师、学生、项目、课程。各实体属性如
下:
系 (系编号,系名,系主任) 教师(教师编号,教师姓名,职称) 学生(学号,姓名,性别,班号) 项目(项目编号,名称,负责人) 课程(课程编号,课程名,学分)
请设计某学校的教学管理的E-R 模型,要求给出每个实体、联系的属性。 各实体之间的联系如下: * 教师担任课程的1: n “任课” 联系 * 教师参加项目的n: m“参加”联系 * 学生选修课程的n: m“选修”联系(成绩) *
系、教师和学生之间的所属关系的1:m:n“领导”联系
系
领导
教师参加
项目
任课
项目编号
课程
选修
成绩学生
名称
负责人
系编号系名系主任教师编号教师名称职称
学号
姓名
性别
班号
课程编号课程名学分
1n m
n
1
n
n m