【答案解析】[要点解析] 如果用户希望在某些时候访问整个属性,而在另一些时候访问属性的一个成分,那么在设计模式中使用复合属性是一个很好的选择。
由于职工实体Employee的“通信地址”属性又包含了邮编、省、市、街道信息等成分属性,因此“通信地址”是一个复合属性。通过复合属性可将相关属性聚集起来,使模型更清晰。
由于职工实体Employee的“家庭成员”属性记录了职工的亲属的姓名,而1个职工可能有0个、1个或多个亲属。该实体集中不同的职工实体在“家庭成员”属性上可能有不同数值,即该属性为一个多值属性。为了将数据库模式设计的更合理,应该将职工的亲属的姓名加上职工号设计成为一个独立的实体。
考点链接7.5.2:各种属性类型及其定义
在E-R模型中,实体通过一组属性来表示,而属性是实体集中每个成员具有的性质描述。根据属性取值的不同将其划分为简单属性、复合属性、单值属性、多值属性、NULL属性和派生属性等,见表7-11。
表7-11 各种属性类型及其定义表 属性类型 | 定义 | 例子 | 简单属性 | 指它们不能再划分为更小的部分 | 课程名 | 复合属性 | 指安们可以再划分为更小的部分(即划分为别的属性) | 出生日期包括出生年、月、日的成分属性 | 单值属性 | 指所定义的属性对一个特定实例都只有单独的一个值 | 学号属性吸对应一个学号号码 | 多值属性 | 指对某个特定实例而言,一个属性可能对应于一组值 | 假设实例学生还有社会关系这个属性,则一个学生可能有0个、1个或多个亲属 | NULL属性 | 当实例在某个属性上没有值或属性值未知时使用NULL值 | 某个学生无亲属,则其社会关系属性值是NULL | 派生属性 | 这类属性的值可以从别的相关属性或实例派生出来 | 学生的年龄可能通过其出生日期计算出来 | |