参考答案:
【问题1】
(1)1
(2)1
(3)m或n或*
(4)1
(5)m或n或*
【问题2】
(a)用户名
(b)邮件号,发件人地址
(c)邮件号
【问题3】
(1)
(2)附件属于弱实体,因为附件的存在必须以邮件的存在为前提,即附件总是依附于某邮件。
详细解析:
本题考查数据库系统中实体联系模型(E-R模型)的设计和关系模式的设计。【问题1】
两个实体模型之间的联系可以分为三类:—对一联系(1:1)、一对多联系(1:n)和多对多联系(m:n)。
根据题意,地址簿与用户之间应该是一个1:1的联系,空(1)应填“1”。电子邮件账号与邮件之间应该是一个1:m的联系,故空(2)和空(3)应分别填写“1”和“m”。邮件与附件之间应该是一个1:m的联系,故空(4)和空(5)应分别填写“1”和“m”。得到的E-R图如下图所示。
【问题2】
空(a)分析:根据题意可知邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复,“用户名”可以作为用户关系模式主键。地址簿关系模式中与用户关系模式是一个1:1的联系,必须将任一方的主键加入另一方,以建立它们之间的联系,故空(a)处应填写“用户名”。
空(b)分析:根据题意可知邮件号在整个系统内唯一标识一封邮件,故邮件关系模式必须有属性“邮件号”,另外,一封邮件需要填写“发件人地址”,故空(b)处应填写“邮件号,发件人地址”。
空(c)分析:根据题意可知邮件和附件是一个1:m的联系,按照E-R模型向关系模型的转换规则,对于1:m的联系应将1端的主键并入多端,故空(c)处应填写“邮件号”。
【问题3】
(1)地址簿关系模式的主键为“联系人编号”,外键为“用户名”,因为“用户名”是参考用户关系模式的“用户名”主键。邮件关系模式的主键为“邮件号”,外键为“发件人地址”或“收件人地址”,因为当用户向其他人发邮件的时候,“发件人地址”是参考邮件账号关系模式的“邮件地址”的主键;当用户收邮件的时候,“收件人地址”是参考邮件账号关系模式的“邮件地址”的主键。附件关系模式的主键为“邮件号,附件号”,外键为“邮件号”,因为该“邮件号”参考邮件关系模式的“邮件号”的主键。
(2)附件属于弱实体,因为如果没有邮件,附件也就不存在。