【问题标题】:unique entity in a database数据库中的唯一实体
【发布时间】:2012-10-10 16:11:18
【问题描述】:

我们如何对数据库进行约束,以便只有一个实体适合所需的位置?

例如,我们想为 Country 数据库设置一个总裁。 我们如何定义“is-president”属性,以便只有一个条目可以具有“true”值。

【问题讨论】:

  • 最终它会落在你的逻辑上,无论你的 DBMS 是否因约束问题而抱怨。相反,您应该在代码中更新/添加记录之前检查这一点(如果您使用代码来执行此操作)。
  • 谢谢杰里米。我实际上想在 MS Access 中使用它。所以,你是说没有编码就没有具体的方法。

标签: database entity unique


【解决方案1】:

您可以在将数据插入表时执行此操作。如果要添加总裁,首先检查是否有总裁。

【讨论】:

    【解决方案2】:

    您最好以不同的方式对此进行建模 - 例如,有一个 Countries 表、一个 People 表,然后是一个 Presidents 表,该表具有 Countries 表的外键,以及People 表的外键。

    然后,您可以对两个外键的复合值添加唯一约束,以确保 Presidents 表中每个国家/地区仅存在 1 个人。

    【讨论】:

    • 感谢“devdigital”!我实际上想知道是否有任何简单且轻量级的解决方案。事实上,为这种情况添加一个表格对我来说似乎不是最佳选择。
    猜你喜欢
    • 2019-10-03
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多