gpt4 book ai didi

sql - Oracle:FK 在多个父表中引用 PK

转载 作者:行者123 更新时间:2023-12-01 07:16:08 24 4
gpt4 key购买 nike

在 Oracle 10g 中,是否可以为外键定义引用完整性约束以引用多个父表中的主键。

例如:

DEPT_AMER

DEPT_ID
10
11
12

DEPT_APAC

DEPT_ID
13
14
15

DEPT_EMEA

DEPT_ID
16
17
18

电磁脉冲

EMP_ID DEPT_ID
500 11
501 15

我希望 EMP.DEPT_ID 能够引用 DEPT_AMER、DEPT_APAC 和 DEPT_AMER 中的部门 ID 之一。有没有办法定义参照完整性来满足这种需求。所有 3 个表中的 DEPT_ID 都是从一个公共(public)序列生成的,并且保证是唯一的。

如果引用完整性约束是不可能的,是否有更好的方法来维护这种数据完整性?

最佳答案

您在三个不同的表中有一个实体。最好的方法是将 DEPT_AMER + DEPT_EMEA + DEPT_APAC 加入一个名为 DEPT 的表中,并带有新字段 DEPT_TYPE(AMER 或 EMEA 或 APAC)。它对功能支持和性能更好。

如果在南极开设新部门,你会怎么做?添加另一个表?不!您只需添加另一个 dept_type。

关于sql - Oracle:FK 在多个父表中引用 PK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5474380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com