【问题标题】:Isolated table and foreign key constraint隔离表和外键约束
【发布时间】:2014-02-09 16:08:50
【问题描述】:

在为销售系统设计数据库时,我有两个问题。

  1. 是否可以有一个独立的表,即一个表与所有其他表没有关系?

  2. 如何解决以下问题:

    表:SalesOrderDetail,表:InventoryTrans

    SalesOrderDetail 中的每条记录都将插入InventoryTrans,但并非InventoryTrans 中的所有记录都来自SalesOrderDetail。因为其他表也可能在InventoryTrans中插入记录。

因此,我想在InventoryTrans 表中添加引用列SalesOrderDetailID,但不指定FK 约束。因为如果记录不是来自SalesOrderDetail 表,那么SalesOrderDetailID 应该为空。

这是正确的设计吗?

【问题讨论】:

  • 欢迎来到Stack Overflow!请在每个帖子中提出一个问题,以便您可以有条理地回答。您也可以参考How to Ask 获取更多建议。

标签: sql-server database database-design


【解决方案1】:

是的,您可以拥有一个没有对其他表的外键引用的表。存储各种配置设置的表可能是最常见的,但还有其他的。

InventoryTrans.SalesOrderDetailID 列可以是可为空的外键引用。但是您没有提供足够的细节来判断这是否是一个好的设计决策。做出有根据的猜测,我会说可能不会。 (其他类型的事务可能会受益于外键引用。)

【讨论】:

    猜你喜欢
    • 2019-02-20
    • 2013-07-03
    • 2014-06-23
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 2019-03-27
    相关资源
    最近更新 更多