【问题标题】:Can only one foreign key reference a primary key?只有一个外键可以引用一个主键吗?
【发布时间】:2012-10-31 07:32:52
【问题描述】:

在创建表和数据库时,外键是否需要唯一?

例如

表:清单

Manifest_Barcode - PK
Vehicle_reg - FK
weight
description

表:车辆

vechicle_reg - PK
employee_ID - FK
make
model

表格:驱动因素

employee_ID - PK
vechicle_reg - FK
name
adress
phone_Number
year

或者,我可以在 2 个不同的表中使用相同的外键吗?和上面一样吗?

【问题讨论】:

  • 是的,您可以在多个表中拥有相同的外键,并且完整的它将使您的架构更易于阅读和连接。请查看[此帖](stackoverflow.com/questions/3349988/…)
  • 你能做三件事吗? 1) 停止标记您的问题 SQL Developer,除非您的问题与该程序的功能特别相关。您使用的数据库不是 SQL Developer,而是 Oracle。请使用该标签。 2)至少尝试正确拼写单词,这将是礼貌的。 3)想出更好的标题。他们是人们提出您问题的方式,“sql developer forgeion key” 不是一个好的标题,甚至不能说明您的实际问题是什么。
  • 这实际上是一个多余的帖子,并没有表明他已经付出了最小的努力。
  • @bonCodigo,您的副本不是副本。它是特定于 MySQL 的(无论多么相关)。如果您可以找到与 ANSI 标准的 Oracle 相关的副本,请这样做并标记该帖子。我目前无法将此作为一个相关且有用的问题。
  • @bonCodigo 很抱歉我发的不好,我不经常访问论坛或类似的东西,以后会更好地尝试,感谢您的帮助

标签: sql oracle database-design foreign-keys data-modeling


【解决方案1】:

拥有多个引用同一个主键的外键是完全合适且非常正常的。它们不是相同的 FOREIGN KEY(它们将各自构建一个单独的索引以用于执行密钥),它们是具有相似定义的不同FOREIGN KEY。

请注意,您必须在声明任一 FOREIGN KEY 之前创建表 vehicle1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 2012-07-02
    • 2013-09-11
    相关资源
    最近更新 更多