SQL:一个外键引用多个表之一中的主键

cbp*_*cbp 0 sql database foreign-keys relationship

我正在开发一个应用程序,它将用作其他应用程序的可扩展框架.

其中一个基本类称为Node,而Nodes具有Content.SQL表看起来像这样:

TABLE节点(NodeId int,....等)

TABLE NodeContentRelationship(NodeId int,ContentType string,ContentId int)

扩展应用程序的开发人员将创建自己的内容类型.

显然,从关系数据库的角度来看,这是不好的,因为无法向NodeContentRelationship.ContentId添加外键关系,即使它外键列.

但是,解决方案非常简单和强大,所以我不愿意改变它.

你觉得怎么样 - 我是否在追寻一个痛苦的世界?

Ben*_*voy 8

注意内部平台效应.

如果您正在尝试构建一个"可扩展框架",允许开发人员存储不同"内容类型"的数据并以通用方式将它们相互关联,您可能会发现其他人已经解决了 这个 问题.