我有一张名为assets
的表,其中资产可以属于用户,团队或部门,并且可能属于各自的多个部分。我的问题是,资产是高度可变的,并且可以具有与它们相关的属性,每个属性都不相同。什么是在关系数据库中存储'元数据'的正确方法?
ex。这些可能是资产:
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
,但我不知道在哪里把那个变化
是一个属性可以与数量的资产? – 2013-02-17 07:40:31
有些属性适用于所有资产,但其他属性不适用于单个资产类型。 – Ethan 2013-02-17 07:41:16
你打算去搜索那些变量属性吗?另外,请阅读[EAV](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model) – 2013-02-17 07:53:55