mysql – 在关系数据库中存储’元数据’的正确方法是什么?

我有一个名为assets的表,其中资产可以属于用户,团队或部门,并且可能属于每个资产的多个.我的问题是资产是高度可变的,并且可以具有与它们相关联的属性,每个属性都不同.

恩.这些可能是资产:

1.)
type:workbench
cost:200
vendor:Acme Co.
color:black
2.)
type:microscope
serial_no:BH-00102
purchase_date:1337800923
cost:2040

这可能会持续数百到数千种不同类型的资产.

如何在不添加我的表的情况下每次添加新的资产类型时,如何以易于查询的标准化方式存储此类数据?一些领域也是所有资产的现状,例如成本.

到目前为止,我认为我应该:

assets
id,cost,purchase_date,asset_type_id

asset_types
id,name

division_assets
division_id,asset_id

user_assets
user_id,asset_id

但我不知道在哪里放置不同的数据

解决方法:

我建议这样:

assets (

   id
   asset_type_id
   vendor_id
   cost
   purchase_date

)

asset_poperties (

    id
    asset_id
    asset_property_type_id
    value

)

asset_property_types (

     id
     property_type

)

asset_types (

   id
   asset_type

)

vendors (

   id
   vendor

)
上一篇:这是MySQL加入吗?


下一篇:unix/linux环境中Oracle RAC OFF和RAC ON