我正在创建一个涉及上传的系统。现在这些上传需要附加到一种方式的东西,例如。一条消息、一份合同、一个项目
可以为附件创建一个表,然后将它们链接到这些类型吗?需要注意的是,它需要链接到每种类型的单个id。
例如:在附件表中
type -指向包含消息约定等列表的表的链接
id。-类型的id #,因此如果类型是message,则它将引用message.id,如果它是协定,则它将引用contract.id
但是就没有外键检查了?但是它看起来很奇怪,必须做外键。
type
message_id (FK)
contract_id (FK)
project_id (FK)编辑:有比3多几个表,比如5-6个,也许将来也会有更多。
发布于 2012-08-02 13:23:35
我会推荐:
示例:
这样,您就可以拥有所有的数据库完整性约束,而不会有未使用的列。
发布于 2012-08-02 13:23:37
在我看来,具有指向各自表的外键的三个NULLable字段是最明智的方法。
此外,如果你有三个外键字段,你甚至不需要存储"type",因为它是由非空的外键字段决定的。
https://stackoverflow.com/questions/11771342
复制相似问题