假定我们要建立一个学术论文数据库,存储如下信息: *学术期刊有期刊编号、期刊名、发行单位; *作者有作者编号、作者姓名、电子邮件; *论文有论文编号、论文标题、摘要、正文; *每篇论文只被一个期刊录用,每个期刊可以录用多篇论文; *每篇

admin2018-06-19  35

问题 假定我们要建立一个学术论文数据库,存储如下信息:
  *学术期刊有期刊编号、期刊名、发行单位;
  *作者有作者编号、作者姓名、电子邮件;
  *论文有论文编号、论文标题、摘要、正文;
  *每篇论文只被一个期刊录用,每个期刊可以录用多篇论文;
  *每篇论文可以拥有多个作者,每个作者可以撰写多篇论文;
  *每篇论文可以引用多篇其他论文,每篇论文可以被其他多篇论文所引用。
  其中带下划线的属性是实体的标识属性。
  (1)请根据以上描述,画出相应的ER图。
  (2)将上面的ER图转换为满足3NF的关系模式。

选项

答案(1)通过分析题目要求,可以看出有学术期刊、论文、作者三个实体,其中学术期刊有期刊编号、期刊名、发行单位3个属性,论文有论文编号、论文标题、摘要、正文4个属性,同样作者有作者编号、作者姓名、电子邮件3个属性。其中期刊编号不会存在重复,可以把期刊编号作为学术期刊的主属性;作者编号不会在不同作者之间存在重复,因此作者编号可以作为作者的主属性;论文编号不会在不同论文之间存在重复,论文编号可以作为论文的主属性。 根据ER图绘制规则,可以绘制出三个实体的ER图如下: [*] 由“每篇论文只被一个期刊录用,每个期刊可以录用多篇论文”可知,论文和期刊之间存在录用关系,可以将“录用”作为二者之间联系的名称。一篇论文只能被一个期刊录用,而每个期刊可以录用多个论文,故论文和期刊之间存在一对多关系(1:n),期刊是多端,论文是1端。联系的属性是由两个实体的主属性组成。 由“每篇论文可以拥有多个作者,每个作者可以撰写多篇论文”可知,论文和作者之间存在撰写的关系,可以将“撰写”作为二者之间的联系名称,且二者之间存在多对多关系(m:n)。联系的属性是由两个实体的主属性组成。 由“每篇论文可以引用多篇其他论文,每篇论文可以被其他多篇论文所引用”可知,论文实体之间存在一个多对多关系(m:n),关系的名称可以命名为引用。联系的属性是由两个实体的主属性组成。 根据ER图绘制规则(为了绘制方便,忽略属性),可得: [*] (2)在从ER图向关系模式转换时,实体和属性直接转换成一个关系模式,其主属性作为关系模式的主键,因此题目中三个实体可以转换成关系模式: 学术期刊(期刊编号,期刊名、发行单位) 论文(论文编号,论文标题,正文,摘要) 作者(作者编号,作者姓名,电子邮件) 1:n联系在从ER图向关系模式转换时,与n端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变,联系的属性是由两个实体的主属性组成,即录用(期刊编号,论文编号),将该关系并人到学术期刊关系中后得:学术期刊(期刊编号,期刊名、发行单位,论文编号)。 m:n(多对多)联系转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。因此可得两个联系组成的关系模式是: 引用(论文编号,被引用论文编号) 撰写(论文编号,作者编号) 综上所知,可得关系模式是: 学术期刊(期刊编号,期刊名、发行单位,论文编号),其中论文编号是外键。 论文(论文编号,论文标题,正文,摘要) 作者(作者编号,作者姓名,电子邮件) 引用(论文编号,被引用论文编号) 撰写(论文编号,作者编号) 3NF是指在关系中,一个非主属性既不部分依赖于码也不传递依赖于码。 在得到的关系模式中,只有学术期刊、论文、作者三个关系有属性。在论文和作者两个关系模式中,因为通过论文编号就可以找到论文标题、正文和摘要,因此论文标题、正文、摘要完全依赖于论文编号。同理作者姓名、电子邮件完全依赖于作者编号,且不存在传递依赖,两个关系满足3NF的定义。 而学术期刊关系中,通过期刊编号可以找到期刊名、发行单位、论文编号,期刊名、发行单位、论文编号完全依赖于期刊编号,且不存在传递依赖,满足3NF。

解析 (1)ER图的设计原则
    在设计ER图时,首先应根据需求分析,确认实体、属性和联系这三种ER图的基本要素。
    ①实体
   把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事物,如一个职工、一场比赛等。
    ②属性
    描述实体的特性称为属性,如职工的编号、姓名、电话等。能唯一标识实体的属性作为主属性,在ER图中用下划线标识。
    ③联系
    联系是实体间有意义的相互作用,即实体间存在的关联。一般用动词作为联系的名字,如录用、引用、录取等,能表示实体之间的关系。
    在ER图中,分别用矩形框表示实体,椭圆表示属性,菱形框表示联系。
    实体之间的联系分为三种类型:一对一(1:1)、一对多(1:n)和多对多(m:n)。在从ER向关系模式转换规则如下:
    ①1:1(一对一)联系
    方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。
    方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
    ②1:n(一对多)联系
    方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由n端实体的键组成。
方法二:与n端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
    ③m:n(多对多)联系转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。
转载请注明原文地址:https://kaotiyun.com/show/JHlZ777K
0

最新回复(0)