示例:一个包含不同金属的名称和特性(密度、颜色、熔点等)的数据库,我可能在其中找到了来自一个来源(网站、书籍、...)的密度值和来自另一个来源的熔点我想让它可以从任何给定值的来源中检索。
简单的解决方案是为所有属性创建一个“密度”列和一个“密度源”列等等,但这似乎是解决这个问题的一种非常冗长的方法。是的,“密度源”可以是一个简单的整数,另一个表格说明了源。
从某种意义上说,我希望在字段中添加类似脚注的内容。
艰难的答案是,您不会得到任何比拥有一张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选项。这些是数据库关系设计的“外部”
如果要标记每列和每行,请添加另一列,因为它是要存储在模型中的相关数据