列表

详情


    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

    某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下:

    (1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。

    (2)邮件账号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址(如user1@123.com)。

    (3)一个用户可拥有一个地址簿,地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址簿中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。

    (4)一个邮件账号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。

【问题1】
    根据以上说明设计的E-R图如下图所示,请指出地址簿与用户、电子邮件账号与邮件、邮件与附件之间的联系类型。
    
【问题2】
    该邮件客户端系统的主要关系模式如下,请填补(a)~(c)的空缺部分。
    用户(用户名,用户密码)
    地址簿( (a) ,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2,邮件地址3)
    邮件账号(邮件地址,邮件密码,用户名)
    邮件( (b) ,收件人地址,邮件状态,邮件主题,邮件内容,发送时间,接收时间)
    附件( (c) ,附件号,附件文件名,附件大小)
【问题3】
    (1)请指出问题2中给出的地址簿、邮件和附件关系模式的主键,如果关系模式存在外键请指出。
    (2)附件属于弱实体吗?请用50字以内的文字说明原因。

参考答案: 【问题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)附件属于弱实体,因为如果没有邮件,附件也就不存在。

上一题