我真的试图围绕将EER图转化为关系的概念。我知道简单的属性必须直接映射到关系上。处理复合属性和多值属性时出现问题。你是否为其中任何一个创造了新的关系?例如,客户实体可能具有名称,地址和邮政编码。地址属性包含街道,城市,州和地址#。这是否意味着应该创建新关系或者应该在客户关系中列出所有组件属性?最后,如何通过一个示例以易于理解的术语正确映射多值属性?
感谢您的帮助。
答案 0 :(得分:1)
多值属性几乎肯定会被移除到单独的关系中。这被称为第一范式,你必须非常努力地找到一个可以证明违反1NF的例子。
没有理由为复合属性创建新关系。您将属性拆分为新关系,因为它们的基数以及它们对主键和候选键的依赖性。
复合属性实际上并不是在自然界中发生的,它们是概念建模想象的虚构。好的,这句话有点滑稽。关键是当您将概念模型转换为物理模型时,您决定了解实际的业务需求。复合属性持久化的粒度级别取决于您计划如何使用数据。如果您要跟踪地址以打印信封或运输标签,则可能决定将地址元素折叠为两列。另一方面,您可能会决定您的业务需求要求进行地址元素分析,因此将地址的每个部分保留在自己的列中会更有意义。