应与多个父键关联的外键

时间:2013-06-26 11:16:19

标签: database-design relational-database

我面临以下数据库设计问题。 我有三个存储资产信息的表和一个用于退休资产的表。

车辆

ID. Primary key
Name.
Model.
Manufacture_year.
Manufacture _name.
Engine _size.
Price.

IT

ID. Primary key
Name.
Type.
Operating_system.
License_size.
price.

家具

ID. Primary key
Name.
Type.
Color.
price

retired_asset

    Asset_ID.  // I need to link this colum to the ID column for either the vehicle, IT or furniture table.
    Retired_reason.
    Date

所以我有以下两个问题: -

  1. 由于每个资产都有不同的列和不同的业务逻辑。那么我的方法是将每种资产类型存储在单独的表中吗?

  2. retired_asset表格中,如何将foreign_key asset_id链接到车辆,IT或家具表中的ID列?

  3. 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Vehicle,IT和Furniture实际上是“Asset”类的子类。

使用方法与共享主键相结合,您可能会受益。您可以通过访问标签并单击信息来获取详细信息。

通过这种方式实现的最大优势是外键始终可以引用Asset表,但也可以通过共享主键的魔力引用其中一个子类表。

设置它需要做一些工作。在你的情况下,我推荐它。