在某数据库中,相关表的建表语句如下: CREATE TABLE T1 ( a1 int PRIMARY KEY, a2 int, a3 int FOREIGN KEY REFERENCES T2(a3)); CREATE TABLE T2( a3 int

admin2019-07-07  46

问题 在某数据库中,相关表的建表语句如下:
CREATE TABLE T1 (
a1 int PRIMARY KEY,
a2 int,
a3 int FOREIGN KEY REFERENCES T2(a3));
CREATE TABLE T2(
a3 int PRIMARY KEY,
a4 int,
a5 int FOREIGN KEY REFERENCES T2(a3));
CREATE TABLE T3(
a1 int,
a3 int,
a6 int,
PRIMARY KEY(a1,a3),
a1 FOREIGN KEY REFERENCES T1(a1),
a3 FOREIGN KEY REFERENCES T2(a3));
请画出相应的ER图,使得可以从该ER图推导出上述表定义,其中实体和联系的名称可以自定,实体的主码属性请使用下划线标明。

选项

答案[*]

解析 ER图向关系模式转换涉及到两方面:实体的转换和实体间联系的转换。
①实体的转换:在从ER图转换为关系模式时,一个实体就转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。
②实体间联系的转换:实体间存在三种联系,即1:1(一对一)联系,1:m(一对多)联系,m:n(多对多)联系。
1:1(一对一)联系
方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。
方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
1:m(一对多)联系
方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由m端实体的键组成。
方法二:与m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
m:n(多对多)联系
多对多联系转换成新的独立的模式时,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。
该题是是从关系模式来推断ER图,因此解题的思路是对ER向关系模式转换做反向转换。
根据规则C可以推断,T3是个多对多关系,a1和a3是实体的主码,a6是联系的属性。
根据规则B可以推断出T1,T2是1:m关系。因为a3和a5是外码。且a3和a5的值相同。a2、a4是联系T1、T2的属性,a2也可以是实体1的属性。
转载请注明原文地址:https://jikaoti.com/ti/Ai37FFFM
0

最新回复(0)