示例:包含不同金属(密度,颜色,熔点等)的名称和属性的数据库,我可能已经从一个来源(网站,书籍,…)找到了密度值,从另一个来源找到了熔点,我想使其可从任何给定值的来源检索。
简单的解决方案是为所有属性创建一个列"密度"和一个列"密度源"等等,但这似乎是一个非常冗长的解决方法。是的,"密度源"可以是一个简单的整数,另一个表拼出源。
从某种意义上说,我希望在字段中添加类似脚注的东西。
困难的答案是,您不会得到任何比source
表更繁琐的东西,然后为每个信息位链接到每个源。
你能做的是为你的密度、颜色、熔点等创建可能的源矩阵,然后为它分配一个通用的"SourceKey",这样你就只需要在实际的属性表上存储一个源。然后,为了得到密度源,你可以这样做:
select
s.SourceName as DensitySource,
m.*
from
metals m
inner join SourceMatrix sm on
m.SourceKey = sm.SourceKey
inner join Source s on
sm.DensitySourceKey = s.SourceKey
这完全取决于你可以有多少种组合,以及这种组合是否有效。数据库存储关系,但不存储沿袭。
如果你想标记整个列,你可以使用SQL Server的扩展属性或MySQL的COMMENT选项。这些都在数据库的关系设计之外
如果你想标记每列和每行,添加另一个列,因为它是相关的数据存储在模型