是否有一种将字段链接到另一个字段的智能方法?

时间:2011-12-16 18:15:55

标签: sql footnotes

示例:包含不同金属的名称和属性(密度,颜色,熔点等)的数据库,我可能从一个来源(网站,书籍,...)和熔化中找到了密度值指向另一个,我想让它可以从任何给定值来源的哪个来源检索。

简单的解决方案是为所有属性创建一个列'Density'和一列'Density Source'等等,但这似乎是解决这个问题的一种非常冗长的方法。是的,'密度源'可以是一个简单的整数,另一个表拼写出来源。

从某种意义上说,我希望在字段中添加类似脚注的内容。

2 个答案:

答案 0 :(得分:0)

严峻的答案是,你不会得到任何比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

这完全取决于你可以拥有多少种组合以及这种组合是否有效。数据库存储关系,但不存储谱系。

答案 1 :(得分:0)

如果要标记整个列,可以使用SQL Server的extended propertiesMySQL COMMENT选项。这些是数据库关系设计的“外部”

如果要标记每列和每行,请添加另一列,因为要存储在模型中的相关数据