【发布时间】:2012-12-10 23:00:33
【问题描述】:
在我们的数据库项目中,我们有一个表 Sale,它有一个主键和两个独占外键:Vehicle_ID 和 Piece_ID。例如,如果我们出售一辆车,我们需要 Vehicle_ID 作为外键,但不需要 Piece_ID。我们可以将 NULL 设置为 Piece_ID,外键可以为空吗?或者有没有办法完成这项工作?
谢谢。
【问题讨论】:
-
当然,外键可以为空。但是,您的表结构看起来有些不稳定。你想达到什么目的?
-
考虑审查您的设计。这种设计给您的灵活性很小。一个好的设计不会给你这种情况。在网上查找“数据库规范化”
-
@Lion 我想在我们的自动图库项目中一次出售一辆车或一件,而不是两者兼而有之。但是,我很困惑,因为外键是另一个的主键表。我应该将销售分开为 VehicleSale 和 PieceSale 还是其他不同的东西。
标签: sql oracle database-design foreign-keys data-integrity