【发布时间】:2014-08-05 12:26:08
【问题描述】:
我正在 SQL 表中寻找一个约束,它只允许每行设置两个可为空的列之一。两列都是与不同表相关的外键。
例如,假设每个表格行描述一段旅程。我为Cars 和Planes 准备了一个单独的表格。
如果不重新设计我的整个数据库以使用 Vehicles 表,我如何确保每个旅程行由 任一 CarID 或 @987654325 完成@,但永远不会同时发生,也永远不会?
【问题讨论】:
-
重新设计使用车辆,你知道这是有道理的!
-
呵呵,确实如此,可惜时间不在我这边。我必须说服管理层给我一些重构时间!
-
我要告诉规范化警察!
标签: sql-server database-design sql-server-2008-r2