0、试述采用 E-R 方法进行数据库概念设计的过程。
答:采用 E-R 方法进行数据库概念设计,可以分成 3 步进行:首先设计局部 E-R 模式,然后
把各局部 E-R 模式综合成一个全局的 E-R 模式,最后对全局 E-R 模式进行优化,得到最终的 E-R
模式,即概念模式。
1、某大学实现学分制,学生可根据自己情况选课。每名学生可同时选修多门课程,每门课
程可由多位教师主讲;每位教师可讲授多门课程。其不完整的 E-R 图如图 1 所示。
(1) 指出学生与课程的联系类型。
(2) 指出课程与教师的联系类型。
(3) 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是如何联系?
(4) 在原 E-R 图上补画教师与学生的联系,并完善 E-R 图。
答:
(1) 学生与课程联系类型是多对多联系。
(2) 课程与教师的联系类型是多对多联系。
(3) 学生与教师的联系类型是一对多联系。
(4) 完善本题 E-R 图的结果如图 2 所示。
学 生
课 程
教 师
图 6 .1 1 一 个 E - R 图
图 1
m
学 生
选 修
n
m
指 导
1
课 程
讲 授
教 师
m
n
图 2
图 6.12 完 善 后 的 E-R图
2、将如图 3 所示的 E-R 图转换为关系模式,菱形框中的属性自己确定。
答:本题的 E-R 图转换为如下的关系模式:
单位(单位号,地址,电话)
职工(职工号,姓名,性别,年龄,单位号)
单 位 号
地 址
电 话
单 位
D -E
职 工
1
m
职 工 号
姓 名
性 别
年 龄
单 位 号
图 6 .1 3 一 个 E - R 图
图 3
3、假定一个部门的数据库包括以下信息:
(1) 职工的信息:职工号、姓名、地址和所在部门。
(2) 部门的信息:部门所有职工、部门名、经理和销售的产品。
(3) 产品的信息:产品名、制造商、价格、型号及产品的内部编号。
(4) 制造商的信息:制造商名称、地址、生产的产品名和价格。
试画出这个数据库的 E-R 图。
答:本题对应的 E-R 图如图 4 所示。
职工号
姓名
地址
部门好
经理
产品号
m
1
m
n
职工
从属
部门
销售
产品
产品内部编号
m
n
生产
制造商
型号
价格
图6.14 一个E-R图
图 4
名称
地址
4、某医院病房计算机管理中心需要如下信息:
科室:科名、科地址、科电话、医生姓名
病房:病房号、床位号、所属科室名
医生:姓名、职称、所属科室名、年龄、工作证号
病人:病历号、姓名、性别、诊断、主管医生、病房号
其中,一个科室有多少个病房、多少个医生,一个病房只能属于一个科室,一个医生只属于
一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成如下设计:
(1) 设计该计算机管理系统的 E-R 图
(2) 将该 E-R 图转换为关系模式结构。
(3) 指出转换结果中每个关系模式的后选码。
答:(1)本题的 E-R 图如图 5 所示。
病房号
床位号
科名
科地址
科电话
病房
1
入住
m
病人
m
组成
m
诊治
1
1
科室
1
m
从属
医生
病历号
姓名
性别
工作证号
姓名 职称
年龄
图6.15 一个E-R图
图 5
(2)对应的关系模式结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,主管医生,病房号)
(3)每个关系的后选码如下:
科室的后选码是科名。
病房的后选码是科室名+病房号。
医生的后选码是工作证。
病人的后选码是病历号。
5、设有如下实体:
学生:学号、单位名称、姓名、性别、年龄、选修课名
课程:编号、课程名、开课单位、认课教师号
教师:教师号、姓名、性别、职称、讲授课程编号
单位:单位名称、电话、教师号、教师姓名
上述实体中存在如下联系:
(1) 一个学生可选多门课程,一门课程可被多个学生选修。
(2) 一个教师可讲授多门课程,一门课程可由多个教师讲授。
(3) 一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:
(1) 分别设计学生选课和教师任课两个局部 E-R 图。
(2) 将上述设计完成的 E-R 图合并成一个全局 E-R 图。
(3) 将全局 E-R 图转换为等价的关系模式表示的数据库逻辑结构。
答:(1)学生选课局部 E-R 图如图 6 所示,教师任课局部 E-R 图如图 7 所示。
单位名称
单位
1
1
拥有
m
学生
m
选修
n
学号
姓名
性别
年龄
图6.16 学生选课的局部E-R图
图 6
开课
m
课程
编号
教师号
课程名
教师号
姓名
性别
职称
m
讲授
n
课程
编号
教师
m
属于
1
单位
电话
单位名称
图6.17 教师任课的局部E-R图
图 7
(2)合并的全局 E-R 图如图 8 所示。
单 位
拥 有
学 生
1
m
1
1
m
属 于
开 课
选 课
m
m
n
教 师
m
讲 授
n
课 程
图 6 .1 8 合 并 的 全 局 E -R 图
图 8
为避免复杂,合并的全局E-R图中省略了以下各实体的属性:
单位:单位名称,电话
学生:学号,姓名,性别,年龄
教师:教师号,姓名,性别,职称
课程:编号,课程名
(3)该全局E-R图转换为等价的关系模式表示的数据逻辑结构如下:
单位(单位名称,电话)
课程(教师号,姓名,性别,职称,单位名称)
学生(学号,姓名,性别,年龄,单位名称)
讲授(教师号,课程编号)
选修(学号,课程编号)
6、图9给出(a)、(b)和(c)3个不同的局部模型,将其合并成一个全局信息结构,
并设置联系实体中的属性(准许增加认为必要的属性,也可将有关基本实体的属性选作联系实
体的属性)。
各实体构成如下:
部门:部门号、部门名、电话、地址
职员:职员号、职员名、职务(干部/工人)、年龄、性别
设备处:单位号、电话、地址
工人:工人编号、姓名、规格、价格
设备:设备号、名称、规格、价格
零件:零件号、名称、规格、价格
厂商:单位号、名称、电话、地址
1
m
部门
工 作
职员
( a )
设备处
1
管 理
m
工 作
1
m
工人
( b )
m
零件
n
生 产
厂商
设备
m
装 配
n
零件
( c )
图 6.19 局 部 的 E-R图
图 9
答:汇总后的E-R图如图6.20所示。
1
m
管 理
生 产
部 门
工 作
职 员
1
m
m
n
设 备
m
装 配
n
零 件
图 6 .2 0 汇 总 后 的 E-R图
图 10
各类实体的属性为:
部门:部门号、部门名、电话、地址
职工:职工号、职工名、职务、年龄、性别
设备:设备号、名称、规格、价格
零件:零件号、名称、规格、价格
7、一个图书馆借阅管理数据库要求提供下述服务:
(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一
标识。
(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息下相
应出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出
版,出版社名具有惟一性。
根据以上情况和假设,试作如下设计:
(1) 构造满足需求的E-R图。
(2) 转换为等价的关系模式结构。
答:(1)满足上述需求的E-R图如图 11 所示。
借书证号
姓名
单位
借书人
m
借阅
n
图书
借书日期
还书日期
出版社名
电报编号
m
1
出版
出版社
电话
书号
书名
数量
位置
邮编
地址
图6.21 图书借阅管理数据库E-R图
图 11
(2)转换为等价的关系模式结构如下:
借书人(借书证号,姓名,单位)
图书(书号,书名,数量,位置,出版社名)
出版社(出版社名,电报编号,电话可,邮编,地址)
借阅(借书证号,书号,借书日期,还书日期)
8、工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息:
(1) 一个工厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。
(2) 一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。
(3) 一个车间生产多种产品,产品有产品号和价格。
(4)一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价
格。
(5)一个产品由多种零件组成,一种零件也可装配出多种产品。
(6)产品与零件均存入仓库中。
(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
试:(1)画出该系统的E-R图。
(2)给出相应的关系模式。
(3)画出该系统的层次模式图。
答:(1)该系统的E-R图如图 12 所示。
各实体的属性为:
工厂:厂名、厂长姓名
车间:车间号、车间主任姓名、地址、电话
工人:职工号、姓名、年龄、性别、工种
仓库:仓库号、仓库主任姓名、电话
零件:零件号、重量、价格
产品:产品号、价格
隶属
m
工人
工厂
1
构成
m
仓库
1
1
组成
m
车间
1
m
m
零件
1
存放
存放
n
制造
n
装配
m
1
生产
m
m
产品
图6.22 系统的E-R图
图 12
(2)相应的关系模式如下:
工厂(厂名、厂长姓名)
车间(车间号、车间主任姓名、地址、电话、厂名)
工人(职工号、姓名、年龄、性别、工种、车间号)