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