在一个数据库中,有如下关系模式: T1(a1,a2,a3),,12(a3,a4),T3(a6,a7),T4(a1,a3,a6,a8)。 其中标下划线的是关系模式的主码。不同关系模式之间的同名属性代表它们之间存在主外码参照关系。 试画出相应的ER

admin2017-06-27  40

问题 在一个数据库中,有如下关系模式:
  T1(a1,a2,a3),,12(a3,a4),T3(a6,a7),T4(a1a3a6,a8)。
  其中标下划线的是关系模式的主码。不同关系模式之间的同名属性代表它们之间存在主外码参照关系。
  试画出相应的ER图,使得可以从该ER图推导出上述关系模式定义,其中实体和联系的名称可以自定。
  请写出创建T1表的T—SQL语句,设所有列的数据类型均为整型。

选项

答案(1) [*] (2) create table T1 (a1 int primary key, a2 int. a3 int foreign key a3 references T2(a3) );

解析 ER图向关系模式转换涉及两方面:①实体的转换;②实体间联系的转换。
  实体的转换:在从ER图转换为关系模式时,一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。
    实体间联系的转换:实体间存在三种联系,即1:l(一对一)联系,1:m(一对多)联系,m:n(多对多)联系。在从ER图向关系模式转换时规则如下:
    (1)1:1(一对一)联系
    方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。
    方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。;
    (2)1:m(一对多)联系
    方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由m端实体的键组成。
    方法二:与m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
    (3)m:n(多对多)联系。转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。
    本题考查的是关系模式向ER图转换,可以将ER图向关系模式转换做反向求解。
    通过以上分析发现,实体在关系模式中只有实体本身的主码和属性;一对多的联系对应的关系属性除了有多端的主码和属性外,还有别的实体的主码;多对多的联系对应的关系属性由各个实体的码和联系本身的属性组成。
    本题中,T2和T3乃两个关系模式只有自己的主码和属性,故T2和T3可以单独列为实体,T2对应的实体名称是A2,T3对应的实体名称是A3。
    T1中既有A2中的主码,又有本身的主码和属性,根据一对多转换法则方法一可知,T1对应的实体Al的属性是a1和a2,外码是a3,且A2和A1之间是一对多关系。
    根据多对多转换方法可以推知,A1、A2、A3之间存在对多多关系,关系的属性是a8。
转载请注明原文地址:https://jikaoti.com/ti/4q37FFFM
0

最新回复(0)