【问题标题】:Oracle SQL adding additional foreign keysOracle SQL 添加额外的外键
【发布时间】:2019-09-30 13:58:32
【问题描述】:

我正在 Oracle SQL 上创建一个逻辑模型,但是遇到了一些麻烦。当我在两个实体之间添加关系时,我希望 Oracle 将父实体的 PK 作为外键添加到子实体。

但是,Oracle 并没有将已经存在的属性添加为 FK,而是继续添加具有相同名称但名称末尾带有“_1”的附加属性(例如,teacher_1 而不是使用已经存在的 'teacher' 属性)

任何想法为什么会这样?

【问题讨论】:

  • 请包含执行此操作的 SQL 脚本。
  • 我很抱歉,我是一个相当新的和不熟悉的预言机。如何找到逻辑模型的 SQL 脚本?
  • 您使用什么工具(和版本)来创建模型?我猜该工具希望您删除(或从未添加)属性(列),因为它想自己添加它们,或者可能存在数据类型不匹配,因此它认为它们不相关。前者似乎更有可能。

标签: sql oracle entity


【解决方案1】:

使用数据建模器时,我们假设您在添加外键时尚未创建 ID 列。

所以我们为您创建。

这就是它的样子。

我画出关系。

你不想这样。 您希望它改用 USER.USER_ID。

单击列,并将其切换为 USER_ID。

当我点击“应用”或“确定”时 - 生成的列消失了。

如果您不喜欢被问到,您可以在首选项中设置删除 FK 时的默认操作:“删除 FK 列策略”

提示:从父级绘制到子级 当我去画 FK 时,我总是从孩子到父母……我出于某种原因倒退了。

【讨论】:

  • 非常感谢您提供的信息。请问,在哪里可以找到“外键属性”菜单?
  • 双击图中的关系线是最简单的方法
  • 正确。出于某种原因,我看不到切换列的选项。我也没有看到相关的列部分
  • 我的答案是针对 Oracle SQL Developer Data Modeler...您实际使用的是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
相关资源
最近更新 更多