MySql对象链接
我的问题可能很简单,但我不确定什么是最好的答案 我有一个表(对象1),它需要与两个不同的表(其他对象)关联。所以我看到了两种方法。创建一个包含以下内容的链接表: LNKObject 1对象MySql对象链接,mysql,database,database-design,Mysql,Database,Database Design,我的问题可能很简单,但我不确定什么是最好的答案 我有一个表(对象1),它需要与两个不同的表(其他对象)关联。所以我看到了两种方法。创建一个包含以下内容的链接表: LNKObject 1对象 lnkObjectObjectId-PK object1Id-FK(必填字段) object2Id-FK(非必填字段) object3Id-FK(非必填字段) object4Id-FK(非必填字段) 因此,在本例中,只填写字段object1Id,但只填写字段object2-4Id中的一个 我看到的第二个解
- lnkObjectObjectId-PK
- object1Id-FK(必填字段)
- object2Id-FK(非必填字段)
- object3Id-FK(非必填字段)
- object4Id-FK(非必填字段)
- lnkObject1Object2Id-PK
- 目标1-FK(必需)
- 目标2-FK(必需)
- lnkObject1Object3Id
- PK目标1 FK(必需)
- 目标3-FK(必需)
- lnkObject1Object4Id
- PK目标1-FK(必需)
- 目标4-FK(必需)
我赞成第一种选择,因为对于编程来说这可能更容易,但是对于数据库设计来说,第二种解决方案更好。我是否错过了其他伟大的解决方案?还是有一个大的论据可以用来支持其中一个 您可以创建一个带有类型列的表,以维护与对象1链接的所有对象,如下所示
这将非常理想,因为数据库中没有空值。是的,这是可能的,但是您不能在otherObjectId列上创建外键,因为它可以映射到多个表