1. 根据以下说明设计实体联系图

【说明】 某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:
(1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;
(2) 读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话和Email,系统为不同读者生成不同的读者ID;
(3)每部书在系统中对应惟一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同;
(4) 资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予惟一的图书ID;
(5)> (5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间;
(6) 当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者ID、需要借阅的图书的ISBN号、预约时间。
某书目的信息如表1-1所示,与该书目对应的图书信息如表1-2所示。
【数据库课程】研讨06

【系统的主要业务处理如下】
(1) 入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。
(2) 借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。
(3) 预约管理:若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为10天)。一旦其他读者归还这种书,就自动通知该预约读者。系统将自动清除超出预约期限的预约记录并修改相关信息。
(4)还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表,若存在其他读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书ID写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态修改为“未借出”。
(5) 通知处理:对于已到期且未归还的图书,系统通过Email自动通知读者;若读者预约的书已到,系统则自动通过Email通知该读者来办理借书手续。

题目描述非常的长,但是我们需要做的只是设计实体联系图,那首先要把必要的信息提取出来。通过题目的说明,我们可以提取出画图必要的实体内容以及属性如下:

图书管理员:工号和姓名
读者: 读者ID、姓名、电话和Email
书目:ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数
图书:图书ID、ISBN号、存放位置、当前状态

由于已经把属性在这里列出来了,所以后面画图的时候为了方便看清,就不把属性画进去了。接下来需要考虑的是各个实体之间的联系。我将可能的联系列举如下:

图书和书目:图书存在书目,一个书目对应多本图书
书目和管理员:管理员将书目编目入库,一个管理员编多个书目
图书和管理员:管理员将图书编号入库,一个管理员编多本图书
读者和图书:读者借还图书,一位读者最多只能借10本书,所以读者的基数为(1,10),而每一本书(并不是一种书)只能借给一位读者,所以图书的基数为(1,1)
读者和书目:读者可以预约书目,多个读者可以预约多个书目
读者和管理员:可以存在联系,也可以不存在联系,毕竟读者借还的实体是图书,具体怎样实现是系统的事情,所以可以不画。

所以根据以上的实体和联系,最后画成的图就如下所示:
【数据库课程】研讨06

2. 根据以下说明设计实体联系图

【说明】 某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。
1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表2-1所示。
【数据库课程】研讨06
2)记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表2-2所示。
【数据库课程】研讨06
3)维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表2-3所示。
【数据库课程】研讨06
4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。

同样地,还是根据题目中线索来提取出我们所需要的信息。首先是实体以及属性:

客户:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等
车辆:车牌号、车型、颜色等
维修委托书:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)
维修厂的员工,是一个超类,其中有两个子类:维修员和业务员。题目中并没有提到他们的属性
维修项目:编号,工时,维修项目名称
同样,接下来我们根据题目中的要求来为这些实体之间建立联系:
客户和车辆:一位客户可以拥有多辆车
车辆和维修委托书:每一辆车对应一份维修委托书,并且通过故障检测的方式联系在一起
维修委托书和业务员:一个业务员可以制定多份维修委托书
业务员和客户:一个业务员和一个客户进行磋商,决定维修委托书
维修委托书和维修工:一份维修委托书可以派工多位维修工,并且是根据维修派工单上的信息联系在一起的,所以维修派工单并不是一个实体,它只是给出了维修项目和维修工之间的联系。
维修工和维修项目:多个维修工可以做多个维修项目。如上所述通过维修派工单联系在一起。

这样一来,实体和联系的关系都说清楚了,接下来是画出的图片:
【数据库课程】研讨06

3. 设计的实体联系图(不完整)如图3-1所示。填写图3-1中(a)~(f)处联系的类型,并补充完整图3-1中的实体、联系和联系的类型。

【说明】 某公司拟开发一套小区物业收费管理系统。初步的需求分析结果如下:
【数据库课程】研讨06
(1)业主信息主要包括:业主编号,姓名,房号,房屋面积,工作单位,联系电话等。房号可唯一标识一条业主信息,且一个房号仅对应一套房屋;一个业主可以有一套或多套的房屋。
(2)部门信息主要包括:部门号,部门名称,部门负责人,部门电话等;一个员工只能属于一个部门,一个部门只有一位负责人。
(3)员工信息主要包括:员工号,姓名,出生年月,性别,住址,联系电话,所在部门号,职务和密码等。根据职务不同员工可以有不同的权限,职务为“经理”的员工具有更改(添加、删除和修改)员工表中本部门员工信息的操作权限;职务为“收费”的员工只具有收费的操作权限。
(4)收费信息包括:房号,业主编号,收费日期,收费类型,数量,收费金额,员工号等。收费类型包括物业费、卫生费、水费和电费,并按月收取,收费标准如表3-1所示。其中:物业费=房屋面积(平方米)×每平米单价,卫生费=套房数量(套)×每套房单价,水费=用水数量(吨)×每吨水单价,电费=用电数量(度)×每度电单价。
(5)收费完毕应为业主生成收费单,收费单示例如表3-2所示。
【数据库课程】研讨06
【问题】 填写图3-1中(a)~(f)处联系的类型(注:一方用1表示,多方用m或 n 或
*表示),并补充完整图3-1中的实体、联系和联系的类型。

这次题目只要求填相对应的类型即可,已经把半成品图片给出了,那我们还是老样子,来分析一下。首先还是实体(这次就不列举出属性了):

业主,部门,权限,员工(子类有收费员和经理),还有一个是图上没有给出的,需要我们自行添加的实体:收费标准(根据(4)中的收费信息得出的结论)

将实体补充完整后,接下来补全各个实体间的联系:

补充的收费标准,业主和收费员:多个业主需要向多个收费员缴费,因为收费标准也是有多个的。
部门和员工:一个部门可以有多个员工。
员工和权限:一个员工可以有多个权限。

图上所缺的信息就能补充完全了,把最后的成品图片贴出来:
【数据库课程】研讨06

相关文章: