问题 单项选择题

设有职工实体Employee(职工号,姓名,性别,年龄,通信地址,家庭成员),其中通信地址记录了邮编、省、市、街道信息;家庭成员记录了职工的亲属的姓名。
职工实体中的通信地址是一个 (33) 属性:为了将数据库模式设计的更合理,对于家庭成员属性 (34)

A.可以不作任何处理在直接记录亲属的姓名
B.只允许记录一个亲属的姓名
C.需要对职工实体设置若干个亲属姓名字段
D.应该将职工的亲属的姓名加上职工号设计成为一个独立的实体

答案

参考答案:D

解析: 如果用户希望在某些时候访问整个属性,而在另一些时候访问属性的一个成分,那么在设计模式中使用复合属性是一个很好的选择。
由于职工实体Employee的“通信地址”属性又包含了邮编、省、市、街道信息等成分属性,因此“通信地址”是一个复合属性。通过复合属性可将相关属性聚集起来,使模型更清晰。
由于职工实体Employee的“家庭成员”属性记录了职工的亲属的姓名,而1个职工可能有0个、1个或多个亲属。该实体集中不同的职工实体在“家庭成员”属性上可能有不同数值,即该属性为一个多值属性。为了将数据库模式设计的更合理,应该将职工的亲属的姓名加上职工号设计成为一个独立的实体。
考点链接7.5.2:各种属性类型及其定义
在E-R模型中,实体通过一组属性来表示,而属性是实体集中每个成员具有的性质描述。根据属性取值的不同将其划分为简单属性、复合属性、单值属性、多值属性、NULL属性和派生属性等,见下表。

各种属性类型及其定义表

属性类型