【发布时间】:2020-05-04 14:44:56
【问题描述】:
我有一个 Oracle 数据库,其中有两个表,RegistroPPL 和 Alias。一个 RegistroPPL 可以有多个别名。现在,我的问题是,使用这样的桥接表来创建这种关系的正确方法是什么:
或创建这样的直接关系
根据规范化规则创建一对多关系的最佳方法是什么,如何避免冗余数据?
【问题讨论】:
标签: sql oracle data-modeling
我有一个 Oracle 数据库,其中有两个表,RegistroPPL 和 Alias。一个 RegistroPPL 可以有多个别名。现在,我的问题是,使用这样的桥接表来创建这种关系的正确方法是什么:
或创建这样的直接关系
根据规范化规则创建一对多关系的最佳方法是什么,如何避免冗余数据?
【问题讨论】:
标签: sql oracle data-modeling
根据我的经验,两表设计用于一对多关系。
我能想到您可能想要使用中间表的唯一原因是,如果有理由认为将来这可能会变成多对多关系。
【讨论】:
问题是:一个别名可以用于多个registro_ppl吗?大概不会。因此,您可以避免每个别名一行。
在某些情况下,可能需要更复杂的设计——例如,如果别名是一个缓慢变化的维度,那么您可能需要version_eff_dt 和version_end_dt 来处理它。
但是,数据模型不建议使用中间表。
【讨论】: