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