在某数据库中,相关表的建表语句如下:
create tableT1(
a1 int primary key,
a2 int,
a3 int
foreign key references T2(a3));
create tableT2(
a3 int primary key,
a4 int,
a5 int foreign key references T2(a3));
create tableT3(
a1 int,
a3 int,
a6 int,
primary key (a1, a3),
a1 foreign key references T1(a1),
a3 foreign key references T2(a3));
请画出相应的E-R图,使得可以从该E-R图推导出上述表定义,其中实体和联系的名称可以自定,实体的主码属性请使用下划线标明。
分析:
化简表如下:
tableT1(a1,a2,a3)a1为主键,a3为外键(T2表的主键)
tableT2(a3,a4,a5)a3为主键引用T2表中的主键(也就是a3)
tableT3(a1,a3,a6)a1,a3为联合主键,并且a1,a3分别是外键
由上可知T1中只含有一个a2,所以可以认为它是联系的一个属性
并且存在一个含有a1的属性的实体我们记为t1
存在一个含有a3的属性的实体我们记为t3
同理我们看tableT2表
易知T2中只含有a4,所以我们可以认为它是一个联系的属性
并且存在一个含有a3,a5属性的实体我们记为t2
现在看tableT3
易知T3中只含有a6,所以我们可以认为它是一个联系的属性
所以可画E-N图: