假设我有这个数据库表:
现金
检查
卡
交易
Transaction.Type 会存储什么类型的交易,无论是Cash(1),Check(2)还是Card(3)。 Transaction.TypeID 会存储交易类型的主键;如果 Transaction.Type 为1,则会存储 Cash.ID ,如果存储 Cheque.ID 则为2,如果存储 Card.ID 即可。
如何为 Transaction.TypeID 定义外键约束,以确保现金,检查和的参照完整性卡表?
我可以为3个父表创建一个计算列,如下所示:
现金
检查
卡
然后使用父表的 ID 和 TransactionType 创建外键。是否有另一种方法可以在不添加新表或显着更改表的架构的情况下执行此操作?