我可以从两个表中分配一个外键吗?

本文关键字:一个 两个 我可以 分配 | 更新日期: 2023-09-27 18:13:03

我正在创建一个类似于以下情况的数据库。

Table1:

CustomerType1 (Column: CustomerId,…)

表:

CustomerType2 (Column: CustomerId,…)

表3:

Orders (Columns: OrderId, CustomerId…)

现在,我如何将orders表的customerId与CustomerType1和CustomerType2表的customerId列关联起来?

(我正在一个windows手机应用程序上工作,所以如果你能帮助我在创建类似于上述情况的数据库中使用的属性比它将是有帮助的)

谢谢

我可以从两个表中分配一个外键吗?

您的数据库应该由4个表组成:

 - Customer(CustomerId, common stuff to all customers)
 - CustomerType1(CustomerId, specific stuff to type 1 customers)
 - CustomerType2(CustomerId, specific stuff to type 2 customers)
 - Orders(OrderId, CustomerId, other order stuff)

表列CustomerType1.CustomerIdCustomerType2.CustomerId通过Customer.CustomerId列提供对Customer表的引用。还可以通过使用Orders.CustomerIdCustomer.CustomerId列来实现对Orders表和Customer表的引用。

为了清晰起见,表CustomerType1CustomerType2Orders都有一个外键约束,如下所示:

FOREIGN KEY (CustomerId) REFERENCES Customer(CustomerId)