问题详情

E-R图中某实体具有一个多值属性,在转化为关系模式时,应(25)。


A、将多值属性作为对应实体的关系模式中的属性,即满足4NF

B、将实体的码与多值属性单独构成关系模式,即满足4NF

C、用其他属性来替代多值属性,而不需要存储该多值属性

D、将多值属性独立为一个关系模式,其码作为实体的外码

时间:2022-03-16 02:26 关键词:

答案解析

B
解析:将E-R图转换成关系模式的方法是:将实体和联系均转换为关系模式,实体和联系的属性作为关系模式的属性。(1)转换规则1:E-R图中的每一个实体映射到关系数据库中的一个表,并用实体名来命名这个表。表的列代表了连接到实体的所有简单单值属性(可能是通过复合属性连接到实体的,但复合属性本身并不变成表的列)。实体的标记符映射为该表的候选键,实体的主标识符映射为主键。注意到实体的主标识符可以是一个复合属性,所以它将变成为关系表中的一个属性集合。实体实例映射为该表中的行。(2)转换规则2:给定一个实体E,主标识是p。一个多值属性a在E-R图中连接到E,那么a映射成自身的一个表。(3)转换规则3:N-N联系,当两个实体E和F参与一个多对多二元联系R时,在相关的关系数据库设计中,联系映射成一个表T。这个表包括从实体E和F转化而来的两个表的主键的所有属性,这些列构成了表T的主键。T还包含了连接到联系的所有属性的列。联系实例用表的行表示,相关联的实体实例可以通过这些行的主键值唯一地标识出。(4)转换规则4:N-1联系,当两个实体E和F参与一个多对一的二元联系R时,这个联系在关系数据库中不能被映射为自身的一个表。相反,如果我们假设实体F具有max-card(F,R)=1,并表示联系中的“多”方,那么从实体F转化成的关系表T中应当包括从实体E转换出的关系表的主键属性列,这被称为T的外键。因为max-card(F,R)=1,T的第一行都通过一个外键值联系到实体E的一个实例。如果F在R中是强制参与的,那么它必须恰恰与E的一个实例相联系,这意味着T的上述外键不能取空值。如果F在R中是选择参与的,那么T中不与E的实例相联系的行在外键中的所有列可以取空值。(5)转换规则5:1-1联系,可选参与给定两个实体E和F,它们参与一对一二元联系R,二者的参与都是可选的。我们希望将这一情形转换为关系设计。为此,我们首先按照转换规则1建立表S来表示实体E;同样建立表T表示实体F。然后我们向表T中添加一组列(作为外键),这些列在表S构成主键。如果愿意,还可以在表S中加入一组外键列(表T中主键的列)。对于R的任何联系实例,都有唯一一个E的实例联系到唯一一个F的实例—在S和T的对应行中,外键列填写的值引用另一张表相应行,这一联系是R的实例确定的。(6)转换规则6:1-1联系,两边均强制参与对于一个两方都是强制参与的一对一联系,最好将两个实体对应的两个表合并成为一个表,这样可以避免使用外键。