问答题
试题二(共15 分)
阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下:
(1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。
(2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址(如user1@123.com)。
(3)一个用户可拥有一个地址簿,地址薄信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2、邮件地址3 等信息。地址薄中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。
(4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4 种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附后件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。
问答题
【问题1】(5 分)
根据以上说明设计的E-R 图如图2-1 所示,请指出地址簿与用户、电子邮件帐号与邮件、邮件与附件之间的联系类型。
【正确答案】(1)1
(2)1
(3)m 或n 或*
(4)1
(5)m 或n 或*
一对一,一对多,一对多
【答案解析】
问答题
【问题2】(4 分)
该邮件客户端系统的主要关系模式如下,请填补(a)~(c)的空缺部分。
用户(用户名,用户密码)
地址簿( (a) ,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2,邮件地址3)
邮件帐号(邮件地址,邮件密码,用户名)
邮件( (b) ,收件人地址,邮件状态,邮件主题,邮件内容,发送时间,接收时间)
附件( (c) ,附件号,附件文件名,附件大小)
【正确答案】(a)用户名 (b)邮件号,发件人地址 (c)邮件号
【答案解析】(a) 根据题意可知邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复,“用户名”可以作为用户关系模式主键。地址簿关系模式中与用户关系模式是一个1:1的联系,必须将任一方的主键加入另一方,以建立它们之间的联系,故空(a)处应填写“用户名”。
(b) 根据题意可知邮件号在整个系统内唯一标识一封邮件,故邮件关系模式必须有属性“邮件号”,另外一封邮件需要填写“发件人地址”,故空(b)处应填写“邮件号,发件人地址”。
(c) 根据题意可知邮件和附件是一个1:m的联系,按照E-R模型向关系模型的转换规则对于1:m的联系应将1端的主键并入多端,故空(c)处应填写“邮件号”。
问答题
【问题3】(6 分)
(1)请指出【问题2】中给出的地址簿、邮件和附件关系模式的主键,如果关系模式存在外键请指出。
(2)附件属于弱实体吗?请用50 字以内的文字说明原因。
【正确答案】(1)

【答案解析】(1) 地址簿关系模式的主键为“联系人编号”,外键为“用户名”,因为“用户名”是参考用户关系模式的“用户名”主键。邮件关系模式的主键为“邮件号”,外键为“发件人地址”或“收件人地址”,因为当用户向其他人发邮件的时候,“发件人地址”是参考邮件账号关系模式的“邮件地址”的主键;当用户收邮件的时候,“收件人地址”是参考邮件账号关系模式的“邮件地址”的主键。附件关系模式的主键为“邮件号,附件号”,外键为“邮件号”,因为该“邮件号”参考邮件关系模式的“邮件号”的主键。
(2) 附件属于弱实体,因为如果没有邮件,附件也就不存在。